Registro de alterações
Alterações relevantes no embed SDK e na platform API. O contrato wire é
versionado em /embed/v1/* e /inference-api/b2b/v1/*; alterações incompatíveis
são publicadas como uma nova versão principal ao lado da anterior (Versionamento do CDN).
2026-09
- SSOT da política de capacidades. Produto → scope e tier → API-capabilities
agora existem uma única vez em
@kaleidr/shared-types(B2B_PRODUCT_REQUIRED_SCOPE,B2B_TIER_API_CAPABILITIES) com testes de paridade. Consumido porshared-api(mint / rotate / PATCH clamp),inference-api(session exchange, runtime credentials) e pela documentação. - Capacidade efetiva = chave armazenada × tier atual. Session exchange
e cada caminho de runtime credential recalculam a admissão a partir do
tier atual da organização — uma chave Pro rebaixada para Free passa a criar
somente sessões tile a partir desse momento. Subcode distinto:
tier_capability_not_allowed(possuía a capacidade, mas o tier não permite mais) versusinsufficient_scope(nunca possuiu). - Alterações no plano de cobrança invalidam o cache
apikey:*. Webhooks de assinatura removem os snapshots por chave para que downgrades/upgrades cheguem imediatamente ao runtime. Como as sessões releem a política ativa da chave em cada solicitação, um downgrade agora também alcança sessões já criadas — ele não fica mais limitado pelo TTL da sessão. Um upgrade ainda precisa de uma nova sessão, pois uma sessão só pode restringir os privilégios do seu pai. - Ampliação via PATCH no Free rejeitada. Editar uma chave Free para
ampliar
scopes/allowed_productsalém do permitido pelo tier retorna 403tier_capability_not_allowed, incluindo o caso empty-products = all. - Evento SSE
groundingremovido. Grounding continua influenciando a resposta; ele apenas não envia mais um frame pelo wire. Clientes que o escutavam simplesmente deixarão de recebê-lo.
2026-08
- O acesso ao mapa-base é autorizado por chave. O uso direto por terceiros de
tile.kaleidr.comé restrito; embeds<kaleidr-map>e mapas hospedados pela Kaleidr não são afetados. Sessões de mapa-base consomem a franquia mensal compartilhada de carregamentos de mapas da organização (quota). - Session exchange + refresh. Chaves publishable são trocadas por
sessões de curta duração vinculadas à origem (
kld_sess_{env}_…, 15-min TTL); o SDK gerencia a renovação da sessão. - Place bridge / iframe seam. A interface postMessage para eventos Place entre frames, entre os produtos iframe e a página pai, foi padronizada.
- Mapa-base padrão da organização.
/sdk/sessionsretorna obasemap_style_idpadrão armazenado da organização quando o embed não especifica um; o SDK o aplica antes de usarkaleidr-morningcomo fallback. - Recusa de server key no navegador. O SDK recusa
kld_sk_…na montagem (server keys são apenas para servidor). - Preparação CDN + API de dev / prod. Ambos os ambientes são servidos por
endpoints estáveis em versão;
viewerBasefoi separado dabasedo loader etileBaseseparado para o tile CDN do editor. - Cores de rota Seam v2. O evento route inclui
color/label/alternatives/comparisonno contrato estável.
v1
- Loader
kaleidr.js+ elemento<kaleidr-map>— uma façade, quatro produtos (chat / viewer / editor / tile), duas formas de integração. - Chaves de navegador publishable (
kld_pk_) e chaves server (kld_sk_) com scopesai | maps | design | vendor; chaves publishable são trocadas por sessões de curta duração vinculadas à origem. Chaves legadaskld_live_continuam funcionando. - Famílias de rotas
/inference-api/b2b/v1/chat/*(SSE) +/design/*.
Esta página será preenchida à medida que novas versões forem lançadas.