'use client'; import { useEffect, useState } from 'react'; import { api } from '@/lib/api'; interface SessionInfo { id: string; provider: string; modelId: string; createdAt: string; promptCount: number; channels: string[]; durationMs: number; } interface SessionsResponse { sessions: SessionInfo[]; total: number; } export default function AdminPage(): React.ReactElement { const [sessions, setSessions] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { api('/api/sessions') .then((res) => setSessions(res.sessions)) .catch(() => {}) .finally(() => setLoading(false)); }, []); return (

Admin

{/* User Management placeholder */}

User Management

User management will be available when the admin API is implemented

{/* Active Agent Sessions */}

Active Agent Sessions

{loading ? (

Loading sessions...

) : sessions.length === 0 ? (

No active sessions

) : (
{sessions.map((s) => ( ))}
Session ID Provider Model Prompts Duration
{s.id} {s.provider} {s.modelId} {s.promptCount} {formatDuration(s.durationMs)}
)}
); } function formatDuration(ms: number): string { const seconds = Math.floor(ms / 1000); if (seconds < 60) return `${seconds}s`; const minutes = Math.floor(seconds / 60); if (minutes < 60) return `${minutes}m ${seconds % 60}s`; const hours = Math.floor(minutes / 60); return `${hours}h ${minutes % 60}m`; }