- Legacy frontend removed: React SPA served at / (no /app/ prefix) - Compliance report ZIP: Chromium headless --print-to-pdf (identical to browser) + CSV findings - Server-side generation state: .compliance_generating marker survives page navigation - RAG enriched: Description + Rationale + Remediation + Audit extracted from CIS vector chunks - Chat markdown: syntax highlighting (Catppuccin), styled headings/lists/tables/blockquotes/code - Default model auto-selected on Chat Agent load
23 lines
896 B
HTML
23 lines
896 B
HTML
<!doctype html>
|
|
<html lang="pt-BR">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<link rel="icon" type="image/svg+xml" href="/app/logo.svg" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>AI Agent - Infrastructure & Security Engineer</title>
|
|
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
|
<script type="module" crossorigin src="/assets/index-Dtsz7Biu.js"></script>
|
|
<link rel="stylesheet" crossorigin href="/assets/index-Ca4AYldT.css">
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
<script>
|
|
// Restore theme before React hydration to avoid flash
|
|
(function() {
|
|
var t = localStorage.getItem('theme') || 'light';
|
|
document.documentElement.className = t;
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html>
|