// src/services/openai.js (o directo en main.js por ahora) import OpenAI from "openai"; export const openai = new OpenAI({ apiKey: process.env.OPENAI_APIKEY }); // promptSystem = tu prompt (no lo tocamos mucho) // input = { last_user_message, conversation_history, current_conversation_state, ... } export async function llmPlan({ promptSystem, input }) { const resp = await openai.responses.create({ model: "gpt-5-mini", // o gpt-5 (más caro/mejor) / el que estés usando input: [ { role: "system", content: promptSystem }, { role: "user", content: JSON.stringify(input) } ], // Si estás usando "Structured Outputs" nativo, acá va tu schema. // En caso de que tu SDK no lo soporte directo, lo hacemos con zod/JSON parse robusto. }); const text = resp.output_text; // ojo: depende del SDK/model; es el agregado de outputs return text; }