v2.0

Versionamento

Snapshots imutáveis, um ambiente de desenvolvimento fisicamente separado da produção e rollback em segundos. É o modelo de release do browserMate.

Conceito de versão

Card do agente com a versão publicada (release).
Card do agente com a versão publicada (release).

Cada processo pode ter múltiplas versões. Uma versão é um snapshot completo e imutável do processo em um ponto no tempo, incluindo todas as etapas, mapeamentos, configurações e instâncias de conectores. Uma vez publicada, uma versão nunca é sobrescrita: uma nova rodada de edição sempre gera a próxima versão numerada e jamais altera as anteriores.

As versões permitem:

Versão ≠ "salvar" Enquanto uma versão está aberta para edição, o botão Salvar do modelador grava o progresso dentro dela, sem publicar nada. Só o passo de Publicar versão transforma esse trabalho em um release novo. Pense na versão como um "ponto de restauração": edite e salve à vontade, publique só quando tiver algo estável para marcar.

Dev × Produção: bases fisicamente separadas

Isto é o que torna o versionamento seguro para times inteiros, e não só para quem está editando: desenvolvimento e produção não são apenas um rótulo, são duas bases de dados distintas. Ao abrir uma versão para edição, o browserMate copia o snapshot atual do processo para uma base de desenvolvimento isolada e todo o trabalho acontece ali. A base de produção, de onde as execuções normais leem, permanece intocada até que a nova versão seja explicitamente publicada.

DesenvolvimentoProdução (Release)
O que é A versão aberta para edição no Agent Builder A última versão publicada do agente
Onde os dados vivem Base de desenvolvimento isolada, uma cópia de trabalho separada fisicamente Base de produção, a fonte usada por qualquer execução normal
Quem executa Execuções de Debug feitas pelo desenvolvedor no builder Execuções normais: RUN do card, Agendamento e API
Quem edita Só quem abriu a versão (o desenvolvedor com o bloqueio) Ninguém. Produção não é editada diretamente, só recebe releases
Por que isso importa Como as duas bases são separadas, um erro cometido durante a edição, uma etapa quebrada ou um mapeamento errado, nunca chega às execuções em produção. Elas continuam rodando a última versão publicada normalmente, enquanto o desenvolvimento avança em paralelo e isolado.

O editor em somente leitura

O botão EDIT do card nunca fica desabilitado. Quando não existe uma versão em desenvolvimento aberta, o Agent Builder abre assim mesmo, só que exibindo a versão publicada em modo de consulta. Uma faixa no topo diz exatamente isso, como na imagem abaixo:

Agent Builder em somente leitura, com a faixa no topo e o botão Desenvolver versão no cabeçalho
O Agent Builder em somente leitura: a versão em produção no cabeçalho, o botão Desenvolver versão e a faixa avisando que a tela é só de consulta.

O texto do lado direito da faixa muda conforme o motivo do bloqueio:

O que a faixa dizSignificado
crie uma nova versão para editarO processo está liberado. Você pode abrir uma versão de desenvolvimento agora mesmo.
em desenvolvimento por FulanoOutra pessoa detém o bloqueio. Só ela edita até publicar ou cancelar.
você não tem permissão de edição neste processoO agente foi compartilhado com você sem a permissão edit. Veja Compartilhamento.

Nesse modo, tudo que grava desaparece da tela: criar e mover etapas, salvar, reordenar, excluir, o Debug e o Copilot. O que continua disponível é a leitura do fluxo, a navegação pelo canvas e a consulta ao que está publicado: o painel da etapa (Propriedades, Objetos e Mapeamentos) e as Configurações do Agente abrem com os campos travados e sem o botão de salvar, mostrando a versão em produção. Dá para conferir código, regra de rota, variáveis e parâmetros sem abrir uma versão.

Duas exceções que valem na hora O seletor de AMBIENTE e a consulta ao Webhook continuam acessíveis em somente leitura. Trocar o ambiente de execução vale imediatamente, mesmo sem versão em desenvolvimento, porque é uma decisão de infraestrutura e não de modelagem. A única situação em que o seletor trava é quando outra pessoa está desenvolvendo, já que a publicação dela sobrescreveria a escolha.

Criar uma nova versão

Com o editor aberto em somente leitura, o botão Desenvolver versão X aparece na primeira fileira do cabeçalho, ao lado da versão que está em produção. O X é o número da versão que será criada. É a única ação de escrita disponível nesse estado.

Esse número é sempre o da versão seguinte à última que já foi publicada, e não necessariamente o seguinte à versão em produção. Se você definiu uma versão anterior como a corrente, o botão continua mostrando a próxima do histórico.

Botão Desenvolver versão no cabeçalho
O botão Desenvolver versão, ao lado da versão em produção.
  1. Clique em Desenvolver versão e confirme.
  2. O snapshot atual é copiado para a base de desenvolvimento e o processo fica bloqueado para você. O card na tela Meus Agentes de Processo passa a mostrar quem detém o bloqueio.
  3. A faixa de somente leitura some, os controles de edição voltam e o editor passa a trabalhar sobre a versão nova.

Enquanto a versão está aberta, o card do agente mostra o estado para todo mundo: a versão em Desenvolvimento, quem detém o bloqueio e, com o processo travado, o botão de excluir indisponível.

Card do agente com versão em desenvolvimento e bloqueio
Aba Profile do card: Versão 41.0 - Desenvolvimento, o Bloqueado com o nome de quem está editando, e com quem o agente está compartilhado.
O bloqueio é exclusivo Enquanto uma versão de desenvolvimento estiver aberta, ninguém mais consegue criar outra nem editar esse processo. Em processos compartilhados, é esse bloqueio que impede edições simultâneas: só quem criou a versão edita, os demais executam a release corrente. O mecanismo pelo ponto de vista de quem compartilha está em Compartilhamento → Edição exclusiva.

Pendências: o que segura a publicação

Na segunda fileira do cabeçalho existe um indicador de pendências. Ele é a checagem que o builder faz continuamente para responder a uma pergunta: este agente está pronto para rodar? Clique nele para abrir a lista do que ainda falta.

Enquanto houver qualquer pendência aberta, o botão de publicar não aparece. Não é um defeito, é proposital: não faz sentido lançar em produção um modelo incompleto.

PendênciaComo resolver
Crie sua primeira etapaO fluxo ainda não tem nenhuma etapa. Clique no card + do canvas e escolha o tipo da primeira.
Etapas sem configuraçãoAbra cada etapa listada e complete a configuração que falta.
Nenhum ambiente selecionadoEscolha um Ambiente Runtime no seletor de AMBIENTE.
Modelo precisa ser salvoClique em Salvar para gravar as alterações pendentes do canvas.
Mapeamento de webhook não salvoAbra o modal de Webhook e salve o mapeamento em aberto.
Script com erro de sintaxeAbra a etapa listada: o editor sublinha a linha com o problema e descreve o que houve. Veja Código Inline: Erros de sintaxe.
Sandbox não publica, e isso é de propósito Se o ambiente escolhido for o Ambiente Sandbox, a pendência de ambiente continua aberta e o botão de publicar segue oculto. A Sandbox existe para teste rápido, não para sustentar produção. Para liberar a publicação, selecione um ambiente próprio.

Publicar ou cancelar a versão

Resolvidas as pendências, dois botões ficam disponíveis no canto direito da primeira fileira do cabeçalho, ao lado do nome do processo:

Botões Publicar versão e Cancelar versão
Os dois botões, com o número da versão que está sendo fechada.

As versões publicadas são exibidas no formato 1.0, 2.0 e assim por diante, cada uma com o rótulo descrito na publicação.

Publicar é um passo obrigatório Antes da publicação, o agente só roda em Debug, dentro do próprio builder. O botão RUN do card, o Control Room, os Agendamentos e a API passam a funcionar somente depois que a versão vira release.

Selecionar uma versão anterior (rollback)

Enquanto o processo não está bloqueado, ou seja, quando não há versão em desenvolvimento aberta, o seletor de versão na aba Profile do card lista todos os releases já publicados, do mais recente para o mais antigo. Escolher uma versão diferente da atual não é uma "prévia": é a ativação imediata, com um pedido de confirmação. O conteúdo daquela versão volta a ser a release corrente na hora, sem precisar reabrir nada no modelador.

Seletor de versão aberto com o histórico de releases
O seletor aberto na aba Profile do card, com todos os releases publicados. A versão corrente vem marcada no topo.
  1. No seletor de versão do card, escolha a versão anterior que estava funcionando.
  2. Confirme a publicação. A partir daí, todas as execuções (RUN, agendamento, API) passam a usar essa versão.
  3. A versão problemática continua guardada no histórico e nada é apagado. Basta selecioná-la de novo depois de corrigida.
Rollback sem apagar Restaurar uma versão anterior não exclui a versão problemática, apenas muda qual é a release corrente. Isso permite investigar o que deu errado e publicar uma versão corrigida depois, sem perder o registro do que falhou.
Onde ver o histórico A aba Release Timeline do card lista a linha do tempo completa de versões publicadas. Veja Organização dos Agentes → As abas do card.

O que é versionado

Cada versão contém um snapshot completo de:

ElementoIncluído na versão
Etapas✅ Todas as etapas com suas configurações completas
Mapeamentos de dados✅ Configurações de captura e transformação
Rotas e condições✅ Toda a lógica de decisão
Configurações do agente✅ Nome, avatar, browser, limites, notificações
Instâncias de conectores✅ Qual conector e qual ação cada etapa usa
Projetos de código referenciados✅ Referência ao projeto, não o arquivo em si
Credenciais do Cofre❌ Não versionadas. São gerenciadas separadamente
Credenciais de conectores❌ Não versionadas. Sempre usa a credencial atual
Histórico de execuções❌ Não está vinculado à versão
Credenciais não são versionadas Se você muda a API Key de um conector e faz rollback para uma versão anterior, a configuração das etapas volta à versão antiga, mas o conector continua usando a credencial atual. Isso é intencional: você não quer que um rollback exponha credenciais antigas comprometidas.
Projetos de código têm versionamento próprio A versão do processo guarda a referência ao projeto de código, não o conteúdo dele. O histórico de versões do código, com restauração, vive no próprio projeto. Veja Projetos e SDK → Versões do projeto.

Boas práticas