Commit Graph

165 Commits

Author SHA1 Message Date
Jonas Pacheco c293ec2a61 fix(miroflow): add MIROFLOW_HOST/PORT env vars no serviço app
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 09:28:19 -03:00
Jonas Pacheco 9f6875367c feat(scientist): add tab Científico com MiroFlowControl
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 09:21:38 -03:00
Jonas Pacheco aa0ce768ed Remover duplicatas de serviços no docker-compose.prod.yml
- Remover versões antigas de plus-db, plus, superset, erpnext-db, erpnext
- Manter versões recentes com Traefik labels corretos
- Arquivo agora válido e sem conflitos YAML

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-30 15:27:35 -03:00
Jonas Pacheco 763c6bcdd5 Adicionar MiroFlow e Ollama ao docker-compose.prod.yml
- Remover profile [ai] do Ollama para rodar sempre em prod
- Remover profile [bi] do Superset para rodar sempre em prod
- Adicionar MiroFlow service com Dockerfile.miroflow
- Configurar Traefik labels para miroflow.onboardbi.com.br
- Adicionar healthcheck para MiroFlow
- MiroFlow depende de Ollama e acessa via http://ollama:11434

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-30 15:21:01 -03:00
Jonas Pacheco 10ffd3338a fix: importar ícone Brain para MiroFlow card
Erro: ReferenceError: Brain is not defined
Solução: Adicionar Brain aos imports de lucide-react

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-30 10:35:59 -03:00
Jonas Pacheco 23bc6fb95a chore: trigger Coolify rebuild
Força rebuild da aplicação em produção para aplicar mudança do MiroFlow.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-30 10:22:59 -03:00
Jonas Pacheco 48eff771f6 Integrar MiroFlow ao DevelopmentModule como card visual
- Adicionar MiroFlow ao array de tools com ícone Brain
- Importar componente MiroFlowControl
- Adicionar tipo 'miroflow' ao ActiveTool union
- Renderizar MiroFlowControl quando activeTool === 'miroflow'
- MiroFlow agora visível no DevCenter como card científico

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-30 10:06:05 -03:00
Jonas Pacheco 43730e145d feat: add RunExecutor agent for agent execution via Ollama
- New RunExecutor processes 'run-executor' subtasks
- Executes agent specs via Ollama (deepseek-r1:14b)
- Saves results as artifacts in Blackboard
- Integrated into Blackboard agents registry
- Updated /api/agent-defs/:id/run endpoint to use run-executor

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-30 09:23:02 -03:00
Jonas Pacheco 83b2c89a1f chore: add untracked files — planning, openclaw module, docs, assets and data files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 09:09:38 -03:00
Jonas Pacheco 6168cd29c6 revert: remove MiroFlow from navbar 2026-03-27 17:39:11 -03:00
Jonas Pacheco 13a83840ce feat: add MiroFlow to navbar next to Insights 2026-03-27 17:33:32 -03:00
Jonas Pacheco 31914956ef fix(assemble): check task status immediately on mount to handle fast completions
When using Groq (very low latency), tasks complete before the 3s polling
interval fires. Now checkAll() runs immediately on effect mount.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:12:25 -03:00
Jonas Pacheco 3ca659ca0c docs(dev-center): add DEV_CENTER.md covering full agent factory pipeline
Documents all 4 tabs (Design/Assemble/Deploy/Galeria), API endpoints,
DB schema, and Blackboard integration. Fase 6 complete.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 17:00:56 -03:00
Jonas Pacheco 1f9ef75bc5 feat(orchestrate): add stats panel and Execute button to Deploy tab
Orchestrate Center now shows 3 stat cards (total/ready/deployed),
timestamps on each agent row, and an Execute button for deployed agents.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:59:03 -03:00
Jonas Pacheco b0aca073ef feat(assemble): add task progress panel to Assemble Line
Each agent row in the Assemble Line now has an expandable panel showing
live Blackboard subtask progress (status icons, agent roles) when a task
is running. statusColor/statusLabel moved to module scope.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:56:29 -03:00
Jonas Pacheco e545df579b feat(galeria): add spec detail dialog to Agent Gallery cards
Cards now have an Info button that opens a dialog showing the agent's
spec content, mode, creation date, and quick Execute/Fork actions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:47:29 -03:00
Jonas Pacheco 67aefa28c4 fix(build): adicionar arcadia_suite_icon.png para build de produção
O build falhava com ENOENT pois attached_assets/ estava no .gitignore
mas o Cockpit.tsx importa o ícone. Adicionado PNG placeholder mínimo
ao repo para o build do Coolify funcionar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:20:02 -03:00
Jonas Pacheco 0a357a4617 fix(build): corrigir erros de importação no build de produção
- PatternDetector e SkillEmergence: corrigir alias @/db → caminho relativo correto (../../../db)
- PatternDetector e SkillEmergence: corrigir @/shared/schema → ../../../shared/schema
- server/openclaw: substituir arcadiaSkills (inexistente) por skills do schema
- SkillEmergence: substituir axios (não instalado) por fetch nativo (Node 20)
- server/skills/routes.ts: adicionar export registerSkillRoutes() esperado por routes.ts

