const BASE = '/api' async function request(path, options) { const response = await fetch(`${BASE}${path}`, { headers: { 'Content-Type': 'application/json' }, ...options, }) if (!response.ok) { const body = await response.json().catch(() => ({})) throw new Error(body.detail || `Request failed: ${response.status}`) } return response.json() } export function getCategories() { return request('/categories') } export function listConversations() { return request('/conversations') } export function createConversation(title) { return request('/conversations', { method: 'POST', body: JSON.stringify({ title: title || null }), }) } export function getConversation(id) { return request(`/conversations/${id}`) } export function deleteConversation(id) { return request(`/conversations/${id}`, { method: 'DELETE' }) } export function sendMessage(id, message) { return request(`/conversations/${id}/messages`, { method: 'POST', body: JSON.stringify({ message }), }) }