El widget expone una API global en window.ThaliqWidget que permite controlarlo programaticamente desde JavaScript.
Como acceder a la instancia
Hay dos formas de inicializar el widget, y cada una expone la API de manera distinta:
Opcion A — Auto-init con data-api-key
Despues de cargar, window.ThaliqWidget es directamente la instancia. Podes llamar metodos sobre el global:
Opcion B — Init programatico
ThaliqWidget.init() retorna la instancia. El global window.ThaliqWidget sigue siendo { init, _class } (no la instancia). Guarda el retorno para llamar metodos despues.
No mezcles estilos. Si usas <script data-api-key> para auto-init, no llames ThaliqWidget.init() despues — sobreescribirias la instancia.
Metodos de la instancia
open()
Abre la ventana de chat.
close()
Cierra la ventana de chat.
toggle()
Alterna entre abierto y cerrado.
send(text)
Envia un mensaje programaticamente. Util para iniciar conversaciones contextuales. Internamente escribe el texto en el input y dispara el envio.
Ejemplo: Boton contextual
reset()
Reinicia la conversacion: limpia los mensajes en pantalla, descarta el conversationId activo y vuelve al estado inicial. La proxima request crea un thread nuevo.
setMcpTokens(tokens)
Actualiza los tokens MCP en runtime (passthrough al backend en el header X-MCP-Tokens). Util cuando el usuario se loguea contra un sistema externo despues de cargar el widget y necesitas darle acceso al MCP server correspondiente sin recargar.
destroy()
Elimina el widget completamente del DOM y limpia listeners + suscripcion SSE. Util para SPAs cuando navegas a otra pagina o cuando el componente que lo monta se desmontya.
Ejemplo: Abrir el chat automaticamente
Ejemplo: Abrir con un boton custom
Usa data-show-launcher="false" para ocultar el boton flotante y controlar el chat con tu propio boton:
Ejemplo: Mensaje contextual segun la pagina