{
  "timestamp":"2026-04-29T09:13:25Z",
  "dbType":"sqlite",
  "chatHealth":{"up":false,"code":0,"data":null},
  "eco3Health":{"up":false,"code":0,"data":null},
  "envCheck":[],
  "envTemplateFound":false,
  "database":{
    "sqliteChat":{"cmd":"sudo ls -la /var/www/kcy-ecosystem/private/chat/database/amschat.db 2>&1","output":"ls: cannot access '/var/www/kcy-ecosystem/private/chat/database/amschat.db': No such file or directory","ok":false},
    "tableCount":0,
    "sqliteInfo":{"cmd":"sudo file /var/www/kcy-ecosystem/private/chat/database/amschat.db 2>&1","output":"sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper\nsudo: a password is required","ok":false}
  },
  "services":{
    "chatService":{"cmd":"sudo systemctl is-active kcy-chat","output":"activating","ok":false},
    "chatDetail":{"cmd":"sudo systemctl status kcy-chat --no-pager -l 2>&1 | head -20","output":"\u25cf kcy-chat.service - KCY Chat Backend\n     Loaded: loaded (/etc/systemd/system/kcy-chat.service; enabled; preset: enabled)\n     Active: activating (auto-restart) (Result: exit-code) since Wed 2026-04-29 09:13:19 UTC; 5s ago\n    Process: 3185282 ExecStart=/usr/bin/node server.js (code=exited, status=1/FAILURE)\n   Main PID: 3185282 (code=exited, status=1/FAILURE)\n        CPU: 96ms\n\nApr 29 09:13:19 ams-chat systemd[1]: kcy-chat.service: Failed with result 'exit-code'.","ok":true},
    "eco3Service":{"cmd":"sudo systemctl is-active kcy-eco3","output":"activating","ok":false},
    "eco3Detail":{"cmd":"sudo systemctl status kcy-eco3 --no-pager -l 2>&1 | head -20","output":"\u25cf kcy-eco3.service - KCY ECO-3 AI Studio Backend\n     Loaded: loaded (/etc/systemd/system/kcy-eco3.service; enabled; preset: enabled)\n     Active: activating (auto-restart) (Result: exit-code) since Wed 2026-04-29 09:13:19 UTC; 6s ago\n    Process: 3185283 ExecStart=/usr/bin/node server.js (code=exited, status=1/FAILURE)\n   Main PID: 3185283 (code=exited, status=1/FAILURE)\n        CPU: 97ms","ok":true},
    "nginxService":{"cmd":"sudo systemctl is-active nginx","output":"active","ok":true},
    "nginxDetail":{"cmd":"sudo systemctl status nginx --no-pager -l 2>&1 | head -15","output":"\u25cf nginx.service - A high performance web server and a reverse proxy server\n     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)\n     Active: active (running) since Tue 2026-04-28 06:55:18 UTC; 1 day 2h ago\n       Docs: man:nginx(8)\n    Process: 3015220 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)\n    Process: 3015222 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)\n   Main PID: 3015248 (nginx)\n      Tasks: 2 (limit: 1107)\n     Memory: 5.2M (peak: 5.5M)\n        CPU: 2.315s\n     CGroup: /system.slice/nginx.service\n             \u251c\u25003015248 \"nginx: master process /usr/sbin/nginx -g daemon on; master_process on;\"\n             \u2514\u25003015250 \"nginx: worker process\"\n\nApr 28 06:55:18 ams-chat systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...","ok":true}
  },
  "network":{
    "ports":{"cmd":"sudo ss -tlnp 2>/dev/null | grep -E ':3000|:3001|:80|:443|:5432' || echo '\u043d\u044f\u043c\u0430'","output":"LISTEN 0      200        127.0.0.1:5432      0.0.0.0:*    users:((\"postgres\",pid=2052473,fd=7))                        \nLISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:((\"nginx\",pid=3015250,fd=7),(\"nginx\",pid=3015248,fd=7))\nLISTEN 0      511          0.0.0.0:443       0.0.0.0:*    users:((\"nginx\",pid=3015250,fd=9),(\"nginx\",pid=3015248,fd=9))\nLISTEN 0      200            [::1]:5432         [::]:*    users:((\"postgres\",pid=2052473,fd=6))                        \nLISTEN 0      511             [::]:80           [::]:*    users:((\"nginx\",pid=3015250,fd=8),(\"nginx\",pid=3015248,fd=8))\nLISTEN 0      511             [::]:443          [::]:*    users:((\"nginx\",pid=3015250,fd=10),(\"nginx\",pid=3015248,fd=10))","ok":true}
  },
  "nginx":{
    "configTest":{"cmd":"sudo nginx -t","output":"nginx: the configuration file /etc/nginx/nginx.conf syntax is ok\nnginx: configuration file /etc/nginx/nginx.conf test is successful","ok":true},
    "chatProxy":{"cmd":"grep -A8 'location.*/api/chat\\|proxy_pass.*3000' /etc/nginx/sites-enabled/* 2>/dev/null || echo '\u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0430'","output":"        proxy_pass http://127.0.0.1:3000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection 'upgrade';\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_cache_bypass $http_upgrade;\n--\n        proxy_pass http://127.0.0.1:3000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"Upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n    }\n\n    # Shared assets (CORS)","ok":true},
    "eco3Proxy":{"cmd":"grep -A8 'eco3\\|eco-3' /etc/nginx/sites-enabled/* 2>/dev/null || echo '\u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u0430'","output":"    # /api/eco3/health \u2192 http://127.0.0.1:3001/health\n    location /api/eco3/ {\n        proxy_pass http://127.0.0.1:3001/;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection 'upgrade';\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;","ok":true}
  },
  "filesystem":{
    "envFile":{"cmd":"ls -la /var/www/kcy-ecosystem/private/configs/.env 2>&1","output":"-rw-r----- 1 root kcy 10948 Mar  1 12:46 /var/www/kcy-ecosystem/private/configs/.env","ok":true},
    "envTemplate":{"cmd":"ls -la /var/www/kcy-ecosystem/private/configs/.env.example 2>/dev/null || echo '\u041b\u0418\u041f\u0421\u0412\u0410'","output":"\u041b\u0418\u041f\u0421\u0412\u0410","ok":true},
    "chatDir":{"cmd":"sudo ls -la /var/www/kcy-ecosystem/private/chat/ 2>&1 | head -8","output":"total 64\ndrwxr-x--- 11 kcy-chat kcy  4096 Mar  1 12:36 .\ndrwxr-xr-x  8 root     kcy  4096 Feb 21 11:05 ..\ndrwxr-x---  2 kcy-chat kcy  4096 Mar  1 12:36 assets\ndrwxr-x---  2 kcy-chat kcy  4096 Mar  1 12:36 configs\ndrwxr-x---  2 kcy-chat kcy  4096 Mar  1 12:36 database\ndrwxr-x---  3 kcy-chat kcy  4096 Mar  1 12:36 docs\ndrwxr-x---  2 kcy-chat kcy  4096 Mar  1 12:36 middleware","ok":true},
    "eco3Dir":{"cmd":"sudo ls -la /var/www/kcy-ecosystem/private/eco-3/ 2>&1 | head -8","output":"total 44\ndrwxr-x--- 4 kcy-eco3 kcy  4096 Mar  1 12:36 .\ndrwxr-xr-x 8 root     kcy  4096 Feb 21 11:05 ..\ndrwxr-x--- 2 kcy-eco3 kcy  4096 Mar  1 12:48 database\ndrwxr-x--- 2 kcy-eco3 kcy  4096 Feb 25 14:13 logs\n-rwxr-x--- 1 kcy-eco3 kcy   595 Feb 25 14:15 package.json\n-rwxr-x--- 1 kcy-eco3 kcy 22095 Feb 25 18:53 server.js","ok":true},
    "nodeModules":{"cmd":"ls -d /var/www/kcy-ecosystem/node_modules 2>&1","output":"/var/www/kcy-ecosystem/node_modules","ok":true},
    "tokenDir":{"cmd":"sudo ls /var/www/kcy-ecosystem/private/token/ 2>/dev/null | head -10 || echo '\u041b\u0418\u041f\u0421\u0412\u0410'","output":"admin\nconfig\ncontracts\ndocs\nhardhat.config.js\ninstall-testnet-mainnet.txt\npackage.json\nscripts\nutils\nwebsite","ok":true},
    "multisigDir":{"cmd":"sudo ls /var/www/kcy-ecosystem/private/multisig/ 2>/dev/null | head -10 || echo '\u041b\u0418\u041f\u0421\u0412\u0410'","output":"contracts\ndocs\nhardhat.config.cjs\nignition\npackage.json\npublic\nscripts\ntsconfig.json","ok":true},
    "diskUsage":{"cmd":"df -h /var/www 2>/dev/null | tail -1","output":"/dev/vda1        24G  6.3G   17G  27% /","ok":true},
    "ramUsage":{"cmd":"free -h 2>/dev/null | grep Mem","output":"Mem:           961Mi       351Mi       112Mi        17Mi       671Mi       609Mi","ok":true},
    "nodeVersion":{"cmd":"node -v","output":"v20.20.0","ok":true},
    "hostname":{"cmd":"hostname","output":"ams-chat","ok":true}
  },
  "ssl":{
    "certInfo":{"cmd":"sudo openssl x509 -enddate -noout -in /etc/letsencrypt/live/*/fullchain.pem 2>/dev/null | head -1 || echo '\u043d\u044f\u043c\u0430'","output":"","ok":true}
  },
  "logs":{
    "chatLogs":{"cmd":"sudo journalctl -u kcy-chat --no-pager -n 15 2>/dev/null || echo '\u043d\u044f\u043c\u0430'","output":"Apr 29 09:13:19 ams-chat kcy-chat[3185282]:     at Module._load (node:internal/modules/cjs/loader:1038:27)\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:     at Module.require (node:internal/modules/cjs/loader:1289:19)\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:     at require (node:internal/modules/helpers:182:18)\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:     at Object.<anonymous> (/var/www/kcy-ecosystem/private/chat/server.js:2:17)\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:     at Module._compile (node:internal/modules/cjs/loader:1521:14)\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:     at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:     at Module.load (node:internal/modules/cjs/loader:1266:32)\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:     at Module._load (node:internal/modules/cjs/loader:1091:12)\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) {\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:   code: 'MODULE_NOT_FOUND',\nApr 29 09:13:19 ams-chat kcy-chat[3185282]:   requireStack: [ '/var/www/kcy-ecosystem/private/chat/server.js' ]\nApr 29 09:13:19 ams-chat kcy-chat[3185282]: }\nApr 29 09:13:19 ams-chat kcy-chat[3185282]: Node.js v20.20.0\nApr 29 09:13:19 ams-chat systemd[1]: kcy-chat.service: Main process exited, code=exited, status=1/FAILURE\nApr 29 09:13:19 ams-chat systemd[1]: kcy-chat.service: Failed with result 'exit-code'.","ok":true},
    "eco3Logs":{"cmd":"sudo journalctl -u kcy-eco3 --no-pager -n 15 2>/dev/null || echo '\u043d\u044f\u043c\u0430'","output":"Apr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at Module._load (node:internal/modules/cjs/loader:1038:27)\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at Module.require (node:internal/modules/cjs/loader:1289:19)\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at require (node:internal/modules/helpers:182:18)\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at Object.<anonymous> (/var/www/kcy-ecosystem/private/eco-3/server.js:6:17)\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at Module._compile (node:internal/modules/cjs/loader:1521:14)\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at Module._extensions..js (node:internal/modules/cjs/loader:1623:10)\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at Module.load (node:internal/modules/cjs/loader:1266:32)\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at Module._load (node:internal/modules/cjs/loader:1091:12)\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:164:12) {\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:   code: 'MODULE_NOT_FOUND',\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]:   requireStack: [ '/var/www/kcy-ecosystem/private/eco-3/server.js' ]\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]: }\nApr 29 09:13:19 ams-chat kcy-eco3[3185283]: Node.js v20.20.0\nApr 29 09:13:19 ams-chat systemd[1]: kcy-eco3.service: Main process exited, code=exited, status=1/FAILURE\nApr 29 09:13:19 ams-chat systemd[1]: kcy-eco3.service: Failed with result 'exit-code'.","ok":true},
    "nginxErrorLog":{"cmd":"tail -15 /var/log/nginx/error.log 2>/dev/null || echo '\u043d\u044f\u043c\u0430'","output":"","ok":true}
  }
}
