Agenttien päivitys kysyy käyttäjältä: OK = oletukset, Peruuta = säilytä omat

Kun AGENTS_VERSION kasvaa eikä localStorage ole tyhjä, näytetään confirm-dialogi:
"Agenttien oletuspromptit on päivitetty. Haluatko ottaa uudet käyttöön?"
- OK: ylikirjoitetaan oletuksilla
- Peruuta: käyttäjän muokkaukset säilyvät

Ensimmäisellä käyttökerralla (tyhjä localStorage) ladataan oletukset ilman kysymystä.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jaakko Vanhala
2026-04-10 07:00:08 +03:00
parent 1987eb57a0
commit d7c974792d

View File

@@ -163,17 +163,22 @@ OUTPUT FORMAT:
- List max 3-5 most important findings
- End with overall assessment: "SHIP IT" or "NEEDS WORK: reason"` },
};
// Versio: kasvata kun oletuspromptit muuttuvat → localStorage päivittyy automaattisesti
// Versio: kasvata kun oletuspromptit muuttuvat
const AGENTS_VERSION = 2;
let agents;
const savedVersion = parseInt(localStorage.getItem('kpn-agents-version') || '0');
if (savedVersion < AGENTS_VERSION) {
// Uudet oletukset — ylikirjoitetaan vanhat
agents = JSON.parse(JSON.stringify(defaultAgents));
localStorage.setItem('kpn-agents', JSON.stringify(agents));
if (savedVersion < AGENTS_VERSION && localStorage.getItem('kpn-agents')) {
// Uudet oletukset saatavilla — kysytään käyttäjältä
if (confirm('Agenttien oletuspromptit on päivitetty. Haluatko ottaa uudet käyttöön?\n\n(OK = päivitä oletuksiin, Peruuta = säilytä omat muokkauksesi)')) {
agents = JSON.parse(JSON.stringify(defaultAgents));
localStorage.setItem('kpn-agents', JSON.stringify(agents));
} else {
agents = JSON.parse(localStorage.getItem('kpn-agents'));
}
localStorage.setItem('kpn-agents-version', String(AGENTS_VERSION));
} else {
agents = JSON.parse(localStorage.getItem('kpn-agents') || 'null') || JSON.parse(JSON.stringify(defaultAgents));
localStorage.setItem('kpn-agents-version', String(AGENTS_VERSION));
}
function saveAgents() { localStorage.setItem('kpn-agents', JSON.stringify(agents)); }
function getAgentModel(name) { const a = agents[name]; return a ? a.model : name; }