Versionado del CDN
Cada recurso de embed se sirve desde una ruta de alias de versión principal:
https://cdn.kaleidr.com/embed/v1/kaleidr.js ← the loader (façade)
https://cdn.kaleidr.com/embed/v1/chat.js ← chat bundle
https://cdn.kaleidr.com/embed/v1/viewer.js ← viewer loader
https://cdn.kaleidr.com/embed/v1/editor.js ← editor bundle
https://cdn.kaleidr.com/embed/v1/tile.js ← tile loader
Fijas kaleidr.js; este solicita a su vez la versión v1 de cada paquete de producto.
Qué es realmente v1
v1es un alias de contrato de versión principal, no una versión de compilación fijada. No existen rutas de patch ni content-hash dentro de/embed/v1/*. El archivo que sirve esa URL es la compilación v1 actual, publicada en el mismo lugar; no existe/embed/v1.2.3/…que puedas fijar.- Las correcciones compatibles hacia atrás se publican dentro de
/embed/v1/— las recibes automáticamente. Esto incluye ampliaciones de comportamiento (nuevos eventos SSE estables, nuevos métodos de handle) — la regla de compatibilidad establece que los clientes deben ignorar las adiciones wire desconocidas y que los métodos de handle no compatibles deben actuar como no-op con una advertencia. - Un cambio incompatible de wire/postMessage se publica como una nueva versión principal junto a v1:
/embed/v2/kaleidr.js(+/embed/v2/<product>.js). Tu URL fijada env1continúa funcionando sin cambios; migra cuando quieras aumentando la ruta.
El contrato SSE wire se versiona del mismo modo en
/inference-api/b2b/v1/* — v2 solo aparece cuando hay un cambio incompatible
en el stream.
Caché
Los paquetes se sirven con Cache-Control: public, max-age=300 y cada
publicación invalida la distribución de CloudFront — por lo que la propagación práctica es de
aprox. 1–5 minutos en el edge, más hasta 300 s adicionales para un
navegador que ya haya almacenado en caché el archivo anterior. Esto es rápido para las correcciones;
también es la razón por la que no deberías aplicar fingerprint ni almacenar estos
archivos localmente a largo plazo sin un plan para sustituirlos.
Alojamiento propio
Apuntar solo kaleidr.js a tu propio origen no te aísla
del CDN de Kaleidr — el loader sigue obteniendo los paquetes lazy
(chat.js, editor.js, viewer.js, tile.js) desde
cdn.kaleidr.com al montar. Para alojarlo todo por tu cuenta, sustituye la base del loader
y replica los cinco archivos en {origin}/embed/v1/:
<script>window.__KALEIDR_EMBED_BASE__ = 'https://cdn.example.com';</script>
<script src="https://cdn.example.com/embed/v1/kaleidr.js"></script>
Si tu embed también se comunica con la platform API o con un tile CDN privado,
sustituye cada uno de forma independiente — consulta
api-base,
viewer-base y
tile-base.