Commit Graph

135 Commits

Author SHA1 Message Date
Jonas Pacheco 7ce8735c04 feat(kernel): adiciona dashboard HTML visual
- Adiciona interface web dark theme com cards de estatísticas
- Lista de serviços com status, health e ações (start/stop/restart)
- Console de logs em tempo real com filtro por serviço
- WebSocket para atualizações em tempo real
- Auto-refresh a cada 5 segundos

Refs: Dashboard Arcadia Kernel
2026-04-02 14:46:36 -03:00
Jonas Pacheco 849934dae8 feat(kernel): implementação completa do Kernel Nativo - Semana 3
Kernel Arcadia - Sistema nativo de gerenciamento de serviços:

Core:
- ProcessManager: spawn, monitor, restart automático de serviços
- HealthMonitor: HTTP health checks com circuit breaker
- LogAggregator: coleta e streaming de logs

API & Dashboard:
- API REST /api/kernel/* para controle dos serviços
- Dashboard Web na porta 5001
- WebSocket /ws/kernel para updates em tempo real

Serviços configurados (6):
- Python: Contabil (8003), BI Engine (8004), Automation (8005)
- Node.js: Communication (9001), Core API (9002), Worker (9003)

Integração:
- server/index.ts integrado com flag KERNEL_ENABLED
- Build passando, pronto para testes

Uso:
  KERNEL_ENABLED=true npm run dev
  Acesse http://localhost:5001 para o dashboard
2026-04-02 10:40:46 -03:00
Jonas Pacheco 201580a47a feat(rls): migrações Row Level Security - Semana 2
- 001_enable_rls.sql: habilita RLS em 31 tabelas tenant-isoladas
- 002_create_policies.sql: 124 políticas CRUD por tenant
- 003_tenant_context.sql: funções, triggers e views de contexto
- scripts/apply-rls-migrations.ts: automação de aplicação
- package.json: script npm run db:apply-rls

Tabelas protegidas: workspace, crm, process compass, low-code, multi-tenancy core
2026-04-02 09:58:56 -03:00
Jonas Pacheco a2aff30b8c security: correcoes semana 1 - session secret, CORS, filtro tenant, protecao /api/tenants
- Session secret com randomBytes(32), obrigatorio em producao
- CORS whitelist configurado (origens permitidas)
- getUserByUsername com validacao opcional de tenantId
- /api/tenants restrito: admin ve todos, user ve so seu tenant
- Metodo getTenant(id) adicionado a interface IStorage
2026-04-01 17:34:23 -03:00
Jonas Pacheco 4fb3f87dc3 chore: atualização do servidor - 2026-04-01 15:34 2026-04-01 15:34:08 -03:00
Jonas Pacheco f0b39f7f1d Remover referências enganosas ao LLMFit — corrigir tiers de IA para Ollama (TIER 1) + externos (TIER 2) 2026-04-01 14:06:12 -03:00
Jonas Pacheco 9d83163dbb fix: use Ollama container directly for MiroFlow scientific agents
- Replace LiteLLM with direct Ollama API (ollama-ia1upsekrad96at5hq97e4qa)
- Use deepseek-r1:14b for all agents, fallback to llama3.2:3b
- OLLAMA_BASE_URL env var overrides default hostname

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 21:53:38 -03:00
Jonas Pacheco 59bfca8c70 feat: implement /analyze endpoint for MiroFlow scientific agents
- Add POST /analyze handler in engine-proxy.ts (Node host, direct Ollama access)
- Routes agent requests (statistician/fiscal_auditor/researcher) to deepseek-r1:14b
- Fallback to llama3.2:3b if primary model unavailable
- Fixes BiWorkspace "Científico" tab end-to-end flow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 16:55:07 -03:00
Jonas Pacheco 53b9fc5408 fix: simplify MiroFlow engine-proxy, remove broken KG registration
- Remove unused crypto import and broken createNode dependency
- Delete registerExecutionInKG function (was fully commented)
- Clean up excessive console.logs
- Streamline POST /api/miroflow/analyze route
- Routes should now register cleanly without initialization errors

This fixes the TypeError that was preventing route registration.
2026-03-31 16:03:58 -03:00
Jonas Pacheco 50e419db17 debug: comenta createNode para isolate erro 2026-03-31 15:59:00 -03:00
Jonas Pacheco 5c0f3f818e debug: adiciona logs no /api/miroflow/analyze 2026-03-31 15:55:34 -03:00
Jonas Pacheco 4778462c29 debug: desabilita autenticacao temporaria no /api/miroflow/analyze 2026-03-31 15:52:37 -03:00
Jonas Pacheco 35492de95f fix: remove SQL injection risk no create-dashboard (TODO: prepared statements) 2026-03-31 15:42:27 -03:00
Jonas Pacheco 6853077fa2 test: muda Statistician e Fiscal Auditor para Llama (teste rápido) 2026-03-31 15:25:39 -03:00
Jonas Pacheco fa00fbb73f fix(miroflow): aumenta timeout de 5 para 10 minutos (DeepSeek R1 é lento) 2026-03-31 15:24:00 -03:00
Jonas Pacheco 395d1e5ecb fix: corrige imports e query SQL no endpoint create-dashboard 2026-03-31 15:06:48 -03:00
Jonas Pacheco c665f6ec40 feat(miroflow): integração com Superset para criar dashboards automáticos
- Adiciona tabela miroflow_generated_dashboards para rastrear dashboards criados
- Endpoint POST /api/superset/miroflow/create-dashboard cria dashboard no Superset
- MiroFlowControl.tsx com botão 'Criar Dashboard' após análise
- Dashboard criado com dados da análise e SQL query
- Suporta todos os agentes (statistician, fiscal_auditor, researcher)
2026-03-31 15:03:17 -03:00
Jonas Pacheco 264029eafc fix(superset): corrige superset_config.py para usar SQLALCHEMY_DATABASE_URI e init.sh sem bare except 2026-03-31 14:24:44 -03:00
Jonas Pacheco c8d323941b fix(superset): corrige init.sh + adiciona aba Científico no BiWorkspace 2026-03-31 14:08:29 -03:00
Jonas Pacheco 25f6e2f72a fix(infra): add coolify network to db and redis services
Garante que db e redis entram na rede coolify ao serem recriados,
permitindo que novos deploys via Coolify resolvam os hostnames.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 11:20:42 -03:00
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