Saltar al contenido principal

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

  • v1 es 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 en v1 continú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.