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