From af3771ad8cfb2fd38299967b2e3c2dd9da9c6dd9 Mon Sep 17 00:00:00 2001 From: Alex Date: Sun, 6 Jul 2025 00:36:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=B0=D1=88=D0=B5=20=D1=81=D0=BE=D0=BE?= =?UTF-8?q?=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B8=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile.agent | 6 - backend/Dockerfile | 50 +- backend/app.js | 2 - backend/cloudflaredEnv.js | 15 - .../024_create_ipfs_publications.sql | 6 - .../041_create_cloudflare_settings.sql | 7 - .../042_create_cloudflare_settings.sql | 1 - .../043_create_cloudflare_settings.sql | 1 - backend/logs/combined.log | 1563 +++++++++++++++++ backend/logs/error.log | 297 ++++ backend/package.json | 1 - backend/routes/auth.js | 3 +- backend/routes/cloudflare.js | 700 -------- backend/scripts/cleanup-sessions.js | 23 + backend/services/session-service.js | 119 +- backend/utils/cloudflaredCompose.js | 38 - backend/yarn.lock | 259 +-- cloudflared-agent.js | 17 - cloudflared.env | 2 - docker-compose.yml | 8 +- .../src/components/CloudflareDnsManager.vue | 559 ------ frontend/src/router/index.js | 8 +- .../src/views/settings/DomainConnectBlock.vue | 115 -- .../Interface/CloudflareDetailsView.vue | 346 ---- .../Interface/InterfaceSettingsView.vue | 57 +- frontend/yarn.lock | 464 +++-- md/CLOUDFLARED_TROUBLESHOOTING.md | 839 --------- package.json | 3 +- scripts/README.md | 247 +++ scripts/migrate-app.sh | 245 +++ scripts/update-dns.sh | 250 +++ yarn.lock | 850 +++++++++ 32 files changed, 3935 insertions(+), 3166 deletions(-) delete mode 100644 Dockerfile.agent delete mode 100644 backend/cloudflaredEnv.js delete mode 100644 backend/db/migrations/024_create_ipfs_publications.sql delete mode 100644 backend/db/migrations/041_create_cloudflare_settings.sql delete mode 100644 backend/db/migrations/042_create_cloudflare_settings.sql delete mode 100644 backend/db/migrations/043_create_cloudflare_settings.sql delete mode 100644 backend/routes/cloudflare.js create mode 100644 backend/scripts/cleanup-sessions.js delete mode 100644 backend/utils/cloudflaredCompose.js delete mode 100644 cloudflared-agent.js delete mode 100644 cloudflared.env delete mode 100644 frontend/src/components/CloudflareDnsManager.vue delete mode 100644 frontend/src/views/settings/DomainConnectBlock.vue delete mode 100644 frontend/src/views/settings/Interface/CloudflareDetailsView.vue delete mode 100644 md/CLOUDFLARED_TROUBLESHOOTING.md create mode 100644 scripts/README.md create mode 100755 scripts/migrate-app.sh create mode 100755 scripts/update-dns.sh diff --git a/Dockerfile.agent b/Dockerfile.agent deleted file mode 100644 index 79f83cf..0000000 --- a/Dockerfile.agent +++ /dev/null @@ -1,6 +0,0 @@ -FROM node:18-alpine -WORKDIR /app -COPY cloudflared-agent.js . -RUN yarn add express -RUN apk add --no-cache docker-cli docker-compose -CMD ["node", "cloudflared-agent.js"] \ No newline at end of file diff --git a/backend/Dockerfile b/backend/Dockerfile index 403675d..1f86e2e 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,48 +1,26 @@ -FROM node:20-bookworm as nodebase - -FROM ubuntu:24.04 +FROM node:20-bookworm WORKDIR /app -# Устанавливаем зависимости, включая Python для node-gyp -RUN apt-get update && apt-get install -y \ - python3 make g++ cmake openssl libssl-dev \ - ca-certificates curl gnupg lsb-release \ - build-essential python3-dev libc6-dev \ - && rm -rf /var/lib/apt/lists/* +# Устанавливаем только docker-cli (без демона) +RUN apt-get update && \ + apt-get install -y ca-certificates curl gnupg lsb-release && \ + install -m 0755 -d /etc/apt/keyrings && \ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \ + chmod a+r /etc/apt/keyrings/docker.gpg && \ + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ + $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \ + tee /etc/apt/sources.list.d/docker.list > /dev/null && \ + apt-get update && \ + apt-get install -y docker-ce-cli && \ + rm -rf /var/lib/apt/lists/* -# Устанавливаем Node.js 20 и yarn -RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ - apt-get install -y nodejs && \ - npm install -g yarn - -# Копируем libnode.so.109 из node:20-bookworm -COPY --from=nodebase /usr/lib/x86_64-linux-gnu/libnode.so.109 /usr/lib/x86_64-linux-gnu/libnode.so.109 - -# Устанавливаем node-gyp глобально -RUN npm install -g node-gyp - -# Копируем package.json и yarn.lock для установки зависимостей COPY package.json yarn.lock ./ - -# Устанавливаем зависимости RUN yarn install --frozen-lockfile -# ПРИНУДИТЕЛЬНО пересобираем hnswlib-node из исходников -RUN echo "Пересобираем hnswlib-node из исходников..." && \ - cd node_modules/hnswlib-node && \ - rm -rf build/ && \ - node-gyp rebuild --verbose - -# Проверяем версию libstdc++ и наличие нужного символа -RUN echo "Версия libstdc++:" && strings /lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX | tail -5 -RUN echo "Проверка GLIBCXX_3.4.32:" && strings /lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.32 || echo "GLIBCXX_3.4.32 not found" - -# Копируем остальные файлы проекта COPY . . -# Экспозим порт EXPOSE 8000 -# Команда запуска по умолчанию CMD ["yarn", "run", "dev"] \ No newline at end of file diff --git a/backend/app.js b/backend/app.js index 9cf3245..e299e7a 100644 --- a/backend/app.js +++ b/backend/app.js @@ -16,7 +16,6 @@ const userTagsRoutes = require('./routes/userTags'); const tagsInitRoutes = require('./routes/tagsInit'); const tagsRoutes = require('./routes/tags'); const ragRoutes = require('./routes/rag'); // Новый роут для RAG-ассистента -const cloudflareRoutes = require('./routes/cloudflare'); const monitoringRoutes = require('./routes/monitoring'); // Проверка и создание директорий для хранения данных контрактов @@ -192,7 +191,6 @@ app.use('/api/tags', tagsInitRoutes); app.use('/api/tags', tagsRoutes); app.use('/api/identities', identitiesRoutes); app.use('/api/rag', ragRoutes); // Подключаем роут -app.use('/api/cloudflare', cloudflareRoutes); app.use('/api/monitoring', monitoringRoutes); const nonceStore = new Map(); // или любая другая реализация хранилища nonce diff --git a/backend/cloudflaredEnv.js b/backend/cloudflaredEnv.js deleted file mode 100644 index 0c11453..0000000 --- a/backend/cloudflaredEnv.js +++ /dev/null @@ -1,15 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -function writeCloudflaredEnv({ tunnelToken, domain }) { - console.log('[writeCloudflaredEnv] tunnelToken:', tunnelToken, 'domain:', domain); - const envPath = path.join(__dirname, '../cloudflared.env'); - let content = ''; - if (tunnelToken) content += `TUNNEL_TOKEN=${tunnelToken}\n`; - if (domain) content += `DOMAIN=${domain}\n`; - console.log('[writeCloudflaredEnv] Writing to:', envPath, 'content:', content); - fs.writeFileSync(envPath, content, 'utf8'); - console.log('[writeCloudflaredEnv] File written successfully'); -} - -module.exports = { writeCloudflaredEnv }; \ No newline at end of file diff --git a/backend/db/migrations/024_create_ipfs_publications.sql b/backend/db/migrations/024_create_ipfs_publications.sql deleted file mode 100644 index 96b1c76..0000000 --- a/backend/db/migrations/024_create_ipfs_publications.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE IF NOT EXISTS ipfs_publications ( - id SERIAL PRIMARY KEY, - cid TEXT NOT NULL, - url TEXT NOT NULL, - published_at TIMESTAMP DEFAULT NOW() -); \ No newline at end of file diff --git a/backend/db/migrations/041_create_cloudflare_settings.sql b/backend/db/migrations/041_create_cloudflare_settings.sql deleted file mode 100644 index 385d791..0000000 --- a/backend/db/migrations/041_create_cloudflare_settings.sql +++ /dev/null @@ -1,7 +0,0 @@ -CREATE TABLE IF NOT EXISTS cloudflare_settings ( - id SERIAL PRIMARY KEY, - api_token TEXT, - tunnel_token TEXT, - domain TEXT, - updated_at TIMESTAMP DEFAULT NOW() -); \ No newline at end of file diff --git a/backend/db/migrations/042_create_cloudflare_settings.sql b/backend/db/migrations/042_create_cloudflare_settings.sql deleted file mode 100644 index 55d8132..0000000 --- a/backend/db/migrations/042_create_cloudflare_settings.sql +++ /dev/null @@ -1 +0,0 @@ - ALTER TABLE cloudflare_settings ADD COLUMN account_id TEXT; \ No newline at end of file diff --git a/backend/db/migrations/043_create_cloudflare_settings.sql b/backend/db/migrations/043_create_cloudflare_settings.sql deleted file mode 100644 index ec412a7..0000000 --- a/backend/db/migrations/043_create_cloudflare_settings.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE cloudflare_settings ADD COLUMN tunnel_id TEXT; \ No newline at end of file diff --git a/backend/logs/combined.log b/backend/logs/combined.log index 7d607c3..1740297 100644 --- a/backend/logs/combined.log +++ b/backend/logs/combined.log @@ -15437,3 +15437,1566 @@ {"level":"info","message":"GET /api/dle","timestamp":"2025-07-04T13:48:08.926Z"} {"level":"info","message":"No new messages found","timestamp":"2025-07-04T13:48:23.769Z"} {"level":"info","message":"No new messages found","timestamp":"2025-07-04T13:48:24.475Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-04T21:13:40.151Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-04T21:13:40.154Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-04T21:13:40.154Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-04T21:13:40.155Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-04T21:13:40.155Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-04T21:13:40.156Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-04T21:13:40.187Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-04T21:13:40.208Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-04T21:13:40.264Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-04T21:13:40.266Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:13:41.211Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:13:41.218Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:13:41.343Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:13:41.355Z"} +{"level":"info","message":"POST /api/chat/process-guest","timestamp":"2025-07-04T21:13:41.416Z"} +{"level":"info","message":"Processing guest messages for user 1 with guest ID 1751663617418-gdc7qdpf8","timestamp":"2025-07-04T21:13:41.419Z"} +{"level":"info","message":"Created mapping for guest ID 1751663617418-gdc7qdpf8 to user 1","timestamp":"2025-07-04T21:13:41.450Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:13:41.461Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:13:41.462Z"} +{"level":"info","message":"No guest messages found for guest ID 1751663617418-gdc7qdpf8","timestamp":"2025-07-04T21:13:41.464Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:13:41.493Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:13:41.498Z"} +{"level":"info","message":"Marked guest mapping as processed (no messages found) for guest ID 1751663617418-gdc7qdpf8","timestamp":"2025-07-04T21:13:41.498Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:13:41.521Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:13:41.523Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:13:41.535Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:13:41.537Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:13:41.552Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:13:41.557Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-07-04T21:13:43.622Z"} +{"level":"info","message":"GET /api/chat/history?offset=128&limit=30","timestamp":"2025-07-04T21:13:43.646Z"} +{"count":30,"level":"info","limit":30,"message":"Returning message history for user 1","offset":128,"timestamp":"2025-07-04T21:13:43.654Z","total":158} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:13:45.482Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-04T21:13:45.483Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 2","timestamp":"2025-07-04T21:13:58.811Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:13:59.334Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:13:59.336Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:14:03.550Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:14:12.170Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:14:12.175Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:14:42.233Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:14:42.239Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:15:06.570Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:15:12.845Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:15:12.849Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:15:43.173Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:15:43.176Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:16:13.279Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:16:13.537Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:16:13.544Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:16:43.834Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:16:43.839Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:17:19.858Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:17:20.297Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:17:20.305Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:17:44.513Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:17:44.533Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:18:11.508Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:18:11.512Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:18:30.223Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:18:36.231Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:18:36.234Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:18:36.263Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:18:36.267Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:18:36.288Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:18:36.292Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:18:36.313Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:18:36.316Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:18:36.329Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:18:36.331Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:18:36.343Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:18:36.344Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:18:36.348Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:18:36.351Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:19:06.710Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:19:06.713Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:19:36.844Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:19:37.012Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:19:37.018Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:20:07.431Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:20:07.434Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-07-04T21:20:31.379Z"} +{"level":"info","message":"GET /api/chat/history?offset=128&limit=30","timestamp":"2025-07-04T21:20:31.401Z"} +{"count":30,"level":"info","limit":30,"message":"Returning message history for user 1","offset":128,"timestamp":"2025-07-04T21:20:31.406Z","total":158} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:20:37.683Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:20:37.686Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.495Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 3)...","timestamp":"2025-07-04T21:20:44.495Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-07-04T21:20:53.571Z"} +{"level":"info","message":"GET /api/chat/history?offset=128&limit=30","timestamp":"2025-07-04T21:20:53.588Z"} +{"count":30,"level":"info","limit":30,"message":"Returning message history for user 1","offset":128,"timestamp":"2025-07-04T21:20:53.594Z","total":158} +{"level":"info","message":"[EmailBot] IMAP connect attempt 3","timestamp":"2025-07-04T21:20:54.495Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:20:54.967Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:20:54.969Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:20:55.543Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:21:08.095Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:21:08.101Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:21:19.742Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:21:19.758Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:21:19.813Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:21:19.821Z"} +{"level":"info","message":"POST /api/chat/process-guest","timestamp":"2025-07-04T21:21:19.848Z"} +{"level":"info","message":"Processing guest messages for user 1 with guest ID 1751664025118-tazkv68ya","timestamp":"2025-07-04T21:21:19.855Z"} +{"level":"info","message":"Created mapping for guest ID 1751664025118-tazkv68ya to user 1","timestamp":"2025-07-04T21:21:19.877Z"} +{"level":"info","message":"No guest messages found for guest ID 1751664025118-tazkv68ya","timestamp":"2025-07-04T21:21:19.888Z"} +{"level":"info","message":"Marked guest mapping as processed (no messages found) for guest ID 1751664025118-tazkv68ya","timestamp":"2025-07-04T21:21:19.895Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:21:19.900Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:21:19.913Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:21:19.926Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:21:19.927Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:21:19.935Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:21:19.939Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:21:19.953Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:21:19.957Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:21:19.969Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:21:19.971Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-07-04T21:21:21.287Z"} +{"level":"info","message":"GET /api/chat/history?offset=128&limit=30","timestamp":"2025-07-04T21:21:21.335Z"} +{"count":30,"level":"info","limit":30,"message":"Returning message history for user 1","offset":128,"timestamp":"2025-07-04T21:21:21.366Z","total":158} +{"level":"info","message":"GET /api/ipfs-caddy/status","timestamp":"2025-07-04T21:21:31.960Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:21:46.530Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:21:50.971Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:21:50.975Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:22:02.227Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:22:21.365Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:22:21.369Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:22:51.707Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:22:51.714Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:22:53.298Z"} +{"level":"info","message":"POST /api/ipfs-caddy/install","timestamp":"2025-07-04T21:23:06.757Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:23:08.919Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:23:22.028Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:23:22.031Z"} +{"level":"info","message":"POST /api/ipfs-caddy/install","timestamp":"2025-07-04T21:23:38.518Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:23:52.307Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:23:52.309Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-04T21:24:05.723Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-04T21:24:05.727Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-04T21:24:05.728Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-04T21:24:05.730Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-04T21:24:05.731Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-04T21:24:05.731Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-04T21:24:05.764Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-04T21:24:05.775Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-04T21:24:05.826Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-04T21:24:05.826Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:24:09.970Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:24:09.974Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:24:10.543Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-04T21:24:13.247Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-04T21:24:13.250Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-04T21:24:13.250Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-04T21:24:13.251Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-04T21:24:13.251Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-04T21:24:13.252Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-04T21:24:13.273Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-04T21:24:13.281Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-04T21:24:13.329Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-04T21:24:13.330Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:24:13.898Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:24:13.900Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-04T21:24:19.689Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-04T21:24:19.694Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-04T21:24:19.694Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-04T21:24:19.695Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-04T21:24:19.695Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-04T21:24:19.696Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-04T21:24:19.720Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-04T21:24:19.731Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-04T21:24:19.776Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-04T21:24:19.777Z"} +{"level":"info","message":"GET /api/ipfs-caddy/status","timestamp":"2025-07-04T21:24:28.338Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:24:28.352Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-04T21:24:28.353Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:24:37.029Z"} +{"cookie":{"expires":"2025-08-03T21:24:37.022Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"fab2b10236b712e62c37725adf0c245f","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-07-04T21:24:37.031Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-07-04T21:24:37.036Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 2","timestamp":"2025-07-04T21:24:38.353Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:24:38.839Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:24:38.842Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:24:39.453Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:25:17.007Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:25:17.018Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:25:19.225Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:25:19.227Z"} +{"level":"info","message":"POST /api/ipfs-caddy/install","timestamp":"2025-07-04T21:25:23.580Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-04T21:25:49.625Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-04T21:25:49.631Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-04T21:25:49.632Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-04T21:25:49.633Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-04T21:25:49.633Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-04T21:25:49.634Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-04T21:25:49.664Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-04T21:25:49.682Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-04T21:25:49.736Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-04T21:25:49.736Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:25:50.305Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:25:50.308Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:25:50.460Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:25:50.464Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:25:50.495Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:25:50.499Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:25:50.524Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:25:50.531Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:25:50.573Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:25:50.578Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:25:50.590Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:25:50.592Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:25:50.622Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:25:50.626Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:25:50.650Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:25:50.656Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:25:50.852Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:26:21.529Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:26:21.537Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:26:51.936Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:26:51.942Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:27:02.147Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-04T21:27:02.148Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:27:02.148Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:27:02.149Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 2","timestamp":"2025-07-04T21:27:15.487Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:27:15.984Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:27:15.985Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:27:16.553Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:27:22.258Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:27:22.261Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:27:52.541Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:27:52.545Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:28:04.206Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:28:22.926Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:28:22.930Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:27.860Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 3)...","timestamp":"2025-07-04T21:28:27.860Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:27.860Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:27.861Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:27.861Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:28:35.683Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:28:35.688Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:28:35.714Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:28:35.719Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:28:35.739Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:28:35.743Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:28:35.757Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:28:35.759Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:28:35.773Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:28:35.778Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:28:35.779Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:28:35.779Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:28:35.791Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:28:35.795Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 3","timestamp":"2025-07-04T21:28:37.861Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:43.060Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:29:06.767Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:29:06.771Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:29:10.786Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:29:10.788Z"} +{"level":"error","message":"Uncaught Exception: Not authenticated","stack":"Error: Not authenticated\n at Connection.openBox (/app/node_modules/imap/lib/Connection.js:409:11)\n at Connection. (/app/services/emailBot.js:105:19)\n at Object.onceWrapper (node:events:638:28)\n at Connection.emit (node:events:536:35)\n at Connection. (/app/node_modules/imap/lib/Connection.js:1623:12)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)","timestamp":"2025-07-04T21:29:10.790Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:29:14.994Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:29:29.821Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:29:37.095Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:29:37.099Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:30:07.427Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:30:07.429Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-04T21:30:17.484Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-04T21:30:21.482Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-04T21:30:21.484Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-04T21:30:21.485Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-04T21:30:21.485Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-04T21:30:21.485Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-04T21:30:21.486Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-04T21:30:21.503Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-04T21:30:21.510Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-04T21:30:21.539Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-04T21:30:21.540Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:30:22.071Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:30:22.073Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:30:30.493Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-04T21:30:30.493Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:30:30.494Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:30:37.708Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:30:37.712Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 2","timestamp":"2025-07-04T21:30:40.496Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:30:45.693Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 3)...","timestamp":"2025-07-04T21:30:45.694Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 3","timestamp":"2025-07-04T21:30:55.695Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-04T21:30:56.147Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-04T21:30:56.150Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:30:56.782Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:31:08.038Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:31:08.042Z"} +{"level":"info","message":"GET /api/ipfs-caddy/site-cid","timestamp":"2025-07-04T21:31:28.794Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:31:32.842Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:31:38.411Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:31:38.415Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:31:57.650Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:31:57.656Z"} +{"level":"info","message":"GET /api/ipfs-caddy/site-cid","timestamp":"2025-07-04T21:31:57.686Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:31:57.710Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:31:57.714Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-04T21:31:57.728Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:31:57.731Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:31:57.732Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-04T21:31:57.733Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:31:57.767Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:31:57.771Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:31:57.787Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:31:57.790Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:31:57.804Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:31:57.805Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:32:10.336Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:32:28.490Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:32:28.493Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:32:35.918Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:32:58.885Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:32:58.895Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:33:17.089Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:33:29.223Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:33:29.226Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:33:42.580Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:33:59.560Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:33:59.566Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:34:16.817Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:34:29.475Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:34:29.478Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.254Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:35:00.217Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:35:00.221Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:35:23.509Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:35:23.549Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:35:30.556Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:35:30.559Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:35:55.972Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:35:57.137Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:35:57.141Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:36:27.829Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:36:27.837Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:36:30.052Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:36:58.169Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:36:58.175Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:37:02.567Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:37:43.711Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-04T21:37:59.789Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-04T21:37:59.791Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-04T21:38:12.896Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T08:53:14.861Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T08:53:14.864Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T08:53:14.864Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T08:53:14.865Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T08:53:14.865Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T08:53:14.865Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T08:53:14.906Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T08:53:14.917Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T08:53:14.984Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T08:53:14.985Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T08:53:24.175Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-05T08:53:24.176Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 2","timestamp":"2025-07-05T08:53:28.104Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T08:53:35.086Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T08:53:35.088Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T08:53:39.968Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T08:54:39.172Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T08:55:45.126Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T08:56:54.465Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T08:57:23.270Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:57:23.318Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:57:23.381Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:57:23.388Z"} +{"level":"info","message":"POST /api/chat/process-guest","timestamp":"2025-07-05T08:57:23.444Z"} +{"level":"info","message":"Processing guest messages for user 1 with guest ID 1751705837366-mlyaejjdg","timestamp":"2025-07-05T08:57:23.448Z"} +{"level":"info","message":"Created mapping for guest ID 1751705837366-mlyaejjdg to user 1","timestamp":"2025-07-05T08:57:23.472Z"} +{"level":"info","message":"No guest messages found for guest ID 1751705837366-mlyaejjdg","timestamp":"2025-07-05T08:57:23.487Z"} +{"level":"info","message":"Marked guest mapping as processed (no messages found) for guest ID 1751705837366-mlyaejjdg","timestamp":"2025-07-05T08:57:23.492Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T08:57:23.527Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T08:57:23.535Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T08:57:23.536Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:57:23.552Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:57:23.701Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:57:23.708Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:57:23.730Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:57:23.737Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:57:23.761Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:57:23.765Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-07-05T08:57:24.896Z"} +{"level":"info","message":"GET /api/chat/history?offset=128&limit=30","timestamp":"2025-07-05T08:57:24.950Z"} +{"count":30,"level":"info","limit":30,"message":"Returning message history for user 1","offset":128,"timestamp":"2025-07-05T08:57:24.966Z","total":158} +{"level":"info","message":"GET /api/ipfs-caddy/site-cid","timestamp":"2025-07-05T08:57:31.723Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:57:54.185Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:57:54.189Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T08:57:59.370Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:58:21.471Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:58:21.474Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:58:51.942Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:58:51.947Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T08:59:05.289Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:59:22.179Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:59:22.182Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T08:59:52.199Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T08:59:52.202Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:00:10.462Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:00:22.501Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:00:22.505Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:00:52.868Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:00:52.875Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:01:12.150Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:01:54.205Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:01:54.207Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:02:21.504Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:02:55.586Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:02:55.605Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.719Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 3)...","timestamp":"2025-07-05T09:03:27.719Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 3","timestamp":"2025-07-05T09:03:37.725Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T09:03:42.383Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T09:03:42.385Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:03:43.509Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:03:56.920Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:03:56.939Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T09:04:32.829Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:04:32.829Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:04:32.829Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:04:53.116Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:04:55.757Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:04:55.760Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:05:24.892Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:05:24.899Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:05:34.330Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:05:34.424Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:05:34.518Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:05:54.571Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:05:54.578Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:05:58.665Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:05:58.666Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:06:22.587Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:06:22.590Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:06:43.823Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:06:52.857Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:06:52.875Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:07:03.898Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:07:03.996Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:07:04.082Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:07:23.011Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:07:23.014Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:07:48.919Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:07:53.269Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:07:53.272Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:08:05.628Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:08:23.531Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:08:23.535Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:08:53.771Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:08:53.775Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:08:54.498Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:09:10.923Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:09:23.990Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:09:23.994Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:09:59.716Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:10:19.864Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:10:19.868Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.492Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.492Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:11:01.574Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:11:01.705Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:11:20.340Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:11:20.344Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:11:25.271Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:12:06.907Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:12:20.759Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:12:20.764Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:12:31.430Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:12:31.431Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:12:31.432Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:12:31.432Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:13:06.474Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:13:06.481Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:13:12.239Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T09:13:12.306Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T09:13:23.092Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T09:13:23.096Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T18:40:55.556Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T18:40:55.560Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T18:40:55.561Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T18:40:55.563Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T18:40:55.563Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T18:40:55.564Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T18:40:55.619Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T18:40:55.633Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T18:40:55.705Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T18:40:55.707Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T18:40:56.389Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T18:40:56.396Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:40:56.999Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:42:07.336Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:43:10.335Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:44:16.975Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:45:27.430Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.929Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-05T18:46:34.930Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.930Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.930Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.931Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.931Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.931Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.931Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 2","timestamp":"2025-07-05T18:46:48.277Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T18:46:52.477Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T18:46:52.479Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:46:56.786Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:47:37.041Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:48:03.414Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:48:47.447Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:49:10.081Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:49:50.324Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:50:16.800Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:51:00.605Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:51:19.898Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:52:03.705Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:52:26.486Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.933Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 3)...","timestamp":"2025-07-05T18:53:14.934Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.935Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.935Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.937Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 3","timestamp":"2025-07-05T18:53:28.269Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T18:53:28.775Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T18:53:28.776Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:53:33.202Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:53:33.242Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:33.976Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:33.977Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:33.977Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:54:17.042Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:54:36.117Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:54:43.379Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:55:23.790Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:55:42.774Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:55:50.093Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:56:30.374Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:56:49.363Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:56:56.775Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:57:40.572Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:57:59.836Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:57:59.874Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.676Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.676Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.676Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.676Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.678Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.678Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:48.278Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:59:02.762Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:59:02.797Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:59:11.087Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:59:11.087Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T18:59:33.709Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T18:59:33.734Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T18:59:33.789Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T18:59:33.795Z"} +{"level":"info","message":"POST /api/chat/process-guest","timestamp":"2025-07-05T18:59:33.841Z"} +{"level":"info","message":"Processing guest messages for user 1 with guest ID 1751741967562-q98lrxw5d","timestamp":"2025-07-05T18:59:33.842Z"} +{"level":"info","message":"Created mapping for guest ID 1751741967562-q98lrxw5d to user 1","timestamp":"2025-07-05T18:59:33.863Z"} +{"level":"info","message":"No guest messages found for guest ID 1751741967562-q98lrxw5d","timestamp":"2025-07-05T18:59:33.871Z"} +{"level":"info","message":"Marked guest mapping as processed (no messages found) for guest ID 1751741967562-q98lrxw5d","timestamp":"2025-07-05T18:59:33.876Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T18:59:33.882Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T18:59:33.883Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T18:59:33.889Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T18:59:33.893Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T18:59:33.932Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T18:59:33.935Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T18:59:33.947Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T18:59:33.949Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T18:59:33.962Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T18:59:33.964Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-07-05T18:59:35.400Z"} +{"level":"info","message":"GET /api/chat/history?offset=128&limit=30","timestamp":"2025-07-05T18:59:35.431Z"} +{"count":30,"level":"info","limit":30,"message":"Returning message history for user 1","offset":128,"timestamp":"2025-07-05T18:59:35.441Z","total":158} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:59:53.968Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T18:59:54.006Z"} +{"level":"info","message":"GET /api/ipfs-caddy/site-cid","timestamp":"2025-07-05T18:59:58.489Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:00:04.297Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:00:04.300Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:00:09.419Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:00:16.789Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:00:31.315Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:00:31.317Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:01.557Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:01.558Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:01.558Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:01.558Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:01:01.877Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:01:01.881Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:01:19.881Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:01:19.921Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:01:19.966Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:20.679Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:20.679Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:01:32.214Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:01:32.217Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:02:02.546Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:02:02.549Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:02:08.281Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:02:27.341Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:02:27.342Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:02:32.885Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:02:32.888Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:03:03.433Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:03:03.486Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:03:14.921Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:03:33.555Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:03:33.593Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:03:33.633Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:03:33.673Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:03:33.711Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:03:33.749Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:03:34.104Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:03:34.104Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:03:44.198Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:03:44.216Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:04:03.882Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:04:03.886Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:04:17.094Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:04:34.224Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:04:34.228Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:04:40.182Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:04:40.226Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:04:40.711Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:04:40.712Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:04:40.712Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:05:14.434Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:05:14.438Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:05:24.137Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:05:46.917Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:05:47.002Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:05:47.493Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:05:47.494Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:05:47.494Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:06:15.076Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:06:15.082Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:06:34.498Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:06:49.925Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:06:53.796Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:07:12.422Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:07:12.426Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:07:37.609Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:07:56.884Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.642Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:08:13.097Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:08:13.103Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:08:48.023Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:08:48.072Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:09:07.145Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:09:07.198Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:09:07.514Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:09:07.515Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:09:07.515Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:09:13.783Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:09:13.793Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:09:55.004Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:10:14.238Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:10:14.239Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:10:14.384Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:10:14.389Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:10:57.765Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:10:57.801Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:10:57.855Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:10:57.921Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:11:15.073Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:11:15.077Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:11:16.657Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:11:24.583Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:11:24.587Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:11:24.588Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:12:04.353Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:12:04.442Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:12:12.434Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:12:12.438Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:12:27.413Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:12:27.510Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:12:27.512Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:12:27.512Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:12:27.513Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:13:10.856Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:13:13.093Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:13:13.096Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:13:30.047Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:13:37.637Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:14:13.774Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:14:13.777Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:14:20.976Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:14:36.595Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:14:43.467Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:15:14.440Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:15:14.447Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:15:27.335Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.485Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.486Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.487Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.487Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:16:15.101Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:16:15.107Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:16:30.919Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:16:31.011Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:16:31.064Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:16:53.668Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:16:53.726Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:16:54.457Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:16:54.458Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:16:54.458Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:17:12.438Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:17:12.441Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:17:41.916Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:17:45.239Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:17:45.244Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:18:00.784Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:18:00.784Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:18:03.201Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:18:03.206Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:18:33.543Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:18:33.549Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:18:44.807Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:18:44.899Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:18:44.991Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:18:45.083Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:19:03.819Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:19:03.824Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:19:07.422Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:19:07.423Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:19:07.423Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:19:50.918Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:20:05.431Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:20:05.436Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:20:10.126Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:20:17.463Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:20:57.008Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:21:03.658Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:21:03.670Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.991Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.992Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.992Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.992Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.993Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.993Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:22:05.203Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:22:05.209Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:22:08.085Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:22:08.121Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:22:08.156Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:22:27.243Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:22:27.280Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:22:27.568Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:22:27.568Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:22:27.569Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:23:07.346Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:23:07.350Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:23:10.628Z"} +{"level":"error","message":"IMAP connection error during check: write after end","timestamp":"2025-07-05T19:23:29.108Z"} +{"level":"error","message":"IMAP connection error during check: write after end","timestamp":"2025-07-05T19:23:29.108Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:23:33.743Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:23:33.824Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:24:08.347Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:24:08.356Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:24:21.217Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:24:40.124Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:24:40.309Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:24:40.889Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:24:40.890Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:24:40.890Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:24:40.890Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:25:09.926Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:25:09.929Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:25:28.668Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:25:42.955Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:25:43.002Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:25:50.177Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:26:11.491Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:26:11.498Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:26:33.918Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:26:49.859Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:26:57.186Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:27:09.746Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:27:09.758Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:27:40.726Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:27:56.649Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:28:00.238Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:28:11.498Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:28:11.501Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:28:47.732Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:29:06.521Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:29:06.612Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.497Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.497Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.499Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:29:12.829Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:29:12.833Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:29:54.538Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:30:10.165Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:30:14.111Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:30:14.402Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:30:14.413Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:30:57.652Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:31:15.078Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:31:15.081Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:31:16.911Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.682Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.682Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.682Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.682Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.683Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.683Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:32:04.366Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:32:04.458Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:32:12.393Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:32:12.397Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:32:23.316Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:32:31.089Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:32:31.090Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:32:31.090Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:33:13.104Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:33:13.122Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:33:14.523Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:33:14.667Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:33:33.543Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:33:33.652Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:33:34.415Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:33:34.415Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:33:34.416Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:34:13.732Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:34:13.736Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:34:21.303Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:34:40.859Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:34:40.861Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:34:40.861Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:35:14.408Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:35:14.412Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:35:24.471Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:35:24.568Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:35:24.664Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:35:43.350Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:35:47.182Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:35:57.471Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:35:57.477Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:36:01.610Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:36:01.628Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:36:32.174Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:36:32.180Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:35.004Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:35.008Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:35.009Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:35.009Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:54.176Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:54.177Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:37:12.435Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:37:12.438Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:37:40.788Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:37:40.826Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:37:40.865Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:37:40.906Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:37:44.165Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:37:44.170Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:37:59.957Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:38:00.033Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:38:00.883Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:38:00.884Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:38:00.886Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:38:03.186Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:38:03.189Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:38:33.534Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:38:33.538Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:38:47.804Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:39:03.742Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:39:07.138Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:39:13.742Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:39:13.746Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:39:55.053Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:39:55.053Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:39:55.053Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:39:55.053Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:40:14.258Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:40:14.259Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:40:14.390Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:40:14.394Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:40:57.888Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:40:57.931Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:40:57.971Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:40:58.010Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:41:15.077Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:41:15.081Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:41:16.984Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:41:20.578Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:08.418Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:08.419Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:08.419Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:08.419Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:42:12.372Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:42:12.388Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:27.622Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:27.623Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:43:11.230Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:43:11.321Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:43:11.413Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:43:11.504Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:43:13.080Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:43:13.085Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:43:34.383Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:43:34.385Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:43:34.385Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:44:13.755Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:44:13.761Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:44:21.795Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:44:37.245Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:44:37.413Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:44:37.460Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:44:37.544Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:44:44.785Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:44:44.786Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:45:14.427Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:45:14.431Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:45:24.841Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:45:25.119Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T19:45:31.289Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T19:45:31.294Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:45:47.637Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:45:47.638Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:45:47.638Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:46:35.188Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:46:50.211Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:46:50.307Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:46:50.358Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:46:50.467Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:46:57.364Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:47:41.684Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:47:41.684Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:47:41.685Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:47:56.382Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:47:56.439Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:48:00.107Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:48:47.493Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:49:03.368Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:49:06.813Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:49:50.822Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:50:13.481Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:50:13.727Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.449Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.451Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.451Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:51:01.463Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:51:16.535Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:51:24.074Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:52:04.270Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:52:23.363Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.318Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.319Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.320Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.320Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.320Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.320Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:53:10.645Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:53:10.688Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:53:33.130Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:53:33.218Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:53:34.200Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:53:34.201Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:53:34.201Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:54:17.215Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:54:36.307Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:54:43.480Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T19:55:27.554Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:09:48.334Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:09:48.338Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:09:48.338Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:09:48.339Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:09:48.339Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:09:48.339Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:09:48.388Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:09:48.398Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:09:48.469Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:09:48.471Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:09:53.299Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:09:53.302Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:09:54.496Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T21:10:49.087Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:10:49.109Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:10:49.242Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:10:49.248Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T21:10:49.312Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:10:49.315Z"} +{"level":"info","message":"POST /api/chat/process-guest","timestamp":"2025-07-05T21:10:49.371Z"} +{"level":"info","message":"Processing guest messages for user 1 with guest ID 1751749844008-be8p1lisl","timestamp":"2025-07-05T21:10:49.373Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:10:49.376Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:10:49.383Z"} +{"level":"info","message":"Created mapping for guest ID 1751749844008-be8p1lisl to user 1","timestamp":"2025-07-05T21:10:49.410Z"} +{"level":"info","message":"No guest messages found for guest ID 1751749844008-be8p1lisl","timestamp":"2025-07-05T21:10:49.419Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:10:49.425Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:10:49.429Z"} +{"level":"info","message":"Marked guest mapping as processed (no messages found) for guest ID 1751749844008-be8p1lisl","timestamp":"2025-07-05T21:10:49.433Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T21:10:49.445Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T21:10:49.447Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:10:49.453Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:10:49.461Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-07-05T21:10:51.027Z"} +{"level":"info","message":"GET /api/chat/history?offset=128&limit=30","timestamp":"2025-07-05T21:10:51.055Z"} +{"count":30,"level":"info","limit":30,"message":"Returning message history for user 1","offset":128,"timestamp":"2025-07-05T21:10:51.067Z","total":158} +{"level":"info","message":"GET /api/monitoring/health","timestamp":"2025-07-05T21:10:56.971Z"} +{"level":"info","message":"GET /api/monitoring/health","timestamp":"2025-07-05T21:11:04.230Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:11:04.793Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T21:11:14.596Z"} +{"cookie":{"expires":"2025-08-04T21:11:14.586Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"600d8290e5f2cb76687c378c4429473f","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-07-05T21:11:14.597Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-07-05T21:11:14.600Z"} +{"level":"info","message":"GET /api/dle","timestamp":"2025-07-05T21:11:16.285Z"} +{"level":"info","message":"GET /api/users/read-contacts-status","timestamp":"2025-07-05T21:11:17.987Z"} +{"level":"info","message":"GET /api/tags","timestamp":"2025-07-05T21:11:18.018Z"} +{"level":"info","message":"GET /api/users","timestamp":"2025-07-05T21:11:18.093Z"} +{"level":"info","message":"GET /api/users","timestamp":"2025-07-05T21:11:18.134Z"} +{"level":"info","message":"GET /api/messages/read-status","timestamp":"2025-07-05T21:11:18.186Z"} +{"level":"info","message":"GET /api/messages","timestamp":"2025-07-05T21:11:18.220Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:11:19.742Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:11:19.745Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:11:50.732Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:11:50.737Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:12:11.190Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:12:21.065Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:12:21.068Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:12:51.387Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:12:51.393Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:13:18.416Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:13:18.421Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.670Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:13:29.080Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:13:29.085Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:13:29.086Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:13:29.087Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:13:29.087Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:13:29.088Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:13:29.125Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:13:29.139Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:13:29.213Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:13:29.214Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:13:34.074Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:13:34.078Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:13:34.078Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:13:34.079Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:13:34.079Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:13:34.080Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:13:34.103Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:13:34.113Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:13:34.157Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:13:34.160Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:13:35.227Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:13:35.230Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:40.553Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-05T21:13:40.554Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:40.555Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:13:43.284Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:13:43.287Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:13:43.288Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:13:43.289Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:13:43.289Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:13:43.289Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:13:43.316Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:13:43.328Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:13:43.419Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:13:43.420Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:13:48.742Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:13:48.745Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:13:48.745Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:13:48.746Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:13:48.746Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:13:48.747Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:13:48.772Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:13:48.784Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:13:48.823Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:13:48.825Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:13:50.083Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:13:50.087Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:13:51.216Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:14:37.534Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:14:37.537Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:14:37.538Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:14:37.538Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:14:37.539Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:14:37.539Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:14:37.565Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:14:37.575Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:14:37.635Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:14:37.637Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:14:38.770Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:14:38.772Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:14:39.783Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:14:45.207Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:14:45.211Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:14:45.211Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:14:45.212Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:14:45.212Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:14:45.213Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:14:45.241Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:14:45.251Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:14:45.286Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:14:45.288Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:14:46.788Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:14:46.791Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:14:48.078Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:15:14.375Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:15:14.382Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:15:54.648Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:16:15.008Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:16:15.027Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:17:01.141Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:17:12.329Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:17:12.334Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:17:19.392Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:17:19.397Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:19.397Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:19.398Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:17:19.398Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:17:19.399Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:17:19.425Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:17:19.436Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:17:19.475Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:17:19.477Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:17:20.617Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:17:20.620Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:17:21.912Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:17:27.727Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:17:27.732Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:27.733Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:27.734Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:17:27.735Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:17:27.735Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:17:27.773Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:17:27.786Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:17:27.862Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:17:27.863Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:17:32.508Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:17:32.512Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:17:33.755Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:17:35.321Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:17:35.324Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:35.324Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:35.325Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:17:35.325Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:17:35.325Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:17:35.347Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:17:35.357Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:17:35.404Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:17:35.405Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:17:36.377Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:17:36.380Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:17:41.261Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:17:43.219Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:17:43.221Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:43.222Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:43.222Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:17:43.223Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:17:43.223Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:17:43.250Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:17:43.260Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:17:43.303Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:17:43.305Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:17:51.973Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:17:51.979Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:51.980Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:51.982Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:17:51.983Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:17:51.984Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:17:52.016Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:17:52.030Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:17:52.103Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:17:52.105Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:17:53.579Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:17:53.583Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:53.584Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:17:53.585Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:17:53.586Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:17:53.587Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:17:53.624Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:17:53.638Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:17:53.694Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:17:53.695Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:17:54.803Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:17:54.806Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:17:55.910Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:18:11.518Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:18:11.521Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:18:11.522Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:18:11.522Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:18:11.523Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:18:11.523Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:18:11.556Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:18:11.568Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:18:11.613Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:18:11.614Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:18:12.829Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:18:12.831Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:18:13.003Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:18:13.008Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:18:13.790Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:18:32.624Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:18:32.627Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:18:32.627Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:18:32.628Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:18:32.628Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:18:32.629Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:18:32.659Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:18:32.667Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:18:32.703Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:18:32.705Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:18:33.824Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:18:33.827Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:18:36.757Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:18:38.526Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:19:13.656Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:19:13.669Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:19:41.703Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:20:14.335Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:20:14.341Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:20:48.413Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T21:20:49.612Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:20:49.627Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:20:49.714Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:20:49.723Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T21:20:49.756Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:20:49.761Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T21:20:49.810Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T21:20:49.813Z"} +{"level":"info","message":"GET /api/users/read-contacts-status","timestamp":"2025-07-05T21:20:50.000Z"} +{"level":"info","message":"GET /api/tags","timestamp":"2025-07-05T21:20:50.029Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:20:50.109Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:20:50.117Z"} +{"level":"info","message":"GET /api/users","timestamp":"2025-07-05T21:20:50.132Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:20:50.156Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:20:50.163Z"} +{"level":"info","message":"GET /api/users","timestamp":"2025-07-05T21:20:50.193Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:20:50.202Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:20:50.217Z"} +{"level":"info","message":"GET /api/messages/read-status","timestamp":"2025-07-05T21:20:50.242Z"} +{"level":"info","message":"GET /api/messages","timestamp":"2025-07-05T21:20:50.273Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:21:21.314Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:21:21.325Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:21:51.608Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:21:51.614Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:21:58.581Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:22:21.973Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:22:21.978Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:22:52.289Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:22:52.299Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:23:01.360Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:23:05.153Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:23:19.276Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:23:19.287Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:23:49.641Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:23:49.656Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:24:08.513Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:24:19.957Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:24:19.969Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:24:50.264Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:24:50.282Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:25:14.974Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:25:20.678Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:25:20.682Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:25:41.879Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:25:51.019Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:25:51.037Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:26:16.199Z"} +{"level":"error","message":"[SessionService] Error cleaning session NNzFlSqL-TP1U2wa0GL9tgqO7QsdgZVB: Cannot use a pool after calling end on the pool","stack":"Error: Cannot use a pool after calling end on the pool\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SessionService.cleanupProcessedGuestIds (/app/services/session-service.js:295:13)\n at async cleanupSessions (/app/scripts/cleanup-sessions.js:8:20)","timestamp":"2025-07-05T21:26:16.251Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.952Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-05T21:26:25.953Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.955Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 2","timestamp":"2025-07-05T21:26:35.962Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:26:40.576Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:26:40.577Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:26:48.789Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:26:52.536Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:26:52.542Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:27:21.927Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:27:21.931Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:27:21.931Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:27:21.932Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:27:21.932Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:27:21.933Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:27:21.960Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:27:21.972Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:27:22.014Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:27:22.015Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:27:22.858Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:27:22.862Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:27:23.908Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:27:29.178Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:27:29.186Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:27:29.187Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:27:29.190Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:27:29.190Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:27:29.215Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:27:29.243Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:27:29.254Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:27:29.301Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:27:29.301Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:27:30.304Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:27:30.306Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:27:31.466Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:27:35.743Z"} +{"level":"info","message":"[SessionService] Found 16 sessions with processedGuestIds","timestamp":"2025-07-05T21:27:35.788Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:27:52.759Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:27:52.763Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:27:52.763Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:27:52.764Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:27:52.764Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:27:52.764Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:27:52.790Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:27:52.800Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:27:52.844Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:27:52.845Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:27:53.953Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:27:53.955Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:27:54.107Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:27:54.118Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:27:55.059Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:27:58.984Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:27:58.995Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:27:58.996Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:27:58.997Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:27:58.997Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:27:58.997Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:27:59.045Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:27:59.071Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:27:59.136Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:27:59.139Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:28:00.220Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:28:00.222Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:28:03.593Z"} +{"level":"info","message":"[SessionService] Found 16 sessions with processedGuestIds","timestamp":"2025-07-05T21:28:03.633Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:28:05.106Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:28:18.504Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:28:18.509Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:28:40.644Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:28:40.646Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:28:40.647Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:28:40.647Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:28:40.648Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:28:40.648Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:28:40.674Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:28:40.686Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:28:40.732Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:28:40.734Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:28:46.419Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:28:46.422Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:28:46.423Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:28:46.423Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:28:46.424Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:28:46.424Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:28:46.460Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:28:46.471Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:28:46.544Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:28:46.547Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:28:47.637Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:28:47.639Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:28:48.887Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:28:49.651Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:28:49.670Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:28:50.615Z"} +{"code":"42883","file":"parse_func.c","hint":"No function matches the given name and argument types. You might need to add explicit type casts.","length":224,"level":"error","line":"629","message":"[SessionService] Error during cleanup: function jsonb_set(json, unknown, jsonb) does not exist","name":"error","position":"37","routine":"ParseFuncOrColumn","severity":"ERROR","stack":"error: function jsonb_set(json, unknown, jsonb) does not exist\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SessionService.cleanupProcessedGuestIds (/app/services/session-service.js:285:22)\n at async cleanupSessions (/app/scripts/cleanup-sessions.js:8:20)","timestamp":"2025-07-05T21:28:50.654Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:29:02.745Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:29:02.749Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:29:02.750Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:29:02.752Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:29:02.753Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:29:02.755Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:29:02.783Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:29:02.794Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:29:02.874Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:29:02.876Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:29:10.135Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:29:10.139Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:29:10.140Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:29:10.143Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:29:10.144Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:29:10.146Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:29:10.189Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:29:10.219Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:29:10.279Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:29:10.282Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:29:11.099Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:29:11.103Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:29:12.677Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:29:17.372Z"} +{"code":"42883","file":"parse_oper.c","hint":"No operator matches the given name and argument types. You might need to add explicit type casts.","length":199,"level":"error","line":"647","message":"[SessionService] Error during cleanup: operator does not exist: json - unknown","name":"error","position":"42","routine":"op_error","severity":"ERROR","stack":"error: operator does not exist: json - unknown\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SessionService.cleanupProcessedGuestIds (/app/services/session-service.js:285:22)\n at async cleanupSessions (/app/scripts/cleanup-sessions.js:8:20)","timestamp":"2025-07-05T21:29:17.406Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:29:26.874Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:29:26.878Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:29:26.878Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:29:26.879Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:29:26.880Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:29:26.880Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:29:26.905Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:29:26.914Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:29:26.951Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:29:26.952Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:29:31.340Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:29:31.344Z"} +{"level":"info","message":"Директория существует: /app/contracts-data","timestamp":"2025-07-05T21:29:34.775Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data","timestamp":"2025-07-05T21:29:34.782Z"} +{"level":"info","message":"Директория существует: /app/contracts-data/dles","timestamp":"2025-07-05T21:29:34.783Z"} +{"level":"info","message":"Директория доступна для записи: /app/contracts-data/dles","timestamp":"2025-07-05T21:29:34.793Z"} +{"level":"info","message":"Директория существует: /app/temp","timestamp":"2025-07-05T21:29:34.794Z"} +{"level":"info","message":"Директория доступна для записи: /app/temp","timestamp":"2025-07-05T21:29:34.806Z"} +{"level":"info","message":"Ethers version: 6.13.5","timestamp":"2025-07-05T21:29:34.882Z"} +{"level":"info","message":"[EmailBot] start() called","timestamp":"2025-07-05T21:29:34.898Z"} +{"connTimeout":30000,"host":"mail.hostland.ru","keepalive":{"forceNoop":true,"idleInterval":300000,"interval":10000},"level":"info","message":"[EmailBot] IMAP config:","password":"***","port":993,"timestamp":"2025-07-05T21:29:34.988Z","tls":true,"tlsOptions":{"rejectUnauthorized":false},"user":"info@hb3-accelerator.com"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 1","timestamp":"2025-07-05T21:29:34.990Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:29:35.942Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:29:35.945Z"} +{"level":"info","message":"[SessionService] Starting cleanup of processedGuestIds from sessions","timestamp":"2025-07-05T21:29:39.664Z"} +{"level":"info","message":"[SessionService] Cleaned processedGuestIds from 16 sessions","timestamp":"2025-07-05T21:29:39.724Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:29:40.740Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:30:14.335Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:30:14.351Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:30:47.775Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:31:15.018Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:31:15.028Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:31:50.492Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:32:12.351Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:32:12.359Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:33:00.795Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:33:02.355Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:33:02.364Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T21:33:09.603Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:33:09.609Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:33:09.663Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:33:09.670Z"} +{"level":"info","message":"GET /api/users/read-contacts-status","timestamp":"2025-07-05T21:33:09.827Z"} +{"level":"info","message":"GET /api/tags","timestamp":"2025-07-05T21:33:09.859Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-07-05T21:33:09.906Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:33:09.917Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T21:33:09.921Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-07-05T21:33:09.923Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:33:09.939Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:33:09.971Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:33:10.006Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:33:10.011Z"} +{"level":"info","message":"GET /api/users","timestamp":"2025-07-05T21:33:10.015Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:33:10.034Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:33:10.046Z"} +{"level":"info","message":"GET /api/users","timestamp":"2025-07-05T21:33:10.065Z"} +{"level":"info","message":"GET /api/messages/read-status","timestamp":"2025-07-05T21:33:10.069Z"} +{"level":"info","message":"GET /api/messages","timestamp":"2025-07-05T21:33:10.099Z"} +{"level":"info","message":"GET /api/dle","timestamp":"2025-07-05T21:33:11.759Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-07-05T21:33:14.389Z"} +{"level":"info","message":"GET /api/chat/history?offset=128&limit=30","timestamp":"2025-07-05T21:33:14.443Z"} +{"count":30,"level":"info","limit":30,"message":"Returning message history for user 1","offset":128,"timestamp":"2025-07-05T21:33:14.451Z","total":158} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:33:40.624Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:33:40.638Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.008Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 2)...","timestamp":"2025-07-05T21:34:08.008Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.009Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.009Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.010Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.010Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.010Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:34:10.920Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:34:10.923Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 2","timestamp":"2025-07-05T21:34:18.010Z"} +{"level":"info","message":"[EmailBot] IMAP connection ready","timestamp":"2025-07-05T21:34:19.068Z"} +{"level":"info","message":"[EmailBot] Email bot started and IMAP connection initiated","timestamp":"2025-07-05T21:34:19.071Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:34:20.340Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:34:41.295Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:34:41.301Z"} +{"level":"info","message":"No new messages found","timestamp":"2025-07-05T21:35:10.447Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:35:11.360Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:35:11.369Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:31.211Z"} +{"level":"warn","message":"[EmailBot] IMAP reconnecting in 10 seconds (attempt 3)...","timestamp":"2025-07-05T21:35:31.212Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:31.212Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:31.212Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:31.213Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:35:41.950Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:35:41.954Z"} +{"level":"info","message":"[EmailBot] IMAP connect attempt 3","timestamp":"2025-07-05T21:35:44.566Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:50.053Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-07-05T21:36:12.301Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-07-05T21:36:12.304Z"} diff --git a/backend/logs/error.log b/backend/logs/error.log index 03201bb..8492aee 100644 --- a/backend/logs/error.log +++ b/backend/logs/error.log @@ -2116,3 +2116,300 @@ {"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T13:45:08.332Z"} {"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T13:45:08.332Z"} {"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T13:45:08.333Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:13:45.482Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.495Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:20:44.496Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:24:28.352Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:27:02.147Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:27:02.148Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:27:02.149Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:27.860Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:27.860Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:27.861Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:27.861Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:28:43.060Z"} +{"level":"error","message":"Uncaught Exception: Not authenticated","stack":"Error: Not authenticated\n at Connection.openBox (/app/node_modules/imap/lib/Connection.js:409:11)\n at Connection. (/app/services/emailBot.js:105:19)\n at Object.onceWrapper (node:events:638:28)\n at Connection.emit (node:events:536:35)\n at Connection. (/app/node_modules/imap/lib/Connection.js:1623:12)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)","timestamp":"2025-07-04T21:29:10.790Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-04T21:30:17.484Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:30:30.493Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:30:30.494Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:30:45.693Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.254Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-04T21:34:57.255Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T08:53:24.175Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.719Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:03:27.720Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T09:04:32.829Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:04:32.829Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:04:32.829Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:04:53.116Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:05:58.665Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:05:58.666Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:06:43.823Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.491Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.492Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:10:20.492Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:12:31.430Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:12:31.431Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:12:31.432Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T09:12:31.432Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.929Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.930Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.930Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.931Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.931Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.931Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:46:34.931Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.933Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.935Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.935Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.936Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:14.937Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:33.976Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:33.977Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:53:33.977Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.676Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.676Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.676Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.676Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.677Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.678Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:00.678Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:58:48.278Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:59:11.087Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T18:59:11.087Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:01.557Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:01.558Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:01.558Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:01.558Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:20.679Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:01:20.679Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:02:08.281Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:02:27.341Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:02:27.342Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:03:14.921Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:03:34.104Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:03:34.104Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:04:40.711Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:04:40.712Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:04:40.712Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:05:46.917Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:05:47.002Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:05:47.493Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:05:47.494Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:05:47.494Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.642Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:08:04.643Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:09:07.514Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:09:07.515Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:09:07.515Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:09:55.004Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:10:14.238Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:10:14.239Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:11:24.583Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:11:24.587Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:11:24.588Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:12:27.512Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:12:27.512Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:12:27.513Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.485Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.486Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.487Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.487Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:15:47.488Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:16:54.457Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:16:54.458Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:16:54.458Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:17:41.916Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:18:00.784Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:18:00.784Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:19:07.422Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:19:07.423Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:19:07.423Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.991Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.992Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.992Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.992Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.993Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:21:20.993Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:22:27.568Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:22:27.568Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:22:27.569Z"} +{"level":"error","message":"IMAP connection error during check: write after end","timestamp":"2025-07-05T19:23:29.108Z"} +{"level":"error","message":"IMAP connection error during check: write after end","timestamp":"2025-07-05T19:23:29.108Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:24:40.124Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:24:40.309Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:24:40.889Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:24:40.890Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:24:40.890Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:24:40.890Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:25:28.668Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:29:06.521Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:29:06.612Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.497Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.497Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.498Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:29:07.499Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.682Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.682Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.682Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.682Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.683Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:31:24.683Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:32:31.089Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:32:31.090Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:32:31.090Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:33:33.543Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:33:34.415Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:33:34.415Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:33:34.416Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:34:40.859Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:34:40.861Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:34:40.861Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:35.004Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:35.008Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:35.009Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:35.009Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:54.176Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:36:54.177Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:37:59.957Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:38:00.033Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:38:00.883Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:38:00.884Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:38:00.886Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:39:55.053Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:39:55.053Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:39:55.053Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:39:55.053Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:40:14.258Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:40:14.259Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:08.418Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:08.419Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:08.419Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:08.419Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:27.622Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:42:27.623Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:43:34.383Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:43:34.385Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:43:34.385Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:44:21.795Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:44:44.785Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:44:44.786Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:45:47.637Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:45:47.638Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:45:47.638Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:46:35.188Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:47:41.684Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:47:41.684Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:47:41.685Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:50:13.481Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:50:13.727Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.449Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.450Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.451Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:50:14.451Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.318Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.319Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.320Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.320Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.320Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:52:31.320Z"} +{"level":"error","message":"Uncaught Exception: Cannot set properties of undefined (setting 'name')","stack":"TypeError: Cannot set properties of undefined (setting 'name')\n at Connection. (/app/node_modules/imap/lib/Connection.js:431:22)\n at Connection._resTagged (/app/node_modules/imap/lib/Connection.js:1535:22)\n at Parser. (/app/node_modules/imap/lib/Connection.js:194:10)\n at Parser.emit (node:events:524:28)\n at Parser._resTagged (/app/node_modules/imap/lib/Parser.js:175:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:139:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)","timestamp":"2025-07-05T19:53:33.130Z"} +{"level":"error","message":"Uncaught Exception: Cannot read properties of undefined (reading 'type')","stack":"TypeError: Cannot read properties of undefined (reading 'type')\n at Connection._resUntagged (/app/node_modules/imap/lib/Connection.js:1265:52)\n at Parser. (/app/node_modules/imap/lib/Connection.js:191:10)\n at Parser.emit (node:events:524:28)\n at Parser._resUntagged (/app/node_modules/imap/lib/Parser.js:271:10)\n at Parser._parse (/app/node_modules/imap/lib/Parser.js:137:16)\n at Parser._tryread (/app/node_modules/imap/lib/Parser.js:82:15)\n at Parser._cbReadable (/app/node_modules/imap/lib/Parser.js:53:12)\n at TLSSocket.emit (node:events:524:28)\n at emitReadable_ (node:internal/streams/readable:834:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:81:21)","timestamp":"2025-07-05T19:53:33.218Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:53:34.200Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:53:34.201Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:53:34.201Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T19:55:47.542Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.670Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:18.671Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:40.553Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:13:40.555Z"} +{"level":"error","message":"[SessionService] Error cleaning session NNzFlSqL-TP1U2wa0GL9tgqO7QsdgZVB: Cannot use a pool after calling end on the pool","stack":"Error: Cannot use a pool after calling end on the pool\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SessionService.cleanupProcessedGuestIds (/app/services/session-service.js:295:13)\n at async cleanupSessions (/app/scripts/cleanup-sessions.js:8:20)","timestamp":"2025-07-05T21:26:16.251Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.952Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.954Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:26:25.955Z"} +{"level":"error","message":"[SessionService] Error preparing update for session NNzFlSqL-TP1U2wa0GL9tgqO7QsdgZVB: Cannot use a pool after calling end on the pool","stack":"Error: Cannot use a pool after calling end on the pool\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/services/session-service.js:303:34\n at async Promise.allSettled (index 0)\n at async SessionService.cleanupProcessedGuestIds (/app/services/session-service.js:319:29)\n at async cleanupSessions (/app/scripts/cleanup-sessions.js:8:20)","timestamp":"2025-07-05T21:28:03.634Z"} +{"code":"42883","file":"parse_func.c","hint":"No function matches the given name and argument types. You might need to add explicit type casts.","length":224,"level":"error","line":"629","message":"[SessionService] Error during cleanup: function jsonb_set(json, unknown, jsonb) does not exist","name":"error","position":"37","routine":"ParseFuncOrColumn","severity":"ERROR","stack":"error: function jsonb_set(json, unknown, jsonb) does not exist\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SessionService.cleanupProcessedGuestIds (/app/services/session-service.js:285:22)\n at async cleanupSessions (/app/scripts/cleanup-sessions.js:8:20)","timestamp":"2025-07-05T21:28:50.654Z"} +{"code":"42883","file":"parse_oper.c","hint":"No operator matches the given name and argument types. You might need to add explicit type casts.","length":199,"level":"error","line":"647","message":"[SessionService] Error during cleanup: operator does not exist: json - unknown","name":"error","position":"42","routine":"op_error","severity":"ERROR","stack":"error: operator does not exist: json - unknown\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SessionService.cleanupProcessedGuestIds (/app/services/session-service.js:285:22)\n at async cleanupSessions (/app/scripts/cleanup-sessions.js:8:20)","timestamp":"2025-07-05T21:29:17.406Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.008Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.009Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.009Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.010Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.010Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:34:08.010Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:31.211Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:31.212Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:31.212Z"} +{"level":"error","message":"IMAP connection error during check: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:31.213Z"} +{"level":"error","message":"[EmailBot] IMAP connection error: Timed out while authenticating with server","timestamp":"2025-07-05T21:35:50.053Z"} diff --git a/backend/package.json b/backend/package.json index 1649d0c..0d1907e 100644 --- a/backend/package.json +++ b/backend/package.json @@ -31,7 +31,6 @@ "@openzeppelin/contracts": "5.2.0", "archiver": "^7.0.1", "axios": "^1.8.4", - "cloudflare": "^4.4.1", "connect-pg-simple": "^10.0.0", "cookie": "^1.0.2", "cors": "^2.8.5", diff --git a/backend/routes/auth.js b/backend/routes/auth.js index 68de99e..c9ea87d 100644 --- a/backend/routes/auth.js +++ b/backend/routes/auth.js @@ -457,8 +457,7 @@ router.post('/telegram/init', async (req, res) => { // и получаем результат (код и ссылку на бота) const result = await initTelegramAuth(req.session); - // Логируем сессию перед сохранением - logger.info('[telegram/init] Session object before save:', req.session); + // Сохраняем сессию, чтобы guestId точно записался в базу данных await sessionService.saveSession(req.session); diff --git a/backend/routes/cloudflare.js b/backend/routes/cloudflare.js deleted file mode 100644 index c530042..0000000 --- a/backend/routes/cloudflare.js +++ /dev/null @@ -1,700 +0,0 @@ -const express = require('express'); -const router = express.Router(); -let Cloudflare; -try { - Cloudflare = require('cloudflare'); -} catch (e) { - console.warn('[Cloudflare] Cloudflare package not available:', e.message); - Cloudflare = null; -} -const db = require('../db'); -const fs = require('fs'); -const path = require('path'); -const { exec } = require('child_process'); -const dockerComposePath = path.join(__dirname, '../../docker-compose.cloudflared.yml'); -const { addCloudflaredToCompose } = require('../utils/cloudflaredCompose'); -const { writeCloudflaredEnv } = require('../cloudflaredEnv'); -const axios = require('axios'); -const credentialsDir = '/home/alex/DApp-for-Business/.cloudflared'; -const tunnelName = 'hb3-accelerator'; // или из настроек - -// --- Вспомогательные функции --- -async function getSettings() { - try { - const { rows } = await db.query('SELECT * FROM cloudflare_settings ORDER BY id DESC LIMIT 1'); - return rows[0] || {}; - } catch (e) { - console.error('[Cloudflare] Error getting settings:', e); - return {}; - } -} - -async function upsertSettings(fields) { - try { - const current = await getSettings(); - if (current.id) { - const updates = []; - const values = []; - let idx = 1; - for (const [k, v] of Object.entries(fields)) { - updates.push(`${k} = $${idx}`); - values.push(v); - idx++; - } - values.push(current.id); - await db.query(`UPDATE cloudflare_settings SET ${updates.join(', ')}, updated_at = NOW() WHERE id = $${idx}`, values); - } else { - const keys = Object.keys(fields); - const values = Object.values(fields); - await db.query(`INSERT INTO cloudflare_settings (${keys.join(',')}) VALUES (${keys.map((_,i)=>`$${i+1}`).join(',')})` , values); - } - } catch (e) { - console.error('[Cloudflare] Error upserting settings:', e); - throw e; - } -} - -function generateDockerCompose(tunnelToken) { - return `version: '3.8' -services: - cloudflared: - image: cloudflare/cloudflared:latest - command: tunnel --no-autoupdate run - environment: - - TUNNEL_TOKEN=${tunnelToken} - restart: unless-stopped -`; -} - -function runDockerCompose() { - return new Promise((resolve, reject) => { - exec(`docker-compose -f ${dockerComposePath} up -d cloudflared`, (err, stdout, stderr) => { - if (err) return reject(stderr || err.message); - resolve(stdout); - }); - }); -} - -function checkCloudflaredStatus() { - return new Promise((resolve) => { - exec('docker ps --filter "name=cloudflared" --format "{{.Status}}"', (err, stdout) => { - if (err) return resolve('not_installed'); - if (stdout.trim()) return resolve('running'); - resolve('not_running'); - }); - }); -} - -// --- API --- -// Получить все настройки -router.get('/settings', async (req, res) => { - try { - const settings = await getSettings(); - res.json({ success: true, settings }); - } catch (e) { - res.json({ success: false, message: 'Ошибка получения настроек: ' + e.message }); - } -}); -// Сохранить API Token -router.post('/token', async (req, res) => { - const { token } = req.body; - if (!token) return res.status(400).json({ success: false, message: 'Token required' }); - try { - await upsertSettings({ api_token: token }); - res.json({ success: true, message: 'API Token сохранён!' }); - } catch (e) { - res.json({ success: false, message: 'Ошибка сохранения токена: ' + e.message }); - } -}); -// Получить список аккаунтов пользователя по API Token -router.post('/accounts', async (req, res) => { - const { api_token } = req.body; - if (!api_token) return res.status(400).json({ success: false, message: 'Token required' }); - try { - const resp = await axios.get('https://api.cloudflare.com/client/v4/accounts', { - headers: { Authorization: `Bearer ${api_token}` } - }); - res.json({ success: true, accounts: resp.data.result }); - } catch (e) { - res.json({ success: false, message: 'Ошибка Cloudflare API: ' + e.message }); - } -}); -// Сохранить выбранный account_id -router.post('/account-id', async (req, res) => { - const { account_id } = req.body; - if (!account_id) return res.status(400).json({ success: false, message: 'Account ID required' }); - try { - await upsertSettings({ account_id }); - res.json({ success: true, message: 'Account ID сохранён!' }); - } catch (e) { - res.json({ success: false, message: 'Ошибка сохранения Account ID: ' + e.message }); - } -}); -// Новый /domain: полный цикл автоматизации через Cloudflare API -router.post('/domain', async (req, res) => { - const steps = []; - try { - console.log('[Cloudflare /domain] Starting domain connection process'); - - // 1. Сохраняем домен, если он пришёл с фронта - const { domain: domainFromBody } = req.body; - if (domainFromBody) { - console.log('[Cloudflare /domain] Saving domain:', domainFromBody); - await upsertSettings({ domain: domainFromBody }); - } - - // 2. Получаем актуальные настройки - const settings = await getSettings(); - console.log('[Cloudflare /domain] Current settings:', { ...settings, api_token: settings.api_token ? '[HIDDEN]' : 'null' }); - - const { api_token, domain, account_id, tunnel_id, tunnel_token } = settings; - if (!api_token || !domain || !account_id) { - console.error('[Cloudflare /domain] Missing required parameters:', { api_token: !!api_token, domain: !!domain, account_id: !!account_id }); - return res.json({ success: false, error: 'Не все параметры Cloudflare заданы (api_token, domain, account_id)' }); - } - let tunnelId = tunnel_id; - let tunnelToken = tunnel_token; - // 1. Создание туннеля через Cloudflare API (только если нет tunnel_id) - if (!tunnelId || !tunnelToken) { - try { - const tunnelName = `dapp-tunnel-${domain}`; - const tunnelResp = await axios.post( - `https://api.cloudflare.com/client/v4/accounts/${account_id}/cfd_tunnel`, - { name: tunnelName }, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - tunnelId = tunnelResp.data.result.id; - tunnelToken = tunnelResp.data.result.token; - console.log('[Cloudflare] Получен tunnelId:', tunnelId, 'tunnelToken:', tunnelToken); - // Сохраняем tunnel_id и tunnel_token в базу - await upsertSettings({ tunnel_id: tunnelId, tunnel_token: tunnelToken, api_token, account_id, domain }); - steps.push({ step: 'create_tunnel', status: 'ok', message: 'Туннель создан через Cloudflare API и все параметры сохранены.' }); - } catch (e) { - steps.push({ step: 'create_tunnel', status: 'error', message: 'Ошибка создания туннеля: ' + e.message }); - return res.json({ success: false, steps, error: e.message }); - } - } else { - steps.push({ step: 'use_existing_tunnel', status: 'ok', message: 'Используется существующий туннель.' }); - } - // 2. Сохранение tunnel_token в cloudflared.env - try { - writeCloudflaredEnv({ tunnelToken, domain }); - steps.push({ step: 'save_token', status: 'ok', message: 'TUNNEL_TOKEN сохранён в cloudflared.env.' }); - } catch (e) { - steps.push({ step: 'save_token', status: 'error', message: 'Ошибка сохранения tunnel_token: ' + e.message }); - return res.json({ success: false, steps, error: e.message }); - } - // 3. Создание маршрута (ingress) через Cloudflare API - try { - await axios.put( - `https://api.cloudflare.com/client/v4/accounts/${account_id}/cfd_tunnel/${tunnelId}/configurations`, - { - config: { - ingress: [ - { hostname: domain, service: 'http://localhost:5173' }, - { service: 'http_status:404' } - ] - } - }, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - steps.push({ step: 'create_route', status: 'ok', message: 'Маршрут для домена создан.' }); - } catch (e) { - let errorMsg = e.message; - if (e.response && e.response.data) { - errorMsg += ' | ' + JSON.stringify(e.response.data); - } - steps.push({ step: 'create_route', status: 'error', message: 'Ошибка создания маршрута: ' + errorMsg }); - return res.json({ success: false, steps, error: errorMsg }); - } - - // 3.5. Автоматическое создание DNS записей для туннеля - try { - console.log('[Cloudflare /domain] Creating DNS records automatically...'); - - // Получаем зону для домена - const zonesResp = await axios.get('https://api.cloudflare.com/client/v4/zones', { - headers: { Authorization: `Bearer ${api_token}` }, - params: { name: domain } - }); - - const zones = zonesResp.data.result; - if (!zones || zones.length === 0) { - steps.push({ step: 'create_dns', status: 'error', message: 'Домен не найден в Cloudflare аккаунте для создания DNS записей' }); - console.log('[Cloudflare /domain] Domain not found in Cloudflare account, skipping DNS creation'); - } else { - const zoneId = zones[0].id; - - // Получаем существующие DNS записи - const recordsResp = await axios.get(`https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records`, { - headers: { Authorization: `Bearer ${api_token}` } - }); - - const existingRecords = recordsResp.data.result || []; - - // Проверяем, есть ли уже запись для основного домена, указывающая на туннель - const tunnelCnamePattern = new RegExp(`${tunnelId}\.cfargotunnel\.com`); - const hasMainRecord = existingRecords.some(record => - record.name === domain && - ( - (record.type === 'CNAME' && tunnelCnamePattern.test(record.content)) || - (record.type === 'CNAME' && record.content.includes('cfargotunnel.com')) - ) - ); - - if (!hasMainRecord) { - // Удаляем конфликтующие записи для основного домена (A, AAAA, CNAME) - const conflictingRecords = existingRecords.filter(record => - record.name === domain && ['A', 'AAAA', 'CNAME'].includes(record.type) - ); - - for (const conflictRecord of conflictingRecords) { - try { - await axios.delete( - `https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records/${conflictRecord.id}`, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - console.log('[Cloudflare /domain] Removed conflicting record:', conflictRecord.type, conflictRecord.name, conflictRecord.content); - } catch (delErr) { - console.warn('[Cloudflare /domain] Failed to delete conflicting record:', delErr.message); - } - } - - // Создаем CNAME запись для основного домена - const cnameRecord = { - type: 'CNAME', - name: domain, - content: `${tunnelId}.cfargotunnel.com`, - ttl: 1, - proxied: true - }; - - const createResp = await axios.post( - `https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records`, - cnameRecord, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - - console.log('[Cloudflare /domain] Main CNAME record created:', createResp.data.result); - steps.push({ step: 'create_dns', status: 'ok', message: `DNS запись создана: ${domain} -> ${tunnelId}.cfargotunnel.com (проксирована)` }); - } else { - console.log('[Cloudflare /domain] Main record already exists and points to tunnel'); - steps.push({ step: 'create_dns', status: 'ok', message: 'DNS запись для основного домена уже существует и настроена правильно' }); - } - - // Создаем www поддомен только для корневых доменов (не для поддоменов) - const domainParts = domain.split('.'); - const isRootDomain = domainParts.length === 2; // example.com, а не subdomain.example.com - - if (isRootDomain) { - // Обновляем список записей после возможных изменений - const updatedRecordsResp = await axios.get(`https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records`, { - headers: { Authorization: `Bearer ${api_token}` } - }); - const updatedRecords = updatedRecordsResp.data.result || []; - - // Проверяем, есть ли уже запись для www поддомена - const hasWwwRecord = updatedRecords.some(record => - record.name === `www.${domain}` && - ( - (record.type === 'CNAME' && tunnelCnamePattern.test(record.content)) || - (record.type === 'CNAME' && record.content.includes('cfargotunnel.com')) - ) - ); - - if (!hasWwwRecord) { - // Удаляем конфликтующие записи для www поддомена - const conflictingWwwRecords = updatedRecords.filter(record => - record.name === `www.${domain}` && ['A', 'AAAA', 'CNAME'].includes(record.type) - ); - - for (const conflictRecord of conflictingWwwRecords) { - try { - await axios.delete( - `https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records/${conflictRecord.id}`, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - console.log('[Cloudflare /domain] Removed conflicting www record:', conflictRecord.type, conflictRecord.name, conflictRecord.content); - } catch (delErr) { - console.warn('[Cloudflare /domain] Failed to delete conflicting www record:', delErr.message); - } - } - - // Создаем CNAME запись для www поддомена - const wwwCnameRecord = { - type: 'CNAME', - name: `www.${domain}`, - content: `${tunnelId}.cfargotunnel.com`, - ttl: 1, - proxied: true - }; - - const createWwwResp = await axios.post( - `https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records`, - wwwCnameRecord, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - - console.log('[Cloudflare /domain] WWW CNAME record created:', createWwwResp.data.result); - steps.push({ step: 'create_dns_www', status: 'ok', message: `DNS запись создана: www.${domain} -> ${tunnelId}.cfargotunnel.com (проксирована)` }); - } else { - console.log('[Cloudflare /domain] WWW record already exists and points to tunnel'); - steps.push({ step: 'create_dns_www', status: 'ok', message: 'DNS запись для www поддомена уже существует и настроена правильно' }); - } - } else { - console.log('[Cloudflare /domain] Skipping www subdomain creation for non-root domain'); - } - } - } catch (e) { - console.error('[Cloudflare /domain] Error creating DNS records:', e); - steps.push({ step: 'create_dns', status: 'error', message: 'Ошибка создания DNS записей: ' + (e.response?.data?.errors?.[0]?.message || e.message) }); - // Не прерываем процесс, DNS можно настроить вручную - } - // 4. Перезапуск cloudflared через docker compose - try { - console.log('[Cloudflare /domain] Restarting cloudflared via docker compose...'); - const { exec } = require('child_process'); - - await new Promise((resolve, reject) => { - exec('cd /app && docker compose restart cloudflared', (err, stdout, stderr) => { - if (err) { - console.error('[Cloudflare /domain] Docker compose restart error:', stderr || err.message); - reject(new Error(stderr || err.message)); - } else { - console.log('[Cloudflare /domain] Docker compose restart success:', stdout); - resolve(stdout); - } - }); - }); - - steps.push({ step: 'restart_cloudflared', status: 'ok', message: 'cloudflared перезапущен.' }); - } catch (e) { - console.error('[Cloudflare /domain] Error restarting cloudflared:', e.message); - steps.push({ step: 'restart_cloudflared', status: 'error', message: 'Ошибка перезапуска cloudflared: ' + e.message }); - // Не возвращаем ошибку, так как туннель создан - console.log('[Cloudflare /domain] Continuing despite restart error...'); - } - // 5. Возврат app_url - res.json({ - success: true, - app_url: `https://${domain}`, - message: 'Туннель и маршрут успешно созданы. Ваше приложение доступно по ссылке.', - steps - }); - } catch (e) { - steps.push({ step: 'fatal', status: 'error', message: e.message }); - res.json({ success: false, steps, error: e.message }); - } -}); -// Проверить домен через Cloudflare API (опционально) -router.post('/check-domain', async (req, res) => { - if (!Cloudflare) return res.json({ success: false, message: 'Cloudflare не доступен на сервере' }); - const { api_token, domain } = req.body; - if (!api_token || !domain) return res.status(400).json({ success: false, message: 'Token и domain обязательны' }); - try { - const cf = new Cloudflare({ apiToken: api_token }); - const zones = await cf.zones.browse(); - const found = zones.result.find(z => z.name === domain); - if (!found) return res.status(400).json({ success: false, message: 'Домен не найден в Cloudflare аккаунте' }); - res.json({ success: true, message: 'Домен найден в Cloudflare аккаунте' }); - } catch (e) { - res.json({ success: false, message: 'Ошибка Cloudflare API: ' + e.message }); - } -}); -// Установить Cloudflared в Docker (добавить в compose и запустить) -router.post('/install', async (req, res) => { - console.log('[CloudflareInstall] Запрос на установку cloudflared'); - const settings = await getSettings(); - console.log('[CloudflareInstall] Текущие настройки:', settings); - if (!settings.tunnel_token) { - console.warn('[CloudflareInstall] Нет tunnel_token, установка невозможна'); - return res.status(400).json({ success: false, message: 'Сначала сохраните Tunnel Token' }); - } - try { - console.log('[CloudflareInstall] Запись cloudflared.env...'); - writeCloudflaredEnv({ tunnelToken: settings.tunnel_token, domain: settings.domain }); - console.log('[CloudflareInstall] Перезапуск cloudflared через docker compose...'); - exec('docker-compose up -d cloudflared', (err, stdout, stderr) => { - if (err) { - console.error('[CloudflareInstall] Ошибка docker compose:', stderr || err.message); - return res.json({ success: false, message: 'Ошибка docker compose: ' + (stderr || err.message) }); - } - console.log('[CloudflareInstall] Cloudflared перезапущен:', stdout); - res.json({ success: true, message: 'Cloudflared переменные обновлены и контейнер перезапущен!' }); - }); - } catch (e) { - console.error('[CloudflareInstall] Ошибка:', e); - res.json({ success: false, message: 'Ошибка: ' + (e.message || e) }); - } -}); -// Получить статус Cloudflared, домена и туннеля -router.get('/status', async (req, res) => { - const status = await checkCloudflaredStatus(); - const settings = await getSettings(); - let domainStatus = 'not_configured'; - let domainMsg = 'Cloudflare не настроен'; - let tunnelStatus = 'not_configured'; - let tunnelMsg = 'Cloudflare не настроен'; - if (!Cloudflare) { - return res.json({ - success: true, - status, - domainStatus: 'not_available', - domainMsg: 'Пакет cloudflare не установлен', - tunnelStatus: 'not_available', - tunnelMsg: 'Пакет cloudflare не установлен', - message: 'Cloudflare не доступен на сервере' - }); - } - if (settings.api_token && settings.domain) { - try { - const cf = new Cloudflare({ apiToken: settings.api_token }); - const zonesResp = await cf.zones.list(); - const zones = zonesResp.result; - const found = zones.find(z => z.name === settings.domain); - if (found) { - domainStatus = 'ok'; - domainMsg = 'Домен найден в Cloudflare аккаунте'; - } else { - domainStatus = 'not_found'; - domainMsg = 'Домен не найден в Cloudflare аккаунте'; - } - } catch (e) { - domainStatus = 'error'; - domainMsg = 'Ошибка Cloudflare API: ' + e.message; - } - } - if (settings.api_token && settings.tunnel_id && settings.account_id) { - try { - console.log('[Cloudflare /status] Checking tunnel status...'); - const tunnelsResp = await axios.get( - `https://api.cloudflare.com/client/v4/accounts/${settings.account_id}/cfd_tunnel`, - { headers: { Authorization: `Bearer ${settings.api_token}` } } - ); - const tunnels = tunnelsResp.data.result || []; - console.log('[Cloudflare /status] Found tunnels:', tunnels.map(t => ({ id: t.id, name: t.name, status: t.status }))); - - const foundTunnel = tunnels.find(t => t.id === settings.tunnel_id); - if (foundTunnel) { - tunnelStatus = foundTunnel.status || 'active'; - tunnelMsg = `Туннель найден: ${foundTunnel.name || foundTunnel.id}, статус: ${foundTunnel.status}`; - console.log('[Cloudflare /status] Tunnel found:', foundTunnel); - } else { - tunnelStatus = 'not_found'; - tunnelMsg = 'Туннель не найден в Cloudflare аккаунте'; - console.log('[Cloudflare /status] Tunnel not found. Looking for tunnel_id:', settings.tunnel_id); - } - } catch (e) { - console.error('[Cloudflare /status] Error checking tunnel:', e); - tunnelStatus = 'error'; - tunnelMsg = 'Ошибка Cloudflare API (туннель): ' + e.message; - } - } - res.json({ - success: true, - status, - domainStatus, - domainMsg, - tunnelStatus, - tunnelMsg, - message: `Cloudflared статус: ${status}, домен: ${domainStatus}, туннель: ${tunnelStatus}` - }); -}); - -// --- DNS Управление --- - -// Получить список DNS записей для домена -router.get('/dns-records', async (req, res) => { - try { - const settings = await getSettings(); - const { api_token, domain } = settings; - - if (!api_token || !domain) { - return res.json({ - success: false, - message: 'API Token и домен должны быть настроены' - }); - } - - // Получаем зону для домена - const zonesResp = await axios.get('https://api.cloudflare.com/client/v4/zones', { - headers: { Authorization: `Bearer ${api_token}` }, - params: { name: domain } - }); - - const zones = zonesResp.data.result; - if (!zones || zones.length === 0) { - return res.json({ - success: false, - message: 'Домен не найден в Cloudflare аккаунте' - }); - } - - const zoneId = zones[0].id; - - // Получаем DNS записи для зоны - const recordsResp = await axios.get(`https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records`, { - headers: { Authorization: `Bearer ${api_token}` } - }); - - const records = recordsResp.data.result || []; - - res.json({ - success: true, - records: records.map(record => ({ - id: record.id, - type: record.type, - name: record.name, - content: record.content, - ttl: record.ttl, - proxied: record.proxied, - zone_id: record.zone_id, - zone_name: record.zone_name, - created_on: record.created_on, - modified_on: record.modified_on - })), - zone_id: zoneId - }); - } catch (e) { - console.error('[Cloudflare /dns-records] Error:', e); - res.json({ - success: false, - message: 'Ошибка получения DNS записей: ' + (e.response?.data?.errors?.[0]?.message || e.message) - }); - } -}); - -// Создать/обновить DNS запись -router.post('/dns-records', async (req, res) => { - try { - const settings = await getSettings(); - const { api_token, domain } = settings; - const { type, name, content, ttl = 1, proxied = false, recordId } = req.body; - - if (!api_token || !domain) { - return res.json({ - success: false, - message: 'API Token и домен должны быть настроены' - }); - } - - if (!type || !name || !content) { - return res.json({ - success: false, - message: 'Обязательные поля: type, name, content' - }); - } - - // Получаем зону для домена - const zonesResp = await axios.get('https://api.cloudflare.com/client/v4/zones', { - headers: { Authorization: `Bearer ${api_token}` }, - params: { name: domain } - }); - - const zones = zonesResp.data.result; - if (!zones || zones.length === 0) { - return res.json({ - success: false, - message: 'Домен не найден в Cloudflare аккаунте' - }); - } - - const zoneId = zones[0].id; - const recordData = { type, name, content, ttl }; - - // Добавляем proxied только для типов записей, которые поддерживают прокси - if (['A', 'AAAA', 'CNAME'].includes(type)) { - recordData.proxied = proxied; - } - - let result; - if (recordId) { - // Обновляем существующую запись - const updateResp = await axios.put( - `https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records/${recordId}`, - recordData, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - result = updateResp.data.result; - } else { - // Создаем новую запись - const createResp = await axios.post( - `https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records`, - recordData, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - result = createResp.data.result; - } - - res.json({ - success: true, - message: recordId ? 'DNS запись обновлена' : 'DNS запись создана', - record: { - id: result.id, - type: result.type, - name: result.name, - content: result.content, - ttl: result.ttl, - proxied: result.proxied, - zone_id: result.zone_id - } - }); - } catch (e) { - console.error('[Cloudflare /dns-records POST] Error:', e); - res.json({ - success: false, - message: 'Ошибка создания/обновления DNS записи: ' + (e.response?.data?.errors?.[0]?.message || e.message) - }); - } -}); - -// Удалить DNS запись -router.delete('/dns-records/:recordId', async (req, res) => { - try { - const settings = await getSettings(); - const { api_token, domain } = settings; - const { recordId } = req.params; - - if (!api_token || !domain) { - return res.json({ - success: false, - message: 'API Token и домен должны быть настроены' - }); - } - - // Получаем зону для домена - const zonesResp = await axios.get('https://api.cloudflare.com/client/v4/zones', { - headers: { Authorization: `Bearer ${api_token}` }, - params: { name: domain } - }); - - const zones = zonesResp.data.result; - if (!zones || zones.length === 0) { - return res.json({ - success: false, - message: 'Домен не найден в Cloudflare аккаунте' - }); - } - - const zoneId = zones[0].id; - - // Удаляем DNS запись - await axios.delete( - `https://api.cloudflare.com/client/v4/zones/${zoneId}/dns_records/${recordId}`, - { headers: { Authorization: `Bearer ${api_token}` } } - ); - - res.json({ - success: true, - message: 'DNS запись удалена' - }); - } catch (e) { - console.error('[Cloudflare /dns-records DELETE] Error:', e); - res.json({ - success: false, - message: 'Ошибка удаления DNS записи: ' + (e.response?.data?.errors?.[0]?.message || e.message) - }); - } -}); - -module.exports = router; \ No newline at end of file diff --git a/backend/scripts/cleanup-sessions.js b/backend/scripts/cleanup-sessions.js new file mode 100644 index 0000000..8057e51 --- /dev/null +++ b/backend/scripts/cleanup-sessions.js @@ -0,0 +1,23 @@ +const sessionService = require('../services/session-service'); +const db = require('../db'); + +async function cleanupSessions() { + try { + console.log('Starting session cleanup...'); + + const result = await sessionService.cleanupProcessedGuestIds(); + + if (result) { + console.log('Session cleanup completed successfully'); + } else { + console.log('Session cleanup failed'); + } + + process.exit(0); + } catch (error) { + console.error('Error during cleanup:', error); + process.exit(1); + } +} + +cleanupSessions(); \ No newline at end of file diff --git a/backend/services/session-service.js b/backend/services/session-service.js index a2e2197..f4b7d39 100644 --- a/backend/services/session-service.js +++ b/backend/services/session-service.js @@ -13,16 +13,12 @@ class SessionService { */ async saveSession(session) { try { - // Логируем содержимое сессии перед сохранением - logger.info('[SessionService] Saving session data:', session); - return new Promise((resolve, reject) => { session.save((err) => { if (err) { logger.error('Error saving session:', err); reject(err); } else { - logger.info('Session saved successfully'); resolve(true); } }); @@ -41,16 +37,7 @@ class SessionService { */ async linkGuestMessages(session, userId) { try { - logger.info( - `[linkGuestMessages] Starting for user ${userId} with guestId=${session.guestId}, previousGuestId=${session.previousGuestId}` - ); - - // Инициализируем массив обработанных гостевых ID, если его нет - if (!session.processedGuestIds) { - session.processedGuestIds = []; - } - - // Получаем все гостевые ID для текущего пользователя из новой таблицы + // Получаем все гостевые ID для текущего пользователя из таблицы const guestIdsResult = await db.getQuery()( 'SELECT guest_id FROM guest_user_mapping WHERE user_id = $1', [userId] @@ -60,39 +47,52 @@ class SessionService { // Собираем все гостевые ID, которые нужно обработать const guestIdsToProcess = new Set(); - // Добавляем текущий гостевой ID - if (session.guestId && !session.processedGuestIds.includes(session.guestId)) { - guestIdsToProcess.add(session.guestId); + // Добавляем текущий гостевой ID, если он есть и не обработан в БД + if (session.guestId) { + const isProcessed = await this.isGuestIdProcessed(session.guestId); + if (!isProcessed) { + guestIdsToProcess.add(session.guestId); - // Записываем связь с пользователем в новую таблицу - await db.getQuery()( - 'INSERT INTO guest_user_mapping (user_id, guest_id) VALUES ($1, $2) ON CONFLICT (guest_id) DO UPDATE SET user_id = $1', - [userId, session.guestId] - ); + // Записываем связь с пользователем в новую таблицу + await db.getQuery()( + 'INSERT INTO guest_user_mapping (user_id, guest_id) VALUES ($1, $2) ON CONFLICT (guest_id) DO UPDATE SET user_id = $1', + [userId, session.guestId] + ); + } } - // Добавляем предыдущий гостевой ID - if (session.previousGuestId && !session.processedGuestIds.includes(session.previousGuestId)) { - guestIdsToProcess.add(session.previousGuestId); + // Добавляем предыдущий гостевой ID, если он есть и не обработан в БД + if (session.previousGuestId) { + const isProcessed = await this.isGuestIdProcessed(session.previousGuestId); + if (!isProcessed) { + guestIdsToProcess.add(session.previousGuestId); - // Записываем связь с пользователем в новую таблицу - await db.getQuery()( - 'INSERT INTO guest_user_mapping (user_id, guest_id) VALUES ($1, $2) ON CONFLICT (guest_id) DO UPDATE SET user_id = $1', - [userId, session.previousGuestId] - ); + // Записываем связь с пользователем в новую таблицу + await db.getQuery()( + 'INSERT INTO guest_user_mapping (user_id, guest_id) VALUES ($1, $2) ON CONFLICT (guest_id) DO UPDATE SET user_id = $1', + [userId, session.previousGuestId] + ); + } } - // Добавляем все гостевые ID пользователя из таблицы + // Добавляем все гостевые ID пользователя из таблицы, которые еще не обработаны for (const guestId of userGuestIds) { - if (!session.processedGuestIds.includes(guestId)) { + const isProcessed = await this.isGuestIdProcessed(guestId); + if (!isProcessed) { guestIdsToProcess.add(guestId); } } + // Логируем только если есть что обрабатывать + if (guestIdsToProcess.size > 0) { + logger.info( + `[linkGuestMessages] Processing ${guestIdsToProcess.size} guest IDs for user ${userId}` + ); + } + // Обрабатываем все собранные гостевые ID for (const guestId of guestIdsToProcess) { await this.processGuestMessagesWrapper(userId, guestId); - session.processedGuestIds.push(guestId); // Помечаем guestId как обработанный в базе данных await db.getQuery()( @@ -101,9 +101,6 @@ class SessionService { ); } - // Сохраняем сессию - await this.saveSession(session); - return { success: true }; } catch (error) { logger.error('[linkGuestMessages] Error:', error); @@ -111,6 +108,25 @@ class SessionService { } } + /** + * Проверяет, был ли guest ID уже обработан + * @param {string} guestId - ID гостя + * @returns {Promise} - Был ли guest ID обработан + */ + async isGuestIdProcessed(guestId) { + try { + const result = await db.getQuery()( + 'SELECT processed FROM guest_user_mapping WHERE guest_id = $1', + [guestId] + ); + + return result.rows.length > 0 && result.rows[0].processed === true; + } catch (error) { + logger.error(`[isGuestIdProcessed] Error checking guest ID ${guestId}:`, error); + return false; + } + } + /** * Обертка для функции processGuestMessages * @param {number} userId - ID пользователя @@ -119,9 +135,6 @@ class SessionService { */ async processGuestMessagesWrapper(userId, guestId) { try { - logger.info( - `[processGuestMessagesWrapper] Processing messages: userId=${userId}, guestId=${guestId}` - ); return await processGuestMessages(userId, guestId); } catch (error) { logger.error(`[processGuestMessagesWrapper] Error: ${error.message}`, error); @@ -260,6 +273,29 @@ class SessionService { } } + /** + * Очищает все массивы processedGuestIds из сессий в базе данных + * @returns {Promise} - Результат операции + */ + async cleanupProcessedGuestIds() { + try { + logger.info('[SessionService] Starting cleanup of processedGuestIds from sessions'); + + // Используем один SQL-запрос для обновления всех сессий + const result = await db.getQuery()( + `UPDATE session + SET sess = (sess::jsonb - 'processedGuestIds')::json + WHERE sess::text LIKE '%"processedGuestIds"%'` + ); + + logger.info(`[SessionService] Cleaned processedGuestIds from ${result.rowCount} sessions`); + return true; + } catch (error) { + logger.error('[SessionService] Error during cleanup:', error); + return false; + } + } + /** * Очищает данные аутентификации в сессии * @param {object} session - Объект сессии @@ -286,6 +322,11 @@ class SessionService { delete session.telegramUsername; delete session.telegramFirstName; + // Очищаем массив processedGuestIds для экономии места + if (session.processedGuestIds) { + delete session.processedGuestIds; + } + // Восстанавливаем гостевой ID для продолжения работы if (guestId) { session.guestId = guestId; diff --git a/backend/utils/cloudflaredCompose.js b/backend/utils/cloudflaredCompose.js deleted file mode 100644 index a3612a8..0000000 --- a/backend/utils/cloudflaredCompose.js +++ /dev/null @@ -1,38 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const yaml = require('js-yaml'); - -const composePath = '/docker-compose.yml'; - -function addCloudflaredToCompose(tunnelToken) { - console.log('[cloudflaredCompose] process.cwd():', process.cwd()); - console.log('[cloudflaredCompose] __dirname:', __dirname); - console.log('[cloudflaredCompose] Ожидаемый путь к compose:', composePath); - if (!fs.existsSync(composePath)) { - console.error('[cloudflaredCompose] Файл не найден:', composePath); - throw new Error('docker-compose.yml не найден по пути: ' + composePath); - } - let doc; - try { - doc = yaml.load(fs.readFileSync(composePath, 'utf8')); - } catch (e) { - console.error('[cloudflaredCompose] Ошибка чтения compose:', e); - throw e; - } - doc.services = doc.services || {}; - doc.services.cloudflared = { - image: 'cloudflare/cloudflared:latest', - command: 'tunnel --no-autoupdate run', - environment: [`TUNNEL_TOKEN=${tunnelToken}`], - restart: 'unless-stopped' - }; - try { - fs.writeFileSync(composePath, yaml.dump(doc), 'utf8'); - console.log('[cloudflaredCompose] cloudflared добавлен в compose:', composePath); - } catch (e) { - console.error('[cloudflaredCompose] Ошибка записи compose:', e); - throw e; - } -} - -module.exports = { addCloudflaredToCompose }; \ No newline at end of file diff --git a/backend/yarn.lock b/backend/yarn.lock index 45a90b8..6cc356a 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -89,19 +89,19 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/config-array@^0.20.1": - version "0.20.1" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.20.1.tgz#454f89be82b0e5b1ae872c154c7e2f3dd42c3979" - integrity sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw== +"@eslint/config-array@^0.21.0": + version "0.21.0" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.0.tgz#abdbcbd16b124c638081766392a4d6b509f72636" + integrity sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ== dependencies: "@eslint/object-schema" "^2.1.6" debug "^4.3.1" minimatch "^3.1.2" -"@eslint/config-helpers@^0.2.1": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.2.3.tgz#39d6da64ed05d7662659aa7035b54cd55a9f3672" - integrity sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg== +"@eslint/config-helpers@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.3.0.tgz#3e09a90dfb87e0005c7694791e58e97077271286" + integrity sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw== "@eslint/core@^0.14.0": version "0.14.0" @@ -132,10 +132,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.29.0": - version "9.29.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.29.0.tgz#dc6fd117c19825f8430867a662531da36320fe56" - integrity sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ== +"@eslint/js@9.30.1": + version "9.30.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.30.1.tgz#ebe9dd52a38345784c486300175a28c6013c088d" + integrity sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg== "@eslint/object-schema@^2.1.6": version "2.1.6" @@ -367,9 +367,9 @@ integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== "@google/genai@^1.0.1": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@google/genai/-/genai-1.7.0.tgz#4af2fe86343e990eebfb4adcd0fa744cb0e6907e" - integrity sha512-s/OZLkrIfBwc+SFFaZoKdEogkw4in0YRTGc4Q483jnfchNBWzrNe560eZEfGJHQRPn6YfzJgECCx0sqEOMWvYw== + version "1.8.0" + resolved "https://registry.yarnpkg.com/@google/genai/-/genai-1.8.0.tgz#b99d776bfc83160431240b79b8eb57526cb8fbdc" + integrity sha512-n3KiMFesQCy2R9iSdBIuJ0JWYQ1HZBJJkmt4PPZMGZKvlgHhBAGw1kUMyX+vsAIzprN3lK45DI755lm70wPOOg== dependencies: google-auth-library "^9.14.2" ws "^8.18.0" @@ -427,6 +427,18 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== +"@isaacs/balanced-match@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29" + integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ== + +"@isaacs/brace-expansion@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz#4b3dabab7d8e75a429414a96bd67bf4c1d13e0f3" + integrity sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA== + dependencies: + "@isaacs/balanced-match" "^4.0.1" + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -445,9 +457,9 @@ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/sourcemap-codec@^1.4.10": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + version "1.5.4" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" + integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -463,9 +475,9 @@ integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== "@langchain/community@^0.3.34": - version "0.3.47" - resolved "https://registry.yarnpkg.com/@langchain/community/-/community-0.3.47.tgz#224d7eae9ae1b1de934761888131cb7b8b30d322" - integrity sha512-Vo42kAfkXpTFSevhEkeqqE55az8NyQgDktCbitXYuhipNbFYx08XVvqEDkFkB20MM/Z7u+cvLb+DxCqnKuH0CQ== + version "0.3.48" + resolved "https://registry.yarnpkg.com/@langchain/community/-/community-0.3.48.tgz#3487ada66da38ed47e2e1fa08d7299264a9be8bf" + integrity sha512-0KceBKSx34lL5cnbKybWIMQAFTgkZJMOzcZ1YdcagIwgoDa5a4MsJdtTABxaY0gu+87Uo3KqMj+GXx2wQqnZWA== dependencies: "@langchain/openai" ">=0.2.0 <0.6.0" "@langchain/weaviate" "^0.2.0" @@ -504,9 +516,9 @@ uuid "^10.0.0" "@langchain/openai@>=0.1.0 <0.6.0", "@langchain/openai@>=0.2.0 <0.6.0": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.5.15.tgz#d426684107cf8b3cac8dfff0344d6635d3699a55" - integrity sha512-ANadEHyAj5sufQpz+SOPpKbyoMcTLhnh8/d+afbSPUqWsIMPpEFX3HoSY3nrBPG6l4NQQNG5P5oHb4SdC8+YIg== + version "0.5.18" + resolved "https://registry.yarnpkg.com/@langchain/openai/-/openai-0.5.18.tgz#59ebbf48044d711ce9503d3b9854a3533cb54683" + integrity sha512-CX1kOTbT5xVFNdtLjnM0GIYNf+P7oMSu+dGCFxxWRa3dZwWiuyuBXCm+dToUGxDLnsHuV1bKBtIzrY1mLq/A1Q== dependencies: js-tiktoken "^1.0.12" openai "^5.3.0" @@ -520,9 +532,9 @@ js-tiktoken "^1.0.12" "@langchain/weaviate@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@langchain/weaviate/-/weaviate-0.2.0.tgz#cc21452a14cf1ed3c533a74dae366ecb417a5480" - integrity sha512-gAtTCxSllR8Z92qAuRn2ir0cop241VmftQHQN+UYtTeoLge8hvZT5k0j55PDVaXTVpjx0ecx6DKv5I/wLRQI+A== + version "0.2.1" + resolved "https://registry.yarnpkg.com/@langchain/weaviate/-/weaviate-0.2.1.tgz#51ad20cf6d40e63d6149e5d01f91597cdff66744" + integrity sha512-rlfAKF+GB0A5MUrol34oDrBkl4q6AefARk9KDW+LfzhV/74pZZLZyIPYPxvE4XwI3gvpwp024DNsDxK/4UW0/g== dependencies: uuid "^10.0.0" weaviate-client "^3.5.2" @@ -1171,9 +1183,11 @@ integrity sha512-R/BdP7OxEMc44l2Ex5lSXHoIXTB2JLNa3y2QISIbr58U/YcsffyQrYW//hZSdrfxrjRZj3GcUoxMPGdO8gSYuw== "@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + version "6.0.0" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-6.0.0.tgz#4d207b1cc941367bdcd195a3a781a7e4fc3b1e03" + integrity sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA== + dependencies: + minimatch "*" "@types/mocha@>=9.1.0": version "10.0.10" @@ -1189,9 +1203,9 @@ form-data "^4.0.0" "@types/node@*", "@types/node@>=13.7.0": - version "24.0.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.4.tgz#dbae889912bda33a7f57669fb8587c1a56bc0c1f" - integrity sha512-ulyqAkrhnuNq9pB76DRBTkcS6YsmDALy6Ua63V8OhrOBgbcYt6IOdzpw5P1+dyRIyMerzLkeYWBeOXPpA9GMAA== + version "24.0.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.10.tgz#f65a169779bf0d70203183a1890be7bee8ca2ddb" + integrity sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA== dependencies: undici-types "~7.8.0" @@ -1203,9 +1217,9 @@ undici-types "~6.19.2" "@types/node@^18.11.18": - version "18.19.112" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.112.tgz#cd2aee9c075402e0e1942a44101428881dbeb110" - integrity sha512-i+Vukt9POdS/MBI7YrrkkI5fMfwFtOjphSmt4WXYLfwqsfr6z/HdCx7LqT9M7JktGob8WNgj8nFB4TbGNE4Cog== + version "18.19.115" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.115.tgz#cd94caf14472021b4443c99bcd7aac6bb5c4f672" + integrity sha512-kNrFiTgG4a9JAn1LMQeLOv3MvXIPokzXziohMrMsvpYgLpdEt/mMiVYc4sGKtDfyxM5gIDF4VgrPRyCw4fHOYg== dependencies: undici-types "~5.26.4" @@ -1628,9 +1642,9 @@ bare-events@^2.2.0, bare-events@^2.5.4: integrity sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA== bare-fs@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/bare-fs/-/bare-fs-4.1.5.tgz#1d06c076e68cc8bf97010d29af9e3ac3808cdcf7" - integrity sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA== + version "4.1.6" + resolved "https://registry.yarnpkg.com/bare-fs/-/bare-fs-4.1.6.tgz#0925521e7310f65cb1f154cab264f0b647a7cdef" + integrity sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ== dependencies: bare-events "^2.5.4" bare-path "^3.0.0" @@ -2040,19 +2054,6 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" -cloudflare@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/cloudflare/-/cloudflare-4.4.1.tgz#a3a395b2eed46e6b2e5175a62cc962267cef3981" - integrity sha512-wrtQ9WMflnfRcmdQZf/XfVVkeucgwzzYeqFDfgbNdADTaexsPwrtt3etzUvPGvVUeEk9kOPfNkl8MSzObxrIsg== - dependencies: - "@types/node" "^18.11.18" - "@types/node-fetch" "^2.6.4" - abort-controller "^3.0.0" - agentkeepalive "^4.2.1" - form-data-encoder "1.7.2" - formdata-node "^4.3.2" - node-fetch "^2.6.7" - color-convert@^1.9.0, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -2507,9 +2508,9 @@ domutils@^3.0.1: domhandler "^5.0.3" dotenv@^16.0.3: - version "16.5.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.5.0.tgz#092b49f25f808f020050051d1ff258e404c78692" - integrity sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg== + version "16.6.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.6.1.tgz#773f0e69527a8315c7285d5ee73c4459d20a8020" + integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow== dunder-proto@^1.0.0, dunder-proto@^1.0.1: version "1.0.1" @@ -2772,17 +2773,17 @@ eslint-visitor-keys@^4.2.1: integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== eslint@^9.21.0: - version "9.29.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.29.0.tgz#65e3db3b7e5a5b04a8af541741a0f3648d0a81a6" - integrity sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ== + version "9.30.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.30.1.tgz#d4107b39964412acd9b5c0744f1c6df514fa1211" + integrity sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.20.1" - "@eslint/config-helpers" "^0.2.1" + "@eslint/config-array" "^0.21.0" + "@eslint/config-helpers" "^0.3.0" "@eslint/core" "^0.14.0" "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.29.0" + "@eslint/js" "9.30.1" "@eslint/plugin-kit" "^0.3.1" "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" @@ -2959,9 +2960,9 @@ ethers@6.13.5: ws "8.17.1" ethers@^6.14.0: - version "6.14.4" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.14.4.tgz#0f6fbc562a8425c7c888da307fa71ef796be0c04" - integrity sha512-Jm/dzRs2Z9iBrT6e9TvGxyb5YVKAPLlpna7hjxH7KH/++DSh2T/JVmQUv7iHI5E55hDbp/gEVvstWYXVxXFzsA== + version "6.15.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.15.0.tgz#2980f2a3baf0509749b7e21f8692fa8a8349c0e3" + integrity sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ== dependencies: "@adraffy/ens-normalize" "1.10.1" "@noble/curves" "1.2.0" @@ -3529,9 +3530,9 @@ globals@^14.0.0: integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== globals@^16.0.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-16.2.0.tgz#19efcd1ddde2bd5efce128e5c2e441df1abc6f7c" - integrity sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg== + version "16.3.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-16.3.0.tgz#66118e765ddaf9e2d880f7e17658543f93f1f667" + integrity sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ== globalthis@^1.0.4: version "1.0.4" @@ -4439,9 +4440,9 @@ langsmith@^0.1.43: uuid "^10.0.0" langsmith@^0.3.33: - version "0.3.33" - resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.3.33.tgz#f6c56b338cd6a9aa139dbbafcf4b037320eb3041" - integrity sha512-imNIaBL6+ElE5eMzNHYwFxo6W/6rHlqcaUjCYoIeGdCYWlARxE3CTGKul5DJnaUgGP2CTLFeNXyvRx5HWC/4KQ== + version "0.3.39" + resolved "https://registry.yarnpkg.com/langsmith/-/langsmith-0.3.39.tgz#668918ad6a19e9772c7bbc551c03867ea48f07d0" + integrity sha512-dzrsERzrDh/jSuhOACcZaZf3zENSROk+1XGWFdBxeBa/aFuV7sQzG+wYH+Pdr+VOw2RUoFzl+PHzkuWZw1zuRQ== dependencies: "@types/uuid" "^10.0.0" chalk "^4.1.2" @@ -4484,10 +4485,10 @@ libbase64@1.3.0: resolved "https://registry.yarnpkg.com/libbase64/-/libbase64-1.3.0.tgz#053314755a05d2e5f08bbfc48d0290e9322f4406" integrity sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg== -libmime@5.3.6: - version "5.3.6" - resolved "https://registry.yarnpkg.com/libmime/-/libmime-5.3.6.tgz#e6dfc655b6b4614bad90e8e65817957903b56580" - integrity sha512-j9mBC7eiqi6fgBPAGvKCXJKJSIASanYF4EeA4iBzSG0HxQxmXnR3KbyWqTn4CwsKSebqCv2f5XZfAO6sKzgvwA== +libmime@5.3.7: + version "5.3.7" + resolved "https://registry.yarnpkg.com/libmime/-/libmime-5.3.7.tgz#3835b6443d982d5cd1ac32ee241adbbc11b34406" + integrity sha512-FlDb3Wtha8P01kTL3P9M+ZDNDWPKPmKHWaU/cG/lg5pfuAwdflVpZE+wm9m7pKmC5ww6s+zTxBKS1p6yl3KpSw== dependencies: encoding-japanese "2.2.0" iconv-lite "0.6.3" @@ -4591,28 +4592,28 @@ luxon@~3.6.0: integrity sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ== mailparser@^3.7.2: - version "3.7.3" - resolved "https://registry.yarnpkg.com/mailparser/-/mailparser-3.7.3.tgz#3c718cd73539c0165be25317e3ffbe704adc444a" - integrity sha512-0RM14cZF0gO1y2Q/82hhWranispZOUSYHwvQ21h12x90NwD6+D5q59S5nOLqCtCdYitHN58LJXWEHa4RWm7BYA== + version "3.7.4" + resolved "https://registry.yarnpkg.com/mailparser/-/mailparser-3.7.4.tgz#dd70550b066fdc35563eda94bee5ab7a8d0c2439" + integrity sha512-Beh4yyR4jLq3CZZ32asajByrXnW8dLyKCAQD3WvtTiBnMtFWhxO+wa93F6sJNjDmfjxXs4NRNjw3XAGLqZR3Vg== dependencies: encoding-japanese "2.2.0" he "1.2.0" html-to-text "9.0.5" iconv-lite "0.6.3" - libmime "5.3.6" + libmime "5.3.7" linkify-it "5.0.0" - mailsplit "5.4.3" - nodemailer "7.0.3" + mailsplit "5.4.5" + nodemailer "7.0.4" punycode.js "2.3.1" tlds "1.259.0" -mailsplit@5.4.3: - version "5.4.3" - resolved "https://registry.yarnpkg.com/mailsplit/-/mailsplit-5.4.3.tgz#470ebca836d87bd8fa6a72d36536238b85921765" - integrity sha512-PFV0BBh4Tv7Omui5FtXXVtN4ExAxIi8Yvmb9JgBz+J6Hnnrv/YYXLlKKudLhXwd3/qWEATOslRsnzVCWDeCnmQ== +mailsplit@5.4.5: + version "5.4.5" + resolved "https://registry.yarnpkg.com/mailsplit/-/mailsplit-5.4.5.tgz#dca1ea58419664fe01870ba8845773a048aa6384" + integrity sha512-oMfhmvclR689IIaQmIcR5nODnZRRVwAKtqFT407TIvmhX2OLUBnshUTcxzQBt3+96sZVDud9NfSe1NxAkUNXEQ== dependencies: libbase64 "1.3.0" - libmime "5.3.6" + libmime "5.3.7" libqp "2.1.1" make-error@^1.1.1: @@ -4706,6 +4707,13 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== +minimatch@*: + version "10.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.0.3.tgz#cf7a0314a16c4d9ab73a7730a0e8e3c3502d47aa" + integrity sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw== + dependencies: + "@isaacs/brace-expansion" "^5.0.0" + "minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -4926,10 +4934,10 @@ node-telegram-bot-api@^0.66.0: mime "^1.6.0" pump "^2.0.0" -nodemailer@7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-7.0.3.tgz#c098ce79ac60c7c111a86949eed2f99bd00cdac3" - integrity sha512-Ajq6Sz1x7cIK3pN6KesGTah+1gnwMnx5gKl3piQlQQE/PwyJ4Mbc8is2psWYxK3RJTVeqsDaCv8ZzXLCDHMTZw== +nodemailer@7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-7.0.4.tgz#1204ca673026e93155d4a46eaa7c498a30fdd72a" + integrity sha512-9O00Vh89/Ld2EcVCqJ/etd7u20UhME0f/NToPfArwPEe1Don1zy4mAIz6ariRr7mJ2RDxtaDzN0WJVdVXPtZaw== nodemailer@^6.10.0: version "6.10.1" @@ -5056,9 +5064,9 @@ openai@^4.102.0: node-fetch "^2.6.7" openai@^5.3.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/openai/-/openai-5.7.0.tgz#5f26b51c8348017f014db51795a983f495abac7c" - integrity sha512-zXWawZl6J/P5Wz57/nKzVT3kJQZvogfuyuNVCdEp4/XU2UNrjL7SsuNpWAyLZbo6HVymwmnfno9toVzBhelygA== + version "5.8.2" + resolved "https://registry.yarnpkg.com/openai/-/openai-5.8.2.tgz#b12f968618deb87f6231b35a21b590d0b529d70b" + integrity sha512-8C+nzoHYgyYOXhHGN6r0fcb4SznuEn1R7YZMvlqDbnCuE0FM2mm3T1HiYW6WIcMS/F1Of2up/cSPjLPaWt0X9Q== openapi-types@^12.1.3: version "12.1.3" @@ -5271,10 +5279,10 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -pg-cloudflare@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.2.6.tgz#3f3afa99495492002d757df645b1be2b5aca099f" - integrity sha512-uxmJAnmIgmYgnSFzgOf2cqGQBzwnRYcrEgXuFjJNEkpedEIPBSEzxY7ph4uA9k1mI+l/GR0HjPNS6FKNZe8SBQ== +pg-cloudflare@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/pg-cloudflare/-/pg-cloudflare-1.2.7.tgz#a1f3d226bab2c45ae75ea54d65ec05ac6cfafbef" + integrity sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg== pg-connection-string@^2.9.1: version "2.9.1" @@ -5291,10 +5299,10 @@ pg-pool@^3.10.1: resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.10.1.tgz#481047c720be2d624792100cac1816f8850d31b2" integrity sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg== -pg-protocol@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.10.2.tgz#76a07dd7f13ce67d7f9cf162dca181923b6641fa" - integrity sha512-Ci7jy8PbaWxfsck2dwZdERcDG2A0MG8JoQILs+uZNjABFuBuItAZCWUNz8sXRDMoui24rJw7WlXqgpMdBSN/vQ== +pg-protocol@^1.10.3: + version "1.10.3" + resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.10.3.tgz#ac9e4778ad3f84d0c5670583bab976ea0a34f69f" + integrity sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ== pg-types@2.2.0: version "2.2.0" @@ -5308,17 +5316,17 @@ pg-types@2.2.0: postgres-interval "^1.1.0" pg@^8.10.0, pg@^8.12.0: - version "8.16.2" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.16.2.tgz#1b3744531abe86ce80209ac560fb6f0e8e15f943" - integrity sha512-OtLWF0mKLmpxelOt9BqVq83QV6bTfsS0XLegIeAKqKjurRnRKie1Dc1iL89MugmSLhftxw6NNCyZhm1yQFLMEQ== + version "8.16.3" + resolved "https://registry.yarnpkg.com/pg/-/pg-8.16.3.tgz#160741d0b44fdf64680e45374b06d632e86c99fd" + integrity sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw== dependencies: pg-connection-string "^2.9.1" pg-pool "^3.10.1" - pg-protocol "^1.10.2" + pg-protocol "^1.10.3" pg-types "2.2.0" pgpass "1.0.5" optionalDependencies: - pg-cloudflare "^1.2.6" + pg-cloudflare "^1.2.7" pgpass@1.0.5: version "1.0.5" @@ -5390,9 +5398,9 @@ prettier@^2.3.1: integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== prettier@^3.5.3: - version "3.6.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.1.tgz#cc3bce21c09a477b1e987b76ce9663925d86ae44" - integrity sha512-5xGWRa90Sp2+x1dQtNpIpeOQpTDBs9cZDmA/qs2vDNN2i18PdapqY7CmBeyLlMuGqXJRIOPaCaVZTLNQRWUH/A== + version "3.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" + integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== process-nextick-args@~2.0.0: version "2.0.1" @@ -5943,12 +5951,13 @@ setprototypeof@1.2.0: integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + version "2.4.12" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.12.tgz#eb8b568bf383dfd1867a32c3f2b74eb52bdbf23f" + integrity sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + safe-buffer "^5.2.1" + to-buffer "^1.2.0" sha1@^1.1.1: version "1.1.1" @@ -6388,9 +6397,9 @@ table@^6.8.0: strip-ansi "^6.0.1" tar-fs@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.0.10.tgz#60f8ccd60fe30164bdd3d6606619650236ed38f7" - integrity sha512-C1SwlQGNLe/jPNqapK8epDsXME7CAJR5RL3GcE6KWx1d9OUByzoHVcbu1VPI8tevg9H8Alae0AApHHFGzrD5zA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.1.0.tgz#4675e2254d81410e609d91581a762608de999d25" + integrity sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w== dependencies: pump "^3.0.0" tar-stream "^3.1.5" @@ -6892,9 +6901,9 @@ verror@1.10.0: extsprintf "^1.2.0" viem@^2.23.15, viem@^2.27.0: - version "2.31.4" - resolved "https://registry.yarnpkg.com/viem/-/viem-2.31.4.tgz#a8cce5579cc495a2586a16dd4062deecc0f53f1d" - integrity sha512-0UZ/asvzl6p44CIBRDbwEcn3HXIQQurBZcMo5qmLhQ8s27Ockk+RYohgTLlpLvkYs8/t4UUEREAbHLuek1kXcw== + version "2.31.7" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.31.7.tgz#1b8afa221a96a98edf9349760c6925f67c123dd6" + integrity sha512-mpB8Hp6xK77E/b/yJmpAIQcxcOfpbrwWNItjnXaIA8lxZYt4JS433Pge2gg6Hp3PwyFtaUMh01j5L8EXnLTjQQ== dependencies: "@noble/curves" "1.9.2" "@noble/hashes" "1.8.0" @@ -7122,9 +7131,9 @@ write-file-atomic@3.0.3: typedarray-to-buffer "^3.1.5" ws@8.17.1, ws@8.18.2, ws@^7.4.6, ws@^8.18.0, ws@^8.18.1: - version "8.18.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a" - integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ== + version "8.18.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" + integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== xtend@^4.0.0, xtend@^4.0.2: version "4.0.2" @@ -7212,6 +7221,6 @@ zod-to-json-schema@^3.22.3, zod-to-json-schema@^3.22.4: integrity sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg== zod@^3.22.4, zod@^3.25.32: - version "3.25.67" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.67.tgz#62987e4078e2ab0f63b491ef0c4f33df24236da8" - integrity sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw== + version "3.25.74" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.74.tgz#9368a3986fe756bd94b9a5baad9919660ff3f250" + integrity sha512-J8poo92VuhKjNknViHRAIuuN6li/EwFbAC8OedzI8uxpEPGiXHGQu9wemIAioIpqgfB4SySaJhdk0mH5Y4ICBg== diff --git a/cloudflared-agent.js b/cloudflared-agent.js deleted file mode 100644 index 811e83a..0000000 --- a/cloudflared-agent.js +++ /dev/null @@ -1,17 +0,0 @@ -const express = require('express'); -const { exec } = require('child_process'); -const app = express(); -app.use(express.json()); - -app.post('/cloudflared/restart', (req, res) => { - exec('docker-compose up -d cloudflared', (err, stdout, stderr) => { - if (err) { - return res.status(500).json({ success: false, message: stderr || err.message }); - } - res.json({ success: true, message: 'cloudflared перезапущен', output: stdout }); - }); -}); - -app.listen(9000, '0.0.0.0', () => { - console.log('Cloudflared agent listening on 0.0.0.0:9000'); -}); \ No newline at end of file diff --git a/cloudflared.env b/cloudflared.env deleted file mode 100644 index 694f32e..0000000 --- a/cloudflared.env +++ /dev/null @@ -1,2 +0,0 @@ -TUNNEL_TOKEN=eyJhIjoiYTY3ODYxMDcyYTE0NGNkZDc0NmU5YzliZGQ4NDc2ZmUiLCJ0IjoiMjc2NGQyOTgtNjZiZC00NDVmLTg1NGQtOWJjYThjNDgxOGNjIiwicyI6IjlCMit6UVJEMmtLeEdWb1YxWGcxMFhSKzk0WUFPazRmalVxNXliNFkzb3R3cHFsL0U3RFM4RGdMdXNZenRIemt2a2dCb3ZRdEdkOFJMdXhFSkp1VUdRPT0ifQ== -DOMAIN=hb3-accelerator.com diff --git a/docker-compose.yml b/docker-compose.yml index 52de142..06ecb4a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -81,7 +81,6 @@ services: volumes: - ./backend:/app - ./frontend/dist:/app/frontend_dist:ro - - ./cloudflared.env:/cloudflared.env - /var/run/docker.sock:/var/run/docker.sock environment: - NODE_ENV=${NODE_ENV:-development} @@ -142,11 +141,8 @@ services: curl -X POST http://ollama:11434/api/pull -d '{\"name\":\"${OLLAMA_MODEL:-qwen2.5:7b}\"}' -H 'Content-Type: application/json' echo 'Done!' " - # cloudflared теперь запускается на хосте через start-dapp.sh - # Это решает проблемы с Docker networking + v2rayN в WSL2 - # Чтобы запустить только Docker сервисы: docker compose up postgres backend frontend - # Чтобы запустить весь стек: make up или ./start-dapp.sh - # Туннельные сервисы удалены - переход на Pinata IPFS для Web3 хостинга + + volumes: postgres_data: null ollama_data: null diff --git a/frontend/src/components/CloudflareDnsManager.vue b/frontend/src/components/CloudflareDnsManager.vue deleted file mode 100644 index e384579..0000000 --- a/frontend/src/components/CloudflareDnsManager.vue +++ /dev/null @@ -1,559 +0,0 @@ - - - - - \ No newline at end of file diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js index 6c497a2..8ceaa9c 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.js @@ -5,7 +5,7 @@ const SettingsAiView = () => import('../views/settings/AiSettingsView.vue'); const SettingsBlockchainView = () => import('../views/settings/BlockchainSettingsView.vue'); const SettingsSecurityView = () => import('../views/settings/SecuritySettingsView.vue'); const SettingsInterfaceView = () => import('../views/settings/Interface/InterfaceSettingsView.vue'); -const SettingsInterfaceCloudflareDetailsView = () => import('../views/settings/Interface/CloudflareDetailsView.vue'); + import axios from 'axios'; import { setToStorage } from '../utils/storage.js'; @@ -53,11 +53,7 @@ const routes = [ name: 'settings-interface', component: SettingsInterfaceView, }, - { - path: 'interface/cloudflare-details', - name: 'settings-interface-cloudflare-details', - component: SettingsInterfaceCloudflareDetailsView, - }, + { path: 'telegram', name: 'settings-telegram', diff --git a/frontend/src/views/settings/DomainConnectBlock.vue b/frontend/src/views/settings/DomainConnectBlock.vue deleted file mode 100644 index 08b8ec4..0000000 --- a/frontend/src/views/settings/DomainConnectBlock.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - - \ No newline at end of file diff --git a/frontend/src/views/settings/Interface/CloudflareDetailsView.vue b/frontend/src/views/settings/Interface/CloudflareDetailsView.vue deleted file mode 100644 index 8d4804f..0000000 --- a/frontend/src/views/settings/Interface/CloudflareDetailsView.vue +++ /dev/null @@ -1,346 +0,0 @@ - - - - - \ No newline at end of file diff --git a/frontend/src/views/settings/Interface/InterfaceSettingsView.vue b/frontend/src/views/settings/Interface/InterfaceSettingsView.vue index fc6eef0..673dce6 100644 --- a/frontend/src/views/settings/Interface/InterfaceSettingsView.vue +++ b/frontend/src/views/settings/Interface/InterfaceSettingsView.vue @@ -1,51 +1,11 @@