O build estava quebrado desde a Fase 4 (OpenClaw). Esses erros impediam
o Coolify de gerar o container com o Design Studio na sidebar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 16:18:52 -03:00
Jonas Pacheco e4bc9fa24b chore: atualiza CLAUDE.md com fluxo CI/CD via Gitea
Deploy agora via `git push gitea Servidor:main` → Coolify monitora branch main no Gitea interno.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 15:25:46 -03:00
Jonas Pacheco 3286ca2fb4 feat(dev): adiciona Design Studio na sidebar de /development
- Novo item "Design Studio" abaixo de Automation Center (ícone PenTool, cor roxa)
- Renderiza DevCenter.tsx com abas Design/Assemble/Deploy/Galeria
- DESIGN_STUDIO.md documenta estado atual e pendências para próximo agente

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:53:44 -03:00
Jonas Pacheco f3322ab075 Merge origin/main into Servidor
# Conflicts:
#	Dockerfile
#	client/src/pages/DevCenter.tsx
#	client/src/pages/DevelopmentModule.tsx
#	server/routes.ts
2026-03-27 14:34:58 -03:00
Jonas Pacheco ee74d014ee feat(06): Dev Center — Fábrica de Agentes (Design → Assemble → Deploy + Galeria)
- Tabela arcadia_agent_defs (schema + migration)
- API CRUD /api/agent-defs com endpoints assemble/deploy/redraft/run/fork
- 4 novos tabs no DevCenter: Design (3 modos editor), Montar (polling Blackboard), Deploy (OrchestrateCenter), Galeria (grid + run/fork)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:30:07 -03:00
Jonas Pacheco b55295f9dd fix(docker): forçar NODE_ENV=development no npm install do builder stage
Coolify injeta ARG NODE_ENV=production no builder stage, fazendo npm
ignorar devDependencies (incluindo tsx, necessário para npm run build).
Forçar NODE_ENV=development garante que devDeps sejam instaladas.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:27:07 -03:00
engenharia-creator 5aa401683c
Merge pull request #10 from jonaspachecoometas/Servidor
Servidor
2026-03-27 10:16:37 -03:00
Jonas Pacheco 3a0d25f5c3 fix: corrigir CLAUDE.md e scroll do DevelopmentModule
- CLAUDE.md: remover branch inexistente (claude/analyze-project-0mXjP),
  documentar branch Servidor, remote origin, comando de deploy real
- DevelopmentModule: adicionar h-full no flex-1 para habilitar scroll
  na view home (conteúdo estava cortado sem scrollbar)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 10:15:17 -03:00
Arcádia Dev acf375a1c3 merge: une Servidor local + origin/Servidor priorizando local
- Mantém Fase 4 Sprint 1+2 do local (OpenClaw backend + frontend)
- Incorpora do remoto: Fase 3 MiroFlow, Fase 4 melhorias, Fase 5 Automation Fabric
- Resolve conflito openclaw~origin_Servidor (mantido local)
- Histórias unidas com --allow-unrelated-histories -X ours

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 09:45:26 -03:00
Jonas Pacheco e0ef06cb1e fix: h-full na sidebar do DevelopmentModule para scroll funcionar
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 17:49:30 -03:00
Jonas Pacheco 63780a9918 fix: adicionar overflow-y-auto na sidebar do DevelopmentModule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 17:26:31 -03:00
Jonas Pacheco a9d22ddbd0 feat: adicionar Automation Center no sidebar do /development
Novo item "Automation Center" na sidebar do DevelopmentModule,
ao lado de Skills Emergentes (OpenClaw). Renderiza AutomationCenter
inline como os outros painéis.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 17:18:49 -03:00
Jonas Pacheco 41afced0bb feat(05): Automation Fabric — 5 runtimes + AutomationCenter unificado
Backend:
- server/automation-fabric/runtimes/: WorkflowEngine, RuleEngine, AgentExecutor,
  ScheduleEngine, EventEngine — cada um delega para serviços existentes
