const out = document.getElementById('debug-output') const btnCopy = document.getElementById('btn-copy') const btnRefresh = document.getElementById('btn-refresh') const btnClear = document.getElementById('btn-clear') const render = lines => { out.textContent = lines.join('\n') out.scrollTop = out.scrollHeight } const load = async () => { const res = await fetch('/api/debug/logs?limit=5000') const data = await res.json() if (data.ok) render(data.lines) } btnCopy.addEventListener('click', async () => { const text = out.textContent || '' try { await navigator.clipboard.writeText(text) } catch {} }) btnRefresh.addEventListener('click', load) btnClear.addEventListener('click', async () => { await fetch('/api/debug/clear', { method: 'POST' }) await load() }) setInterval(load, 5000) load()