Guía paso a paso para migrar de SofIA SDK v0.x a v1.0
Esta guía cubre cada cambio importante y deprecación entre SofIA SDK v0.0.x y v1.0.0, con ejemplos de código antes/después y un checklist para completar la migración.Comienza actualizando a la última versión:
npm install @omniloy/sofia-sdk@latest
Luego asegúrate de importar el SDK una vez en el archivo de entrada de tu aplicación — esta importación por efecto secundario es la que registra el custom element <sofia-sdk>. Sin ella, el componente nunca se monta:
// En tu archivo de entrada (main.js, index.js, app.js, ...)import '@omniloy/sofia-sdk';
¿Usas React? Importa el componente y sus estilos desde el subpath /react en su lugar:
import { Omniscribe } from '@omniloy/sofia-sdk/react';import '@omniloy/sofia-sdk/react/index.css';
¿No estás seguro de si el SDK se registró? Ejecuta customElements.get('sofia-sdk') en la consola del navegador — debería devolver la definición del componente, no undefined.
El modo solo-chat ahora es automático. Si omites tanto template como templateid, el SDK opera en modo solo-chat sin mostrar el botón de generar.Antes (v0.x):
<sofia-sdk isonlychat="true" baseurl="https://..." <!-- otras props -->></sofia-sdk>
Después (v1.0):
<!-- Simplemente omitir template y templateid --><sofia-sdk baseurl="https://..." <!-- otras props -->></sofia-sdk>
Para ocultar el botón de generar, omite template y templateid en lugar de configurar un flag.Antes (v0.x):
<sofia-sdk disablegenerate="true" toolsargs='...' <!-- otras props -->></sofia-sdk>
Después (v1.0):
<!-- Omitir template y templateid para deshabilitar la generación --><sofia-sdk baseurl="https://..." <!-- otras props, sin template/templateid -->></sofia-sdk>
Si el componente no debe renderizarse, no lo montes en absoluto en lugar de pasar un flag de deshabilitación.Antes (v0.x):
<sofia-sdk disableactions="true" ...></sofia-sdk>
Después (v1.0):
// Renderizar condicionalmente según la lógica de tu aplicaciónif (deberíaMostrarSofia) { document.getElementById('container').innerHTML = '<sofia-sdk ...></sofia-sdk>';}
7. Eliminar wssurl (v1.0.7+) y simplificar baseurl (v1.0.8+)
Desde v1.0.7, wssurl está deprecada y se ignora — la URL del WebSocket de transcripción la proporciona la API de settings. Elimínala. Para las claves más nuevas, el SDK (v1.0.8) resuelve el endpoint automáticamente, por lo que también puedes quitar baseurl (Omniloy te indica si tu clave lo necesita).Antes:
Eliminados los callbacks renderReportContent y handleFill
Eliminado wssurl — deprecada e ignorada desde v1.0.7
Quitado baseurl si tu clave no lo requiere (desde v1.0.8); mantenido en caso contrario
Verificado que el callback handleReport sigue funcionando correctamente
Probado con debug="true" para confirmar que no hay warnings de deprecación en consola
Validado en todos los navegadores objetivo
Habilita debug="true" durante la migración. El SDK registra warnings de deprecación para cualquier prop de v0.x que siga en uso, con el prefijo [Sofia SDK] DEPRECATED:.
Estas props fueron deprecadas en v0.0.10 y se eliminan en v1.0. Si aún se pasan, no tienen efecto funcional pero emiten warnings de deprecación cuando debug="true" está habilitado.