Single MySQL connection cannot handle concurrent prepared statements
via Promise.all — causes protocol conflicts and JSON parse errors.
Switch all bi.queries.js functions to use pool.execute() (each query
gets its own connection from pool). Bump connectionLimit 10→20.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Independent dashboard for CambioReal agents with local SQLite auth
and read-only RDS connection. Features login, per-agent transaction
filtering, KPIs, charts (Chart.js), and detailed transaction table.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>