// public/ts/service.ts var chatToken = null; async function initializeChat() { try { const response = await fetch("/api/chat/init-chat"); if (!response.ok) { const errorData = await response.json().catch(() => ({ message: "Error desconocido al inicializar." })); throw new Error(errorData.message || `Error del servidor: ${response.status}`); } const data = await response.json(); chatToken = data.chatToken; if (!chatToken) { throw new Error("No se pudo obtener el token de chat."); } return true; } catch (error) { console.error("Error al inicializar el chat:", error); } } async function sendMessage(message, messageList) { if (!chatToken) { return "not_init"; return; } messageList.push({ role: "user", content: message }); const response = await fetch("/api/chat/completions", { method: "POST", headers: { "Content-Type": "application/json", "X-App-Token": chatToken }, body: JSON.stringify({ messages: messageList }) }); if (!response.ok) { const errorData = await response.json().catch(() => ({ message: "Respuesta no válida del servidor." })); throw new Error(errorData.message || `Error del servidor: ${response.status}`); } const data = await response.json(); const assistantResponse = data.response; if (assistantResponse) { messageList.push({ role: "assistant", content: assistantResponse }); return { messageList, assistantResponse }; } else { throw new Error("Respuesta vacía del asistente."); } } async function sendOrder(order) { console.log(order) try { const response = await fetch("/api/printer/order", { method: "POST", headers: { "Content-Type": "application/json", "X-App-Token": chatToken }, body: JSON.stringify(order) }); if (!response.ok) { const errorData = await response.json().catch(() => ({ message: "Respuesta no válida del servidor." })); throw new Error(errorData.message || `Error del servidor: ${response.status}`); } const data = await response.json(); return data; } catch (error) { console.error("Error al enviar la orden:", error); throw error; } } async function getProducts(){ const response = await fetch("/api/get_products"); if (!response.ok) { const errorData = await response.json().catch(() => ({ message: "Respuesta no válida del servidor." })); throw new Error(errorData.message || `Error del servidor: ${response.status}`); } const data = await response.json(); return data.products; } export { initializeChat, sendMessage, sendOrder, getProducts };