import { describe, expect, it } from 'vitest'
import { renderTeamRunDashboard } from '../src/dashboard/render-team-run-dashboard.js'
describe('renderTeamRunDashboard', () => {
it('does not embed unescaped script terminators in the JSON payload and keeps XSS payloads out of HTML markup', () => {
const malicious = '"
"'
const html = renderTeamRunDashboard({
success: true,
goal: 'safe-goal',
tasks: [
{
id: 't1',
title: malicious,
status: 'pending',
dependsOn: [],
},
],
agentResults: new Map(),
totalTokenUsage: { input_tokens: 0, output_tokens: 0 },
})
const dataOpen = 'id="oma-data">'
const start = html.indexOf(dataOpen)
expect(start).toBeGreaterThan(-1)
const contentStart = start + dataOpen.length
const end = html.indexOf('', contentStart)
expect(end).toBeGreaterThan(contentStart)
const jsonSlice = html.slice(contentStart, end)
expect(jsonSlice.toLowerCase()).not.toContain(' {
const description = 'danger: