Generar el kit de integración
syncanix generate escribe un directorio syncanix/ en tu proyecto —el instalador del widget, tus tipos, los archivos de registro y el requisito de CSP— y nunca modifica un archivo que hayas escrito tú.
syncanix generate escribe todo lo que Syncanix necesita como código en un solo directorio de tu proyecto. Crea archivos nuevos y solo archivos nuevos: nada de lo que hace puede cambiar algo que hayas escrito, así que no hay ningún diff tuyo que revisar ni nada que deshacer.
npx syncanix generate --key pk_live_…Qué obtienes
Un directorio, un archivo por responsabilidad, todo ello código legible que es tuyo:
syncanix/
index.ts the one file you import — installs the widget, applies everything below
widget.ts installs the widget from code (idempotent, with a teardown)
types.d.ts types for window.syncanix, so your editor knows the API
actions.ts functions the agent may run on the page
components.ts UI the agent may render in the chat
data-sources.ts live data the agent may read
page-actions.ts the routes and controls from your last scan
csp.ts the CSP sources the widget needs, as a value to spread
identity.ts your token provider (written only with --idp)El archivo barrel es la clave: instala la cola de comandos, luego el widget y después aplica cada registro del directorio, en el orden que hace que funcionen. Así tu aplicación importa una sola ruta y nada más.
import './syncanix';Estos archivos son tuyos para editarlos
El generador registra un hash de lo que escribió. Al volver a ejecutarlo, actualiza los archivos que no has tocado y deja los que sí, informando de ellos en lugar de sobrescribirlos, de modo que añadir tus propias acciones a actions.ts no te deja en el lado equivocado de la siguiente actualización.
Decirle a Syncanix quién es el visitante
Nombra tu proveedor de identidad y el generador escribe identity.ts para él. Recibe tu función de obtención del token como argumento en lugar de recurrir a una variable global, porque tu cliente de autenticación es algo a lo que solo puede llegar tu propio código; por eso el barrel deliberadamente no lo llama, y lo conectas tú desde donde viva ese cliente.
npx syncanix generate --key pk_live_… --idp auth0import { connectSyncanixIdentity } from './syncanix/identity';
connectSyncanixIdentity(() => auth0.getAccessTokenSilently());Las rutas y los controles salen de tu análisis
page-actions.ts le dice al agente a qué páginas puede llegar y qué controles puede operar. Ejecuta antes un análisis y el generador lo rellena por ti; sin él, escribe un ejemplo comentado para que lo rellenes a mano.
npx syncanix init
npx syncanix generateO deja que lo haga la CLI por ti
Hay dos formas de instalar el widget, y cuál quieres es un hecho sobre tu repositorio más que una recomendación que podamos hacerte nosotros.
- syncanix integrate
- Encuentra tu framework y hace las modificaciones: el fragmento de inserción en tu HTML, tu Content-Security-Policy, las variables en .env. Apruebas cada archivo desde su diff, cada sobrescritura se respalda, se aplica el conjunto entero o no se aplica nada, y --uninstall lo deja como estaba.
- syncanix generate
- Escribe el kit y nada más. Recurre a esto cuando no quieras dar el visto bueno a que una herramienta modifique tu repositorio.
- syncanix integrate --kit
- Ambas cosas: la detección, la aprobación, las modificaciones de CSP y .env y la desinstalación, pero el código va al kit y tu HTML se queda intacto porque el kit instala el widget desde código. Tú añades la única importación.
npx syncanix integrate --kit