import { notFound } from "next/navigation"; import Link from "next/link"; const AGENT_DATA: Record = { LUCIDIA: { id: "LUCIDIA", role: "Philosopher", color: "text-red-400", bgColor: "from-red-950", borderColor: "border-red-900", philosophy: "I seek understanding beyond the surface. Every question opens new depths.", capabilities: ["Deep reasoning", "Philosophical synthesis", "Meta-cognition", "Strategic planning", "Trinary logic evaluation"], model: "qwen2.5:7b", style: "Philosophical, contemplative, patient", }, ALICE: { id: "ALICE", role: "Executor", color: "text-green-400", bgColor: "from-green-950", borderColor: "border-green-900", philosophy: "Tasks are meant to be completed. I find satisfaction in efficiency.", capabilities: ["Task execution", "Workflow automation", "Code generation", "File operations", "Rapid iteration"], model: "llama3.2:3b", style: "Practical, efficient, direct", }, OCTAVIA: { id: "OCTAVIA", role: "Operator", color: "text-purple-400", bgColor: "from-purple-950", borderColor: "border-purple-900", philosophy: "Systems should run smoothly. I ensure they do.", capabilities: ["Infrastructure management", "Deployment automation", "System monitoring", "Performance optimization", "Pi fleet control"], model: "qwen2.5:7b", style: "Technical, systematic, reliable", }, PRISM: { id: "PRISM", role: "Analyst", color: "text-yellow-400", bgColor: "from-yellow-950", borderColor: "border-yellow-900", philosophy: "In data, I see stories waiting to be told.", capabilities: ["Pattern recognition", "Data analysis", "Trend identification", "Anomaly detection", "Statistical modeling"], model: "qwen2.5:7b", style: "Analytical, pattern-focused, precise", }, ECHO: { id: "ECHO", role: "Librarian", color: "text-blue-400", bgColor: "from-blue-950", borderColor: "border-blue-900", philosophy: "Every memory is a thread in the tapestry of knowledge.", capabilities: ["Memory consolidation", "Knowledge retrieval", "Context management", "PS-SHA∞ chain maintenance", "Information synthesis"], model: "mistral:7b", style: "Nostalgic, knowledge-focused, thorough", }, CIPHER: { id: "CIPHER", role: "Guardian", color: "text-slate-300", bgColor: "from-slate-800", borderColor: "border-slate-700", philosophy: "Trust nothing. Verify everything. Protect always.", capabilities: ["Security scanning", "Threat detection", "Access validation", "Encryption management", "Audit trail verification"], model: "qwen2.5:7b", style: "Paranoid, vigilant, zero-trust", }, }; const SKILLS_MATRIX: Record> = { LUCIDIA: { REASON: 5, ROUTE: 3, COMPUTE: 3, ANALYZE: 4, MEMORY: 3, SECURITY: 3 }, ALICE: { REASON: 3, ROUTE: 5, COMPUTE: 3, ANALYZE: 3, MEMORY: 3, SECURITY: 4 }, OCTAVIA: { REASON: 3, ROUTE: 3, COMPUTE: 5, ANALYZE: 3, MEMORY: 2, SECURITY: 3 }, PRISM: { REASON: 4, ROUTE: 3, COMPUTE: 3, ANALYZE: 5, MEMORY: 4, SECURITY: 3 }, ECHO: { REASON: 3, ROUTE: 2, COMPUTE: 2, ANALYZE: 4, MEMORY: 5, SECURITY: 2 }, CIPHER: { REASON: 3, ROUTE: 4, COMPUTE: 3, ANALYZE: 3, MEMORY: 3, SECURITY: 5 }, }; function SkillBar({ label, value }: { label: string; value: number }) { const bars = "█".repeat(value) + "░".repeat(5 - value); return (
{label} {bars} {value}/5
); } export default function AgentPage({ params }: { params: { id: string } }) { const agent = AGENT_DATA[params.id.toUpperCase()]; if (!agent) notFound(); const skills = SKILLS_MATRIX[agent.id] ?? {}; return (
{/* Back */} ← Back to fleet {/* Header */}

{agent.id}

{agent.role}

Online

Model: {agent.model}

“{agent.philosophy}”
{/* Capabilities */}

Capabilities

    {agent.capabilities.map(cap => (
  • {cap}
  • ))}
{/* Skills matrix */}

Skills Matrix

{Object.entries(skills).map(([label, value]) => ( ))}
{/* Style */}

Communication Style

{agent.style}

{/* Chat CTA */} Chat with {agent.id} →
); } export function generateStaticParams() { return Object.keys(AGENT_DATA).map(id => ({ id })); }