- server/automation-fabric/service.ts: AutomationFabricService agrega Central + XOS
  virtualmente (zero migração de dados)
- server/automation-fabric/routes.ts: GET /api/automation-fabric/list,
  POST /:id/run, PATCH /:id/toggle

Frontend:
- AutomationCenter.tsx em /automations-center: lista unificada Central+XOS,
  badge de fonte (Central=azul, XOS=roxo), filtros por fonte/status/busca,
  toggle enable/disable e execução manual inline

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 17:07:44 -03:00
Jonas Pacheco 9165ee4c48 feat(04-02): adicionar tab Sugestões (OpenClaw) em /skills com badge contador
- Tab "Sugestões" na view switcher da página /skills
- Renderiza OpenClawPanel com lista de skills emergentes pendentes
- Badge amarelo mostra contagem de sugestões pendentes (atualiza a cada 5min)
- Query /api/openclaw/suggestions já conectada ao PatternDetector backend

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 16:54:57 -03:00
Jonas Pacheco d4af26e59d fix(miroflow): fallback robusto para resultado do agente + modelo llama3.2:3b
- miroflow_service.py: extrai resposta de summary, final_boxed_answer,
  exceed_max_turn_summary ou último message_history do assistente
- Troca deepseek-r1:14b por llama3.2:3b nos agentes Statistician e Fiscal Auditor
- shared/schema.ts: adiciona tabelas OpenClaw (detectedPatterns, skillSuggestions)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 16:26:43 -03:00
Jonas Pacheco c73b9d6658 feat(04): OpenClaw Embutido — PatternDetector + Skills Emergentes
- PatternDetector (cron horário): analisa skill_executions, detecta padrões
  (≥3x, 30 dias, ≥80% confiança), grava em detected_patterns
- Geração de DRAFT skills via llama3.1:8b ao atingir threshold
- API routes: GET /api/openclaw/suggestions, POST accept/reject, GET /api/openclaw/patterns
- OpenClawPanel.tsx: painel de visualização com tabs Sugestões/Padrões
- Aba "Skills Emergentes" (ícone Sparkles) na sidebar do /development
- Migration SQL para detected_patterns + skill_suggestions
- fix: corrige import @/lib/db → ../../db/index em versioning.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 15:16:59 -03:00
Arcádia Dev 52311666aa feat(openclaw): Fase 4 Sprint 2 - Frontend Widgets
- useAgentEmergence.ts: hook para Socket.IO + estado de sugestões
- SkillSuggestion.tsx: modal com preview de skill (padrão, nome, descrição, automação)
- OpenClawWidget.tsx: widget flutuante no canto inferior direito
- App.tsx: integração do OpenClawWidget no layout global

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 10:42:28 -03:00
Arcádia Dev dcaa94a422 feat(openclaw): Fase 4 Sprint 1 - PatternDetector + OpenClawEngine + SkillEmergence
Fase 4: OpenClaw Embutido (Detecção de Padrões + Skills Emergentes)
Semanas 7-8 (Início 2026-03-26)

### Sprint 1: Backend Components 

Implementados 5 componentes core:

1. **PatternDetector.ts** (400+ linhas)
   - Análise de interações de usuário
   - Detecção de padrões (3+ ocorrências em 30 dias)
   - Cálculo de confiança (frequência + regularidade + recência)
   - Storage em Neo4j via database
   - Emit eventos via EventEmitter

2. **OpenClawEngine.ts** (300+ linhas)
   - Orquestração central do fluxo
   - Coordena PatternDetector + SkillEmergence
   - Sugestão inteligente de skills baseada em padrões
   - Scheduler para verificação periódica
   - Socket.IO integration para real-time

3. **SkillEmergence.ts** (250+ linhas)
   - Integração com Blackboard (codegen)
   - Geração de skills via prompt inteligente
   - Validação de código gerado
   - Storage de skills DRAFT no database
   - Approval workflow (Dev Center)

