Korjattu: agents ja defaultAgents siirretty scriptin alkuun (let hoisting)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,16 @@ import AgentBar from "../components/AgentBar.astro";
|
|||||||
}
|
}
|
||||||
|
|
||||||
// === Globaalit tilat ===
|
// === 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 ===
|
// === Tab switching ===
|
||||||
window.switchTab = function(tab) {
|
window.switchTab = function(tab) {
|
||||||
@@ -424,25 +434,6 @@ import AgentBar from "../components/AgentBar.astro";
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Agenttiprompti-mapping
|
// 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) });
|
const agentModels = new Proxy({}, { get: (_, key) => getAgentModel(key) });
|
||||||
|
|
||||||
function termExec(cmd) {
|
function termExec(cmd) {
|
||||||
|
|||||||
Reference in New Issue
Block a user