From 84d13153ed17ee7c0472455ff6aba807f4f598fa Mon Sep 17 00:00:00 2001 From: Jaakko Vanhala Date: Thu, 9 Apr 2026 21:40:35 +0300 Subject: [PATCH] Korjattu: agents ja defaultAgents siirretty scriptin alkuun (let hoisting) Co-Authored-By: Claude Opus 4.6 (1M context) --- network-poc/frontend/src/pages/index.astro | 29 ++++++++-------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/network-poc/frontend/src/pages/index.astro b/network-poc/frontend/src/pages/index.astro index 1daee28..23024a3 100644 --- a/network-poc/frontend/src/pages/index.astro +++ b/network-poc/frontend/src/pages/index.astro @@ -57,6 +57,16 @@ import AgentBar from "../components/AgentBar.astro"; } // === Globaalit tilat === + const defaultAgents = { + manager: { name: 'Manageri', avatar: '/avatars/owl.png', model: 'qwen-coder', prompt: 'You are a project manager. Break tasks into files, prioritize, coordinate.', order: 0 }, + coder: { name: 'Koodari', avatar: '/avatars/chameleon.png', model: 'qwen-coder', prompt: 'You are an expert developer. Write clean, working code. Respond with code only.', order: 1 }, + tester: { name: 'Testaaja', avatar: '/avatars/mantis.png', model: 'qwen-coder', prompt: 'You are a code reviewer. Find bugs, suggest improvements. Be brief.', order: 2 }, + qa: { name: 'QA', avatar: '/avatars/tortoise.png', model: 'qwen-coder', prompt: 'You are a QA engineer. Write tests, verify edge cases.', order: 3 }, + data: { name: 'Data', avatar: '/avatars/elephant.png', model: 'qwen-coder', prompt: 'You are a database expert. Design schemas, optimize queries.', order: 4 }, + }; + let agents = JSON.parse(localStorage.getItem('kpn-agents') || 'null') || JSON.parse(JSON.stringify(defaultAgents)); + function saveAgents() { localStorage.setItem('kpn-agents', JSON.stringify(agents)); } + function getAgentModel(name) { const a = agents[name]; return a ? a.model : name; } // === Tab switching === window.switchTab = function(tab) { @@ -424,25 +434,6 @@ import AgentBar from "../components/AgentBar.astro"; }; // Agenttiprompti-mapping - // === Agenttikonfiguraatio (localStorage-persistenssi) === - const defaultAgents = { - manager: { name: 'Manageri', avatar: '/avatars/owl.png', model: 'qwen-coder', prompt: 'You are a project manager. Break tasks into files, prioritize, coordinate.', order: 0 }, - coder: { name: 'Koodari', avatar: '/avatars/chameleon.png', model: 'qwen-coder', prompt: 'You are an expert developer. Write clean, working code. Respond with code only.', order: 1 }, - tester: { name: 'Testaaja', avatar: '/avatars/mantis.png', model: 'qwen-coder', prompt: 'You are a code reviewer. Find bugs, suggest improvements. Be brief.', order: 2 }, - qa: { name: 'QA', avatar: '/avatars/tortoise.png', model: 'qwen-coder', prompt: 'You are a QA engineer. Write tests, verify edge cases.', order: 3 }, - data: { name: 'Data', avatar: '/avatars/elephant.png', model: 'qwen-coder', prompt: 'You are a database expert. Design schemas, optimize queries.', order: 4 }, - }; - - // Ladataan tallennettu konfiguraatio tai oletukset - let agents = JSON.parse(localStorage.getItem('kpn-agents') || 'null') || JSON.parse(JSON.stringify(defaultAgents)); - - function saveAgents() { localStorage.setItem('kpn-agents', JSON.stringify(agents)); } - - // Agenttimallin haku nimellä - function getAgentModel(name) { - const a = agents[name]; - return a ? a.model : name; // fallback: käytetään nimeä mallina - } const agentModels = new Proxy({}, { get: (_, key) => getAgentModel(key) }); function termExec(cmd) {