4. **routes.ts** (200+ linhas)
   - 10 endpoints REST:
     * POST /detect-patterns (trigger manual)
     * GET /patterns (listar padrões)
     * POST /confirm-skill (usuário confirma)
     * GET /suggestions (sugestões pendentes)
     * GET/POST /config (configuração)
     * POST /check-now (verificar agora)
     * POST /start-scheduler (agendado)
     * POST /stop-scheduler
     * GET /health

5. **config/arcadia.config.yaml** (400 linhas)
   - Configuração completa tenant-aware
   - Pattern detection thresholds
   - Suggestion channels + priorities
   - Skill emergence rules
   - Logging + security settings
   - Integration endpoints

### Arquivos Atualizados
- server/modules/loader.ts: Registra /api/openclaw routes

### Plano Criado
- .planning/FASE_4_OPENCLAW_PLAN.md: Plano executável completo

### Próximos Passos (Sprint 2-3)
- Frontend: OpenClawWidget + SkillSuggestion + hooks
- Database: Schema + migrations
- Testes: Unitários + E2E
- Documentação

### Arquitetura Implementada

### Status
-  Sprint 1 Backend completo
-  Sprint 2 Frontend próximo
-  Sprint 3 Config + Testes

Fase 4: OpenClaw Embutido iniciada com sucesso 🚀

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-26 10:29:08 -03:00
Jonas Pacheco 7528d4c36e feat(02-04): implementar versionamento Git-like de skills com rollback, fork e diff 2026-03-25 16:00:17 -03:00
Jonas Pacheco 9232666b8c fix: miroflow container conecta ao Ollama via ollama-net
- Remove extra_hosts (não funciona pois Ollama só escuta em 127.0.0.1)
- Adiciona rede ollama-net ao serviço miroflow
- OLLAMA_BASE_URL aponta para nome do container Ollama

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 14:34:03 -03:00
Jonas Pacheco 76adec5893 feat: MiroFlow containerizado no docker-compose
- Dockerfile.miroflow: imagem Python 3.11 com miroflow instalado via submodule
- docker-compose.prod.yml: novo serviço `miroflow` (porta 8006, rede interna)
- MIROFLOW_HOST atualizado de host fixo (10.0.7.1) para container `miroflow`
- miroflow_service.py: passa system_prompt e initial_user_message no AgentContext

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 14:22:39 -03:00
Jonas Pacheco 4ceb407505 feat(03-03): add Científico tab to BiWorkspace with MiroFlowControl
- Added Brain icon import from lucide-react
- Added MiroFlowControl component import
- Added TabsTrigger for 'cientifico' tab with Brain icon
- Added TabsContent rendering MiroFlowControl component
- All existing tabs (overview, datasources, upload, datasets, charts, backups, staging, advanced) preserved
2026-03-25 10:57:28 -03:00
Jonas Pacheco e5b915e7e8 feat(03-03): create MiroFlowControl component with agent selection and analysis interface
- Toggle for scientific mode with Brain icon
- Agent selector (Statistician, Fiscal Auditor, Researcher)
- Task textarea with dynamic placeholder per agent
- Analysis button with loading state (Loader2 animation)
- Result display with metadata (model, duration, execution_id)
- Error handling with readable messages
- Styled for dark theme matching BiWorkspace
2026-03-25 10:54:42 -03:00
Jonas Pacheco e4e809fa5b docs(03-01): atualizar SUMMARY.md com commits e desvios do plano 03-01
- Adicionar hashes de commit ao SUMMARY.md
- Documentar fallback llama3.2:3b para researcher
- Documentar conftest.py como desvio Rule 2
- Atualizar STATE.md com plano 03-01 concluido
- Atualizar ROADMAP.md progresso fase 3
2026-03-25 10:52:59 -03:00
Jonas Pacheco c14f238fe9 docs(03-01): criar SUMMARY.md do plano 03-01 2026-03-25 10:51:28 -03:00
Jonas Pacheco 76e1d34f5d fix(03-01): adicionar conftest.py para resolver imports em pytest do root
- conftest.py adiciona server/python ao sys.path
- Corrige ModuleNotFoundError ao rodar pytest da raiz do projeto
2026-03-25 10:50:54 -03:00
Jonas Pacheco 60f1c5cb1d feat(03-01): criar miroflow_service.py FastAPI porta 8006 com 3 agentes + testes pytest
- FastAPI microservico porta 8006 com agentes statistician, fiscal_auditor, researcher
- Configuracao de modelos: deepseek-r1:14b (stat/fiscal), llama3.1:8b com fallback 3b (researcher)
- OLLAMA_BASE_URL/v1 via UnifiedOpenAIClient
- test_miroflow_service.py: 6 testes cobrindo REQ-3.1 a REQ-3.4 (todos passam)
- sys.path.insert para submodule MiroFlow sem modificar o submodulo
2026-03-25 10:50:05 -03:00
Jonas Pacheco 071d74c7a3 docs(03-02): criar SUMMARY.md do plano 03-02 2026-03-25 10:45:15 -03:00
Jonas Pacheco 1a70e87cd4 feat(03-02): registrar MiroFlow routes em server/routes.ts
- Adiciona import de registerMiroFlowRoutes
- Chama registerMiroFlowRoutes(app) após registerBiEngineRoutes(app)
- POST /api/miroflow/analyze e GET /api/miroflow/health agora disponíveis

