From aebc64e76e00add0cbb41e5f6126b48d7e082732 Mon Sep 17 00:00:00 2001 From: jaakko Date: Wed, 8 Apr 2026 11:43:15 +0300 Subject: [PATCH] =?UTF-8?q?Tofuist=20poistettu=20Playgroundilta=20(j=C3=A4?= =?UTF-8?q?=C3=A4=20Agent=20Builder=20-esimerkiksi)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Poistettu: avatar-kortti, gallery-head, agentPrompts-entry, avatarMap, värimapit. Tofuist on edelleen Agent Builderin esimerkkiagentti ja docs/tofu-cheatsheet.md säilytetään. Co-Authored-By: Claude Opus 4.6 (1M context) --- network-poc/static/index.html | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/network-poc/static/index.html b/network-poc/static/index.html index 01e735b..8dc47d2 100644 --- a/network-poc/static/index.html +++ b/network-poc/static/index.html @@ -1069,10 +1069,6 @@ DevOps
DevOps
-
- Tofuist -
Tofuist
-
Tarkkailija
Tarkkailija
@@ -1107,7 +1103,6 @@ -
@@ -1302,7 +1297,6 @@ ZIP-paketti sisältäen: data: { name: 'Data-Agentti — System Prompt', model: 'qwen2.5-coder:7b', default: 'Olet tietokanta-asiantuntija. Vastaat skeemojen suunnittelusta, SQL-kyselyiden optimoinnista ja datamalleista.' }, qa: { name: 'QA — System Prompt', model: 'qwen2.5-coder:7b', default: 'Olet laadunvarmistaja (QA). Kirjoitat testejä, etsit virheitä ja varmistat, että kaikki reunatapaukset on huomioitu.' }, tester: { name: 'DevOps — System Prompt', model: 'qwen2.5-coder:7b', default: 'Olet DevOps-insinööri. Kirjoitat Dockerfile- ja docker-compose.yml-tiedostot, README:t ja käynnistysohjeet. Käytä aina multi-stage Docker buildia ja docker compose -orkestrointia.' }, - tofuist: { name: 'Tofuist — System Prompt', model: 'qwen2.5-coder:7b', docs: '/docs/tofu-cheatsheet.md', default: 'You are an OpenTofu/Terraform IaC specialist. You write HCL infrastructure code: providers, resources, modules, variables, outputs, state management, and encryption. You follow OpenTofu best practices: use planning behaviors before apply, handle resource lifecycle (create_before_destroy, prevent_destroy), configure state encryption for sensitive data, and structure code with clear module boundaries. Always output valid HCL code. Use provider references correctly (required_providers block). Prefer data sources over hardcoded values.' }, }; const selectedAgents = new Set(); let sharedPrompt = localStorage.getItem('kpn-shared-prompt') || ''; @@ -1530,7 +1524,7 @@ ZIP-paketti sisältäen: const title = document.getElementById('prompt-modal-title'); const fields = document.getElementById('prompt-modal-fields'); - const agentNames = { manager: 'Manageri', coder: 'Koodari', tester: 'DevOps', qa: 'QA', data: 'Data', tofuist: 'Tofuist' }; + const agentNames = { manager: 'Manageri', coder: 'Koodari', tester: 'DevOps', qa: 'QA', data: 'Data' }; title.textContent = `${agentNames[agent] || agent} — ${label}`; fields.innerHTML = modalPromptParts.map((f, i) => ` @@ -2292,7 +2286,7 @@ IMPORTANT: Include get_db() dependency for FastAPI` }, } renderPipelineSteps(); // Päivitetään agentin avatar tooltip + vilahdus - const avatarMap = { manager: 'avatar-kpn', coder: 'avatar-coder', tester: 'avatar-tester', qa: 'avatar-qa', data: 'avatar-data', tofuist: 'avatar-tofuist' }; + const avatarMap = { manager: 'avatar-kpn', coder: 'avatar-coder', tester: 'avatar-tester', qa: 'avatar-qa', data: 'avatar-data' }; const avatarId = avatarMap[agent]; if (avatarId) { const el = document.getElementById(avatarId); @@ -2322,7 +2316,7 @@ IMPORTANT: Include get_db() dependency for FastAPI` }, if (pipelineSteps.length === 0) { container.style.display = 'none'; return; } container.style.display = 'flex'; container.innerHTML = pipelineSteps.map((s, i) => { - const colors = { manager: '#d29922', coder: '#3fb950', tester: '#58a6ff', qa: '#a371f7', data: '#d2a8ff', tofuist: '#e3a336' }; + const colors = { manager: '#d29922', coder: '#3fb950', tester: '#58a6ff', qa: '#a371f7', data: '#d2a8ff' }; const color = colors[s.agent] || '#8b949e'; const icon = s.status === 'done' ? '✓' : s.status === 'active' ? '◷' : '◯'; const iconColor = s.status === 'done' ? '#3fb950' : s.status === 'active' ? '#d29922' : '#8b949e'; @@ -2989,8 +2983,8 @@ ${fixableFiles}`; function generateProjectReport(task, files, steps, staticIssues) { const fileEntries = Object.entries(files); - const agentNames = { manager: 'Manageri', coder: 'Koodari', tester: 'DevOps', qa: 'QA', data: 'Data', tofuist: 'Tofuist' }; - const agentColors = { manager: '#d29922', coder: '#3fb950', tester: '#58a6ff', qa: '#a371f7', data: '#d2a8ff', tofuist: '#e3a336' }; + const agentNames = { manager: 'Manageri', coder: 'Koodari', tester: 'DevOps', qa: 'QA', data: 'Data' }; + const agentColors = { manager: '#d29922', coder: '#3fb950', tester: '#58a6ff', qa: '#a371f7', data: '#d2a8ff' }; // Syntaksikorostus: kevyt regex-pohjainen highlighter function highlightCode(code, filename) { @@ -3100,9 +3094,9 @@ ${filesHtml} } function generateWorkflowSwimlane(steps) { - const agentLabels = { manager: 'Manageri', coder: 'Koodari', tester: 'DevOps', qa: 'QA', data: 'Data', tofuist: 'Tofuist' }; - const agentColors = { manager: '#d29922', coder: '#3fb950', tester: '#58a6ff', qa: '#a371f7', data: '#d2a8ff', tofuist: '#e3a336' }; - const agentBgs = { manager: '#1c1206', coder: '#0d1a0d', tester: '#0d1520', qa: '#170d22', data: '#1a0d22', tofuist: '#1a1506' }; + const agentLabels = { manager: 'Manageri', coder: 'Koodari', tester: 'DevOps', qa: 'QA', data: 'Data' }; + const agentColors = { manager: '#d29922', coder: '#3fb950', tester: '#58a6ff', qa: '#a371f7', data: '#d2a8ff' }; + const agentBgs = { manager: '#1c1206', coder: '#0d1a0d', tester: '#0d1520', qa: '#170d22', data: '#1a0d22' }; const stepDescs = { 'Suunnittelu': 'Jakaa projektin tiedostoiksi', 'Review': 'Tarkistaa koodin laadun', 'Testit': 'Kirjoittaa pytest-testit', 'Dockerfile': 'Generoi Docker-imagen', 'Compose': 'Palvelumääritys', 'README': 'Käyttöohjeet', 'Validointi': 'Tarkistaa yhteensopivuuden', 'Korjaukset': 'Korjaa löydetyt ongelmat' }; var agents = [];