# Editor de flows — análise e checklist Referência analisada: [clusterzx/ts6-manager](https://github.com/clusterzx/ts6-manager), especialmente `BotEditor.tsx`, `bot-engine/engine.ts`, `flow-runner.ts`, `context.ts`, `event-bridge.ts` e `ssh-query-client.ts`. A implementação abaixo é própria; o código do Manager não é incorporado. O Manager guarda grafos, normaliza os tipos do editor, regista cron/webhooks/eventos, recebe notificações por SSH e executa ramos sequencialmente. Variáveis persistentes são distintas das temporárias. O cliente de voz usa um protocolo e pipeline de áudio próprios, para além do WebQuery. Uma ligação HTTP não permite transmitir áudio. ## Trabalho desta atualização - [x] Catálogo de blocos centralizado, com configuração, portas e valores iniciais. - [x] Clientes: consultar, poke, mover, kick, ban e remover ban. - [x] Canais: consultar/criar/editar/mover/apagar, com campos adicionais. - [x] Grupos: adicionar/remover cliente, definir grupo de canal. - [x] Permissões: cliente, canal, grupo de servidor, grupo de canal e cliente num canal; adicionar/remover/consultar. - [x] Dados: canais, grupos, permissões, clientes offline e WebQuery com parâmetros separados. - [x] Lógica: condições completas, filtros, foreach, variáveis temporárias/persistentes, cálculos, código aleatório e paragem. - [x] Portas de erro, tentativas limitadas, cancelamento e limite de duração. - [x] Temporizador, cron de cinco/seis campos e vários triggers por flow. - [x] Eventos TeamSpeak e comandos de chat via SSH, reconexão e estado visível da ligação. - [x] Webhook de entrada autenticado; HTTP de saída e webhook Discord. - [x] Formulários com seleção de clientes/canais/grupos/permissões a partir do servidor. - [x] Biblioteca de templates, duplicação e importação/exportação de bots. - [x] Editor: desfazer/refazer, duplicar bloco, organizar, ajustar zoom, atalhos e validação antes de guardar. - [x] Estado correto do bot/servidor, filtros de execuções e histórico por passo. - [x] Migração compatível: preservar flows, ligações, chaves e sessões existentes. - [x] Testes de execução e eventos simulados, mais verificação em navegador. Validação: 21 testes automáticos, formulários dos 68 blocos e operações do editor verificados em Edge (desktop/móvel e perfil Leitor). Docker usa testes sequenciais para limitar o consumo no LXC com 512 MB de RAM. ## Trabalho separado que permanece por completar - [ ] Motor de voz independente: identidade TeamSpeak, ligação UDP, codecs, fila, rádio/ficheiros, TTS e reconexão. Sem blocos que finjam tocar áudio através do WebQuery. - [ ] Editor de múltiplos flows por bot, subflows e versionamento com publicação de rascunhos. - [ ] Gestão de utilizadores/perfis por painel e acessos por servidor. - [ ] Ranking histórico de tempo acumulado, com retenção e tratamento de reconexões. As ações administrativas são verificadas em simulação e com transporte de teste. Não executar kicks, bans, alterações de permissões ou eliminação de canais no servidor real durante os testes.