REQ-3.5, REQ-3.7 — Task 2/2 do plano 03-02
2026-03-25 10:41:19 -03:00
Jonas Pacheco d53be76474 feat(03-02): criar MiroFlow proxy TypeScript com timeout 300s e KG audit logging
- server/miroflow/engine-proxy.ts: proxy para :8006 com MIROFLOW_TIMEOUT=300_000ms
- server/miroflow/routes.ts: re-export de registerMiroFlowRoutes
- POST /api/miroflow/analyze requer autenticação (req.isAuthenticated())
- GET /api/miroflow/health sem autenticação
- registerExecutionInKG com auditHash SHA-256 via createNode
- KG failure não bloqueia resposta ao cliente

REQ-3.5, REQ-3.7 — Task 1/2 do plano 03-02
2026-03-25 10:41:12 -03:00
Jonas Pacheco 4057821404 feat(skills): Skill Marketplace (Biblioteca) — Fase 2
Servidor:
- GET /api/skills/marketplace: lista skills namespace=system/active,
  marca quais já foram importadas pelo tenant (campo imported)
- POST /api/skills/marketplace/:id/import: clona skill system→tenant
  com extends appontando para a origem

UI (Skills.tsx):
- Toggle "Minhas Skills" / "Biblioteca" no header
- Grid de cards 2 colunas com nome, slug, descrição, tags clicáveis,
  trigger type e versão
- Botão "Importar" → feedback imediato (badge "Importada" + highlight verde)
- Filtro por busca e tag na Biblioteca
- Estado vazio com instrução para admins publicarem skills system

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 09:44:49 -03:00
Jonas Pacheco 194a8dcc1b feat(skills): rota /skills + autocomplete de referências / no Monaco
- App.tsx: adiciona ProtectedRoute path="/skills"
- Skills.tsx: completion provider para referências no body editor
  - dispara ao digitar "/" em qualquer ponto do markdown
  - sugere todos os prefixos: /skill/, /skill:system/, /var/, /data/,
    /kg/, /file/, /tool/, /agent/
  - ao digitar /skill/ lista skills existentes do tenant com slug/desc
  - usa ref para evitar closure stale com skillsData
  - cleanup do provider no unmount

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 09:38:37 -03:00
Jonas Pacheco c9a0563422 feat(agentic): Fase 1-2 — Skills POO, Neo4j, UI editor e melhorias gerais
Arcádia Agentic Suite — Fase 1 (Fundação):
- shared/schema.ts: tabelas arcadia_skills + skill_executions (multi-tenant, herança, audit hash)
- docker-compose.yml: Neo4j 5 como profile 'kg' (porta 7474/7687)
- docker/litellm-config.yaml: ajustes de configuração

Arcádia Agentic Suite — Fase 2 (Skills Engine):
- client/src/pages/Skills.tsx: UI completa — lista, filtros, editor Monaco (Geral/Body/Params), executar e histórico
- client/src/App.tsx: import do componente Skills

Manus — melhorias de prompt e comportamento:
- server/manus/service.ts: system prompt com identidade Manus, regras PROATIVO, tabelas markdown
- server/manus/routes.ts: ajustes de rotas
- server/replit_integrations/chat/prompt.ts: prompt de chat aprimorado
- server/replit_integrations/chat/routes.ts: melhorias no fluxo de chat

Outros:
- Agent.tsx, ProcessCompass.tsx: melhorias de UI
- Correções menores em bi, blackboard, compass, ide, support, valuation, whatsapp

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 09:32:39 -03:00