untitled-5696
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
Este projeto é um editor de fluxogramas interativo com design glassmorphism que permite criar fluxogramas visuais através de arrastar e soltar, e convertê-los automaticamente em instruções estruturadas para agentes de IA. Desenvolvido especificamente para funcionar no Val.town como um HTTP val.
- Glassmorphism: Interface com transparência e efeitos de vidro
- Botões Elevados: Efeitos de elevação e animações suaves
- Gradientes Dinâmicos: Fundo animado com partículas flutuantes
- Responsivo: Compatível com desktop e mobile
- Arrastar e Soltar: Componentes da paleta para o canvas
- Edição Inline: Duplo-clique para editar nós
- Múltiplos Tipos: 7 tipos diferentes de nós especializados
- Subtipos: Cada tipo possui subtipos específicos
- IA Ready: Converte fluxogramas para instruções de IA
- Metadados: Estimativa de duração e complexidade
- Permissões: Detecta permissões necessárias automaticamente
- Dependências: Identifica bibliotecas e serviços necessários
- Acesse Val.town
- Crie um novo HTTP val
- Copie o conteúdo do arquivo
flowchart-editor-enhanced.ts
- Cole no editor e salve
- Acesse via URL gerada
import { FlowchartEditor } from "https://esm.town/v/seu-usuario/flowchart-editor-enhanced";
Tipo | Ícone | Função | Subtipos |
---|---|---|---|
Início | ▶️ | Ponto de entrada | - |
Processo | ⚙️ | Executar tarefas | Cálculo, Transformação, Validação, Personalizado |
Decisão | ❓ | Condições | Booleano, Comparação, Intervalo, Padrão |
Entrada | 📝 | Coletar dados | Texto, Número, Arquivo, Seleção |
Saída | 📤 | Exibir resultados | Exibir, Arquivo, Notificação, Resposta API |
API | 🌐 | Chamadas externas | REST API, GraphQL, Webhook, Database |
Fim | ⏹️ | Ponto de término | - |
- Adicionar Nós: Arraste da paleta ou use botões da toolbar
- Posicionar: Arraste nós pelo canvas
- Editar: Duplo-clique para editar texto e propriedades
- Organizar: Use as ferramentas de alinhamento
- Criar: Adicione pelo menos alguns nós
- Converter: Clique em "🤖 Converter para IA"
- Visualizar: Veja as instruções no painel
- Exportar: Copie ou baixe as instruções
- Salvar: Ctrl/Cmd + S
- Exportar: Ctrl/Cmd + E
- Importar: Ctrl/Cmd + I
- Deletar: Delete/Backspace (nó selecionado)
{ "agent_config": { "name": "FlowchartAgent", "description": "Agente de IA criado a partir de fluxograma visual", "version": "1.0" }, "workflow": { "steps": [ { "id": "step_1", "type": "initialization", "action": "initialize_agent", "name": "Início" }, { "id": "step_2", "type": "user_input", "action": "collect_user_input", "name": "Entrada de dados", "parameters": { "input_type": "text", "prompt": "Digite sua entrada:", "required": true } } ], "conditions": [], "loops": [] }, "execution_metadata": { "estimated_duration": 10, "complexity_score": 5, "required_permissions": ["user_interaction"], "dependencies": [] } }
initialize_agent
: Inicialização do agenteexecute_task
: Execução de tarefasevaluate_condition
: Avaliação condicionalcollect_user_input
: Coleta de entrada do usuáriodisplay_output
: Exibição de resultadosmake_api_call
: Chamadas para APIsdatabase_operation
: Operações de banco de dadositerate
: Loops e iteraçõesterminate_agent
: Finalização do agente
- Duração: Baseada no número e tipo de steps
- Complexidade: Score de 1-10 baseado em estrutura
- Permissões: Extraídas dos tipos de ação
- Dependências: Bibliotecas necessárias
O editor usa um sistema de cores baseado em CSS custom properties:
:root {
--primary-color: #667eea;
--secondary-color: #764ba2;
--accent-color: #f093fb;
--glass-bg: rgba(255, 255, 255, 0.1);
--glass-border: rgba(255, 255, 255, 0.2);
}
Para adicionar novos tipos de nó, edite a constante NODE_TYPES
:
const NODE_TYPES = {
// ... tipos existentes
custom: {
label: 'Personalizado',
icon: '🔧',
color: '#your-color',
subtypes: ['subtipo1', 'subtipo2']
}
};
- Conexões visuais entre nós
- Validação de fluxo
- Templates pré-definidos
- Colaboração em tempo real
- Integração com std/blob
- Exportação para múltiplos formatos
- Tutorial interativo
- Biblioteca de componentes
- Temas personalizáveis
- Zoom e pan no canvas
- Histórico undo/redo
flowchart-editor-enhanced.ts
├── Interfaces TypeScript
├── Constantes e Configurações
├── Funções Utilitárias
├── Lógica de Conversão
├── Componentes UI
├── Event Handlers
├── Estilos CSS
└── Função Principal HTTP
- Runtime: Deno (Val.town)
- Bibliotecas: Nenhuma dependência externa
- APIs: Web APIs padrão (DOM, Fetch, etc.)
- Nós não aparecem: Verifique se o JavaScript está habilitado
- Conversão falha: Certifique-se de ter pelo menos um nó
- Layout quebrado: Teste em navegador atualizado
Este projeto é open source e está disponível sob a licença MIT. Sinta-se livre para usar, modificar e distribuir.
Contribuições são bem-vindas! Para contribuir:
- Fork o projeto no Val.town
- Faça suas modificações
- Teste thoroughly
- Compartilhe via pull request ou Discord
- Val.town Team: Pela plataforma incrível
- Comunidade: Pelo feedback e sugestões
- Glassmorphism: Inspiração de design
Desenvolvido com ❤️ para a comunidade Val.town
Versão 1.0 - Dezembro 2024