Commit Graph

39 Commits

Author SHA1 Message Date
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 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 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 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
Jonas Pacheco 3c61acf4d9 feat(xos): restaura forms de cadastro e adiciona seletor "Novo"
- XosCentral: botão "Novo" abre seletor (Contato / Negócio / Atividade)
- Restaura dialog de Novo Contato (perdido no rebuild anterior)
- Adiciona dialog de Nova Atividade (tipo, título, data, prioridade)
- Adiciona dialog de Novo Negócio (título, estágio, valor)
- Superset: logos v2 aplicadas via volume mount, retry de token, healthcheck 127.0.0.1
- xos_conversations: coluna status adicionada no banco

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 15:15:51 -03:00
Jonas Pacheco 9bfc888d28 feat(migration): suporte a upload de arquivos RAR, SQL e SQL.GZ
- Dockerfile: instala p7zip no Alpine para extração de RAR via 7z
- migration/routes.ts: detecta .rar, .sql.gz e .sql; extrai RAR com 7z,
  descomprime .gz com gunzip, analisa tabelas do dump SQL
- Migration.tsx: accept e hint atualizados para incluir RAR/SQL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 12:00:13 -03:00
Jonas Pacheco 5b35aa49a2 feat(agent): otimizações para apresentação + botão cancelar
- manus/service.ts: system prompt enxuto, sem frameworks desnecessários, data/hora real injetada
- replit_integrations/chat: modelo gpt-4o → arcadia-agent, prompt limpo sem SWOT/Canvas/PDCA
- litellm-config.yaml: fallback gpt-4o/gpt-4o-mini → arcadia-agent (evita carregar R1 14B)
- Agent.tsx: botão cancelar (X vermelho) aparece durante processamento do Manus

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 15:57:03 -03:00
Jonas Pacheco 4fd0e9d893 fix(superset): corrigir erro fetch failed no guest-token
- Adiciona AbortSignal.timeout(8s) em todas as chamadas fetch ao Superset
- Limpa cache de token automaticamente em caso de erro (clearTokenCache)
  para que próxima requisição force novo login ao invés de usar token stale
- Reduz TTL do cache de 50 para 45 min como margem de segurança
- Força iframe do SupersetDashboard a 100% width/height via classe CSS

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 21:18:44 -03:00
Jonas Pacheco 4214a2561c fix(superset): corrige embedding de dashboards via guest token
- superset_config.py: adiciona FLASK_APP_MUTATOR que seta g.user a partir
  do Bearer JWT quando o usuário está como anônimo (necessário porque o
  papel Public com can_read on Dashboard faz protect() pular verificação JWT)
- superset_config.py: TALISMAN_ENABLED=False, X_FRAME_OPTIONS=ALLOWALL
  para permitir embedding cross-origin via iframe
- routes.ts: adiciona session cookie nas chamadas de busca do dashboard
  além de incluir X-CSRFToken + Cookie no guest token request
- SupersetDashboard.tsx: usa bi.onboardbi.com.br como supersetDomain,
  tela de unavailable com UI adequada (sem iframe de fallback)
- BiWorkspace.tsx: link "Abrir em Nova Aba" aponta para bi.onboardbi.com.br
- docker-compose.prod.yml: labels HTTP→HTTPS redirect para Superset

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 17:30:40 -03:00
Jonas Pacheco a1ba3b4b02 fix(superset): corrigir dependência fetchGuestToken → fetchTokenData no useCallback
Referência ao nome antigo causava ReferenceError no runtime.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 15:09:35 -03:00
Jonas Pacheco 023451e000 fix(superset): resolver slug → UUID antes de gerar guest token e embeddar
O SDK do Superset exige o UUID do embedded config (não o slug) tanto no
embedDashboard quanto no guest token. Agora o backend resolve:
  slug → dashboard ID → embedded UUID → guest token com UUID
E retorna { token, embeddedId } para o frontend usar no embedDashboard.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 14:55:36 -03:00
Jonas Pacheco 953567fa47 feat(bi): migração MetaSet → Apache Superset (Fase 1–4 completas)
- BiWorkspace: tab Advanced substituída por SupersetDashboard (financial-overview)
- Financeiro: nova tab "Análise BI" com SupersetDashboard (financial-overview)
- Contabil: nova tab "Análise BI" com SupersetDashboard (dre-mensal)
- SOE: card Arcádia Insights no dashboard (executive-summary)
- Home: seção full-width Arcádia Insights (executive-summary)
- docker-compose.yml dev: serviço superset adicionado com profile [bi]
- .env.example: documentadas variáveis SUPERSET_* e remoção de METABASE_*
- server/superset/routes.ts: corrigido payload RLS (removido type:"BASE_ROLE" inválido)

Arquivos metaset/metabase mantidos: ainda usados por server/manus e server/autonomous.
Próximos passos: subir container, criar dashboards base, testar health/guest-token.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 14:08:03 -03:00
Jonas Pacheco e2c482a67d Suite Arcádia — estado atual do servidor (arcadia_merged)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 13:11:28 -03:00
Arcádia Dev e506023d53 merge: traz incrementos do dev branch para Servidor
- SOE.tsx → ERP.tsx (fix /erp mostrando Plus offline)
- BiWorkspace: refatoração SupersetAdvancedTab
- docker-compose.prod.yml: volumes Plus, ERPNext, Superset
- docker/superset: init.sh + superset_config.py
- server/superset: proxy.ts + routes.ts (gateway completo)
- scripts/seed-soe-rules.ts (seed 15 regras SOE)
- docs: PLANO_SOE_CENTRAL, PLANO_BI_SUPERSET, DEPLOY_COOLIFY, INTEGRACAO_IA

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 22:16:01 -03:00
Arcádia Dev 1071f7de4c fix(soe): redirecionar /erp para ERP.tsx nativo + seed de regras padrão
- SOE.tsx agora aponta para ERP.tsx (antes apontava para Plus.tsx offline)
- Adicionado scripts/seed-soe-rules.ts: insere FISCAL_RULES_PADRAO +
  BUSINESS_RULES_PADRAO na tabela soe_regras (idempotente por nome+trigger)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 19:53:50 -03:00
root 75ef36eac9 feat: SOE Rule Engine + Superset Insights (cherry-pick f0c3ce4)
- SOE event-bus, handlers contabil/financial
- SOE rule-engine: tipos, fiscal, business, index
- SupersetDashboard component
- server/erp/routes atualizado
- shared/schema: tabelas SOE (soe_regras, soe_eventos, soe_lancamentos)
- server/routes: remove Metabase, consolida Superset routes
- package.json: adiciona @superset-ui/embedded-sdk

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 16:48:45 -03:00
Claude 5d1dd97d0f fix: resolve missing modules and type errors in App.tsx
- Create client/src/contexts/SoeMotorContext.tsx with SoeMotorProvider
- Create client/src/pages/SOE.tsx (re-export of Plus/ERP module)
- Fix ProtectedRoute component type to accept LazyExoticComponent

Resolves TS2307 for @/contexts/SoeMotorContext and @/pages/SOE,
and TS2322 for all lazy-loaded routes.

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-17 16:40:22 -03:00
Claude 07fa5e5871 feat(xos): Phase 4 — real-time Socket.IO, SLA scheduler, business hours, campaigns
- server/socket-io.ts: singleton SocketServer shared across all modules
- server/routes.ts: wire initSocketIO before chat/community sockets; start XOS scheduler
- server/xos/scheduler.ts: SLA breach checker (every 5min) + supervisor stats broadcaster (every 30s) via broadcastXos
- server/xos/routes.ts: campaign segmentation (POST /campaigns/segment), CRUD for xos_campaigns
- server/whatsapp/service.ts: XOS queue-based business hours enforcement (xosQueueId in AutoReplyConfig), checkXosQueueIsOpen() helper
- client/src/hooks/use-xos-socket.ts: useXosSocket hook — subscribes to xos:supervisor.stats and xos:sla.breach Socket.IO events
- client/src/pages/XosSupervisor.tsx: integrate useXosSocket for real-time KPI cards; show connection mode (tempo real vs polling)
- shared/schema.ts: fix missing xosDevPipelines pgTable header

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-17 16:40:05 -03:00
Claude 5aaf94df0e feat: Fase 3 — UI React: Supervisor Monitor, Relatórios, Protocolos
3 novas páginas XOS + rotas + navegação central:

XosSupervisor (/xos/supervisor):
- KPI cards em tempo real: em atendimento, resolvidos hoje, tickets urgentes, agentes ativos
- Tab Filas: ocupação, aguardando, TMA, agentes por fila com Progress bar
- Tab Agentes: tabela com conversas ativas, resolvidos hoje, CSAT médio, TMA, filas
- Tab Ao Vivo: lista de conversas abertas com nome, canal, fila, agente, tempo de espera
- Auto-refresh a cada 30s, filtro por fila, indicador de horário de atualização
- Conversas > 30min destacadas em vermelho

XosReports (/xos/reports):
- Seletor de período (7d / 30d / 90d / 1 ano)
- Tab Visão Geral: KPI de conversas, tickets, receita ganha, novos contatos
  + cards de detalhe com TMA, canais, pipeline com taxa de conversão
- Tab CSAT: nota média, taxa de satisfação, distribuição de notas com barras visuais
- Tab SLA: compliance rate com badge colorido, violações, tickets por prioridade
- Tab Agentes: tabela com conversas, resolução, CSAT, TMA, tickets

XosProtocols (/xos/protocols):
- KPI: abertos, resolvidos, SLA violados
- Lista com número do protocolo (clicável para copiar), status badge, SLA restante
- Protocolos com SLA violado destacados em vermelho
- Dialog de detalhes: todos os campos, ações (Resolver, Registrar CSAT)
- Dialog de CSAT: stars interativas 1-5 + comentário
- Dialog de criação: assunto, ID do contato, SLA em minutos
- Busca e filtro por status

App.tsx:
- 3 novas rotas: /xos/supervisor, /xos/reports, /xos/protocols

XosCentral.tsx:
- 3 novos módulos no grid: Supervisor, Relatórios, Protocolos
- Grid expandido de 6 para 9 colunas

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-17 16:40:02 -03:00
root be22bbf77d chore: sync estado completo do servidor — .env, compose, superset, routes
Inclui:
- .env real de produção (repo privado, auditoria total)
- docker-compose.prod.yml atualizado (LiteLLM/LLMFit, Superset)
- docker/superset/superset_config.py
- client/src/pages/BiWorkspace.tsx
- server/superset/routes.ts
- .gitignore: remove .env da lista de ignorados

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 16:13:02 -03:00
root f29e61f335 chore: sync prod state — LiteLLM/LLMFit integration + compose updates
- docker-compose.prod.yml: LiteLLM na rede coolify, LLMFIT_BASE_URL/API_KEY, rede coolify external
- docker/litellm-config.yaml: TIER 1 LLMFit ativo, fallback Ollama configurado
- Dockerfile: ajustes de build
- server/: novos módulos SOE, plus-sync, schemas compartilhados
2026-03-17 11:28:43 -03:00
Claude 8d14fc021c
fix: resolve missing modules and type errors in App.tsx
- Create client/src/contexts/SoeMotorContext.tsx with SoeMotorProvider
- Create client/src/pages/SOE.tsx (re-export of Plus/ERP module)
- Fix ProtectedRoute component type to accept LazyExoticComponent

Resolves TS2307 for @/contexts/SoeMotorContext and @/pages/SOE,
and TS2322 for all lazy-loaded routes.

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-17 01:23:46 +00:00
Claude 219af5f6f5
feat(xos): Phase 4 — real-time Socket.IO, SLA scheduler, business hours, campaigns
- server/socket-io.ts: singleton SocketServer shared across all modules
- server/routes.ts: wire initSocketIO before chat/community sockets; start XOS scheduler
- server/xos/scheduler.ts: SLA breach checker (every 5min) + supervisor stats broadcaster (every 30s) via broadcastXos
- server/xos/routes.ts: campaign segmentation (POST /campaigns/segment), CRUD for xos_campaigns
- server/whatsapp/service.ts: XOS queue-based business hours enforcement (xosQueueId in AutoReplyConfig), checkXosQueueIsOpen() helper
- client/src/hooks/use-xos-socket.ts: useXosSocket hook — subscribes to xos:supervisor.stats and xos:sla.breach Socket.IO events
- client/src/pages/XosSupervisor.tsx: integrate useXosSocket for real-time KPI cards; show connection mode (tempo real vs polling)
- shared/schema.ts: fix missing xosDevPipelines pgTable header

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-17 00:56:14 +00:00
Claude c77b414029
feat: Fase 3 — UI React: Supervisor Monitor, Relatórios, Protocolos
3 novas páginas XOS + rotas + navegação central:

XosSupervisor (/xos/supervisor):
- KPI cards em tempo real: em atendimento, resolvidos hoje, tickets urgentes, agentes ativos
- Tab Filas: ocupação, aguardando, TMA, agentes por fila com Progress bar
- Tab Agentes: tabela com conversas ativas, resolvidos hoje, CSAT médio, TMA, filas
- Tab Ao Vivo: lista de conversas abertas com nome, canal, fila, agente, tempo de espera
- Auto-refresh a cada 30s, filtro por fila, indicador de horário de atualização
- Conversas > 30min destacadas em vermelho

XosReports (/xos/reports):
- Seletor de período (7d / 30d / 90d / 1 ano)
- Tab Visão Geral: KPI de conversas, tickets, receita ganha, novos contatos
  + cards de detalhe com TMA, canais, pipeline com taxa de conversão
- Tab CSAT: nota média, taxa de satisfação, distribuição de notas com barras visuais
- Tab SLA: compliance rate com badge colorido, violações, tickets por prioridade
- Tab Agentes: tabela com conversas, resolução, CSAT, TMA, tickets

XosProtocols (/xos/protocols):
- KPI: abertos, resolvidos, SLA violados
- Lista com número do protocolo (clicável para copiar), status badge, SLA restante
- Protocolos com SLA violado destacados em vermelho
- Dialog de detalhes: todos os campos, ações (Resolver, Registrar CSAT)
- Dialog de CSAT: stars interativas 1-5 + comentário
- Dialog de criação: assunto, ID do contato, SLA em minutos
- Busca e filtro por status

App.tsx:
- 3 novas rotas: /xos/supervisor, /xos/reports, /xos/protocols

XosCentral.tsx:
- 3 novos módulos no grid: Supervisor, Relatórios, Protocolos
- Grid expandido de 6 para 9 colunas

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-17 00:12:03 +00:00
Claude f0c3ce483e
feat: implementa SOE Rule Engine + Apache Superset (Arcádia Insights)
## SOE — Sistema Operacional Empresarial
- Adiciona 3 tabelas ao schema: soe_regras, soe_eventos, soe_lancamentos
- Cria server/soe/rule-engine/ com motor de regras configuráveis
  - Regras fiscais padrão: CFOP, tributação por regime, validações NCM
  - Regras de negócio: aprovação auto, reserva estoque, alertas
- Cria server/soe/event-bus.ts — dispara automações pós-execução
- Cria handlers: contabil-handler.ts (lançamentos automáticos) e
  financial-handler.ts (contas a P/R automáticas)
- Plugar Rule Engine em 3 rotas críticas do server/erp/routes.ts:
  POST /sales-orders, POST /confirm, POST /generate-nfe
- Redireciona /plus → /soe no frontend (Plus fica invisível)

## Apache Superset (Arcádia Insights)
- Expande docker-compose.yml: volumes, init script, config file
- Cria docker/superset/superset_config.py (embedding + CORS + feature flags)
- Cria docker/superset/init.sh (migração DB + admin + registro banco Arcádia)
- Substitui server/metabase/proxy.ts por server/superset/proxy.ts
- Substitui server/metaset/routes.ts por server/superset/routes.ts
  com Guest Token JWT para embedding nativo em qualquer tela
- Instala @superset-ui/embedded-sdk
- Cria client/src/components/SupersetDashboard.tsx — componente
  reutilizável via Guest Token, fallback para iframe
- Atualiza BiWorkspace.tsx: tab MetaSet → Insights (com seletor de dashboards)
- Atualiza .env.example com variáveis Superset completas

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 18:45:22 +00:00
Claude 1601ad0c12
feat: Manus approval guard, Marketplace→AppCenter connection, endpoint my-apps
SEGURANÇA:
- Manus: ferramentas perigosas (shell, write_file, python_execute) agora
  retornam requires_approval na primeira chamada e exigem confirmação via
  ask_human antes de executar

MARKETPLACE → APPCENTER:
- Novo endpoint GET /api/marketplace/my-apps (autenticado):
  retorna códigos de módulos ativos do tenant (core sempre incluídos)
- AppCenter consome o endpoint via useQuery
- Apps com subscriptionCode não contratados aparecem com:
  - Overlay de cadeado no ícone
  - Badge "Não contratado"
  - Clique redireciona ao Marketplace em vez de abrir o app

CORREÇÃO DO AUDIT:
- Agent.tsx, CentralApis.tsx, ApiHub.tsx, ArcadiaNext.tsx verificados:
  todos já têm implementação real (26k+ tokens) — classificação como
  "placeholder" no audit estava incorreta

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 15:17:08 +00:00
jonaspachecoometas 44dacedd90 feat(valuation): Módulo Consultivo de Valuation completo - Motor DCF/Múltiplos/Ativos, Governança 20 critérios, SWOT, Canvas Dual, PDCA, BI Dashboard, Relatórios, Agente IA 2026-03-10 18:28:14 -03:00
jonaspachecoometas ec173da844 feat: Arcádia Suite v2.0 - Sistema completo com 66 páginas, 6 motores, módulo Retail 2026-02-26 11:38:24 -03:00
jonaspachecoometas 065ab19a17 Arcadia Suite - Projeto completo 2026-02-09 17:46:40 -03:00