diff --git a/network-poc/static/index.html b/network-poc/static/index.html index 6d5c5c9..cce2e48 100644 --- a/network-poc/static/index.html +++ b/network-poc/static/index.html @@ -3122,10 +3122,43 @@ Write the corrected code.`; } // Kuuntele console.log-viestejä pipeline-vaiheiden seuraamiseksi + // Terminaalin lataustilarivi — päivittyy dynaamisesti + function termLoadStatus(phase, detail) { + const term = document.getElementById('agent-terminal'); + if (!term) return; + let statusLine = term.querySelector('.term-load-status'); + if (!statusLine) { + statusLine = document.createElement('div'); + statusLine.className = 'terminal-line term-load-status'; + term.appendChild(statusLine); + } + const spinner = ['⠋','⠙','⠹','⠸','⠼','⠴','⠦','⠧','⠇','⠏']; + const frame = spinner[Math.floor(Date.now() / 100) % spinner.length]; + statusLine.innerHTML = ` ${frame} ${phase}${detail ? ` ${detail}` : ''}`; + term.scrollTop = term.scrollHeight; + } + function termLoadDone() { + const term = document.getElementById('agent-terminal'); + if (!term) return; + const statusLine = term.querySelector('.term-load-status'); + if (statusLine) statusLine.remove(); + } + const origCodeLog = console.log; const codeLogListener = (...args) => { const msg = args.join(' '); if (msg.includes('[Coder]') || msg.includes('[Storage]') || msg.includes('Burn Wasm') || msg.includes('Kipinä Agent Node')) { + // Terminaalin lataustilapäivitys + if (msg.includes('Agent Node käynnistyy')) termLoadStatus('WASM alustettu'); + if (msg.includes('Ladataan') && msg.includes('tokenizer')) termLoadStatus('Ladataan tokenizer...'); + if (msg.includes('tokenizer') && (msg.includes('löytyi') || msg.includes('tallennettu'))) termLoadStatus('Tokenizer ✓'); + if (msg.includes('Ladataan') && msg.includes('gguf')) termLoadStatus('Ladataan mallia...'); + const dlMatch = msg.match(/lataus: (\d+)%/); + if (dlMatch) termLoadStatus('Ladataan mallia...', dlMatch[1] + '%'); + if (msg.includes('tallennettu') && msg.includes('gguf')) termLoadStatus('Malli tallennettu'); + if (msg.includes('Rakennetaan')) termLoadStatus('Rakennetaan mallia...'); + if (msg.includes('Malli ladattu')) termLoadDone(); + if (msg.includes('Burn Wasm')) setStep('step-wasm', 'active'); if (msg.includes('Agent Node käynnistyy')) { setStep('step-wasm', 'done'); } // Tokenizer: [Coder] tai [Storage] -prefiksi