Registro de cambios
Cambios destacados en el embed SDK y la platform API. El contrato wire está
versionado en /embed/v1/* y /inference-api/b2b/v1/*; los cambios incompatibles
se publican como una nueva versión principal junto a la anterior (Versionado del CDN).
2026-09
- SSOT de la política de capacidades. Producto → scope y nivel → API-capabilities
ahora viven una sola vez en
@kaleidr/shared-types(B2B_PRODUCT_REQUIRED_SCOPE,B2B_TIER_API_CAPABILITIES) con pruebas de paridad. Lo consumenshared-api(mint / rotate / PATCH clamp),inference-api(session exchange, runtime credentials) y la documentación. - Capacidad efectiva = clave almacenada × nivel actual. Session exchange
y cada ruta de credenciales en runtime vuelven a calcular la admisión desde el
nivel actual de la organización — una clave Pro degradada a Free ahora crea
únicamente sesiones tile desde ese momento. Subcode distinto:
tier_capability_not_allowed(la tenía, pero el nivel ya no la admite) frente ainsufficient_scope(nunca la tuvo). - Los cambios de plan de facturación invalidan la caché
apikey:*. Los webhooks de suscripción eliminan los snapshots por clave para que los downgrades/upgrades lleguen al runtime inmediatamente. Como las sesiones vuelven a leer la política activa de la clave en cada solicitud, un downgrade ahora también afecta a las sesiones ya creadas — ya no está limitado por el TTL de la sesión. Un upgrade todavía necesita una nueva sesión, porque una sesión solo puede reducir los permisos de su padre. - Se rechaza la ampliación mediante PATCH en Free. Editar una clave Free para
ampliar
scopes/allowed_productsmás allá de lo admitido por el nivel devuelve 403tier_capability_not_allowed, incluido el caso empty-products = all. - Se eliminó el evento SSE
grounding. Grounding sigue influyendo en la respuesta; ya no envía un frame por el wire. Los clientes que lo escuchaban simplemente dejarán de recibirlo.
2026-08
- El acceso al mapa base está autorizado por clave. El uso directo de terceros de
tile.kaleidr.comestá restringido; los embeds<kaleidr-map>y los mapas alojados por Kaleidr no se ven afectados. Las sesiones de mapa base consumen la asignación mensual compartida de cargas de mapas de la organización (quota). - Session exchange + refresh. Las claves publishable se intercambian por
sesiones de corta duración vinculadas al origen (
kld_sess_{env}_…, 15-min TTL); el SDK gestiona la renovación de la sesión. - Place bridge / iframe seam. Se estandarizó la interfaz postMessage para eventos Place entre frames, entre los productos iframe y la página principal.
- Mapa base predeterminado de la organización.
/sdk/sessionsdevuelve elbasemap_style_idpredeterminado almacenado de la organización cuando el embed no especifica uno; el SDK lo aplica antes de recurrir akaleidr-morning. - Rechazo de server key en el navegador. El SDK rechaza
kld_sk_…al montar (las server keys son solo para servidor). - Preparación CDN + API para dev / prod. Ambos entornos se sirven desde
endpoints con versión estable;
viewerBasese separó de labasedel loader ytileBasese separó para el tile CDN del editor. - Colores de ruta Seam v2. El evento route transporta
color/label/alternatives/comparisondentro del contrato estable.
v1
- Loader
kaleidr.js+ elemento<kaleidr-map>— una fachada, cuatro productos (chat / viewer / editor / tile), dos formas de integración. - Claves de navegador publishable (
kld_pk_) y claves server (kld_sk_) con scopesai | maps | design | vendor; las claves publishable se intercambian por sesiones de corta duración vinculadas al origen. Las claves heredadaskld_live_siguen funcionando. - Familias de rutas
/inference-api/b2b/v1/chat/*(SSE) +/design/*.
Esta página se irá completando a medida que se publiquen versiones.