import { apiFetch, apiPost } from './client'; import type { TelemetrySnapshot, CombatStatsMessage, ServerHealth } from '../types'; interface LiveResponse { players: TelemetrySnapshot[]; } interface CombatStatsResponse { stats: CombatStatsMessage[]; } // v1 response shapes: /total-rares → { all_time, today }, /total-kills → { total } interface RaresResponse { all_time: number; today: number; } interface KillsResponse { total: number; } export const getLive = () => apiFetch('/live'); export const getCombatStats = () => apiFetch('/combat-stats'); export const getServerHealth = () => apiFetch('/server-health'); export const getTotalRares = () => apiFetch('/total-rares'); export const getTotalKills = () => apiFetch('/total-kills'); export const getCharacterStats = (name: string) => apiFetch>(`/character-stats/${encodeURIComponent(name)}`); // ─── Agent endpoints (host-side service via /api/agent/*) ────────────────── export interface AgentAskResponse { result: string; session_id: string; duration_ms: number; num_turns: number; is_error: boolean; } export interface AgentHistoryMessage { role: 'user' | 'assistant'; text: string; timestamp?: string; } export const agentAsk = (message: string, sessionId: string) => apiPost('/agent/ask', { message, session_id: sessionId }); export const agentNewSession = () => apiPost<{ session_id: string }>('/agent/sessions/new', {}); export const agentSessionHistory = (sessionId: string) => apiFetch<{ messages: AgentHistoryMessage[] }>( `/agent/sessions/${encodeURIComponent(sessionId)}/history`, );