Pular para o conteúdo principal

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 por shared-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) versus insufficient_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_products além do permitido pelo tier retorna 403 tier_capability_not_allowed, incluindo o caso empty-products = all.
  • Evento SSE grounding removido. 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/sessions retorna o basemap_style_id padrão armazenado da organização quando o embed não especifica um; o SDK o aplica antes de usar kaleidr-morning como 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; viewerBase foi separado da base do loader e tileBase separado para o tile CDN do editor.
  • Cores de rota Seam v2. O evento route inclui color / label / alternatives / comparison no 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 scopes ai | maps | design | vendor; chaves publishable são trocadas por sessões de curta duração vinculadas à origem. Chaves legadas kld_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.