Commit Graph

15 Commits

Author SHA1 Message Date
root 37a9fbe801 feat: ERPNext container + SOE Rule Importer (cherry-pick eb09267)
- docker-compose.yml: perfil erpnext (MariaDB + ERPNext v15)
- docker/erpnext/init.sh
- server/erpnext/proxy.ts
- server/soe/erpnext-rule-importer.ts
- server/routes.ts: ERPNext proxy + SOE import endpoint

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 16:49:05 -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 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 8f05f8b021 feat: Fase 2 — Supervisor Monitor, CSAT, Protocolos, Business Hours, SLA, Reports
Schema (shared/schema.ts):
- xos_protocols: protocolo numerado por atendimento com SLA deadline, breach flag e CSAT
- xos_sla_policies: políticas de SLA por fila (first_response + resolution em minutos)
- Export dos novos types: XosProtocol, XosSlaPolicy

XOS Routes (server/xos/routes.ts) — 40 novos endpoints:

Supervisor Monitor:
  GET /supervisor/overview     → KPIs globais em tempo real (conversas, tickets, agentes)
  GET /supervisor/queues       → Filas com ativos, aguardando, TMA, agentes
  GET /supervisor/agents       → Agentes com conversas ativas, CSAT, TMA por período
  GET /supervisor/conversations/live → Conversas ao vivo por fila/agente/status

CSAT:
  POST /conversations/:id/csat → Registra nota 1-5 + comentário (conversa)
  POST /tickets/:id/csat       → Registra nota 1-5 + comentário (ticket)
  GET  /csat/summary           → Distribuição de notas + satisfaction_rate_pct por período

Protocolos:
  GET   /protocols             → Lista protocolos com filtros (status, contato, busca)
  POST  /protocols             → Cria protocolo com número YYYYMMDD-XXXXXX + SLA
  PATCH /protocols/:id         → Atualiza status/assignee do protocolo
  POST  /conversations/:id/protocol → Auto-gera protocolo para conversa + herda SLA da fila

Business Hours:
  GET /queues/:id/business-hours   → Retorna horários configurados
  PUT /queues/:id/business-hours   → Atualiza schedules [{dayOfWeek, startTime, endTime}]
  GET /queues/:id/is-open          → Verifica se a fila está aberta agora + mensagem fora de hora

SLA Policies:
  GET   /sla-policies          → Lista políticas ativas por fila
  POST  /sla-policies          → Cria política (first_response + resolution em minutos)
  PATCH /sla-policies/:id      → Atualiza política
  POST  /sla-policies/check-breaches → Marca violações de SLA + emite crm.sla.breached

Reports/Analytics:
  GET /reports/overview        → Visão geral: conversas, tickets, contatos, deals por período
  GET /reports/agents          → Performance por agente: conversas, CSAT, TMA, tickets
  GET /reports/sla             → Compliance de SLA por protocolo + tickets por prioridade

Automation Engine (automation_engine.py):
  Novos event types: crm.csat.received, crm.sla.breached, crm.protocol.created

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-17 16:39:59 -03:00
Claude 242f8bbc8f feat: Fase 1 — Motor de Automações + Manus + XOS CRM integrados
Automation Engine (Python FastAPI v2.0.0):
- Novos step types: sub_workflow, split_batch, loop, retry, error_branch,
  send_email, send_whatsapp, update_record, create_record, manus_task
- Retry com backoff por step (retry_count + retry_delay_seconds)
- Branching condicional (on_success/on_failure/error_branch)
- Interpolação de variáveis {{campo}} em todos os steps
- Novos tipos de evento CRM: crm.contact.created, crm.deal.stage_changed,
  crm.deal.won, crm.deal.lost, crm.ticket.created, crm.message.received, etc.
- Endpoint POST /xos/trigger: recebe eventos CRM e repassa ao Node.js
- Forward bidirecional: engine Python ↔ Node.js XOS webhook

Manus IA — 3 novos tools:
- automation_trigger: dispara automações por ID ou evento do barramento
- xos_action: cria/atualiza contacts, deals, tickets, tarefas via IA
  (create_contact, update_contact, create_deal, move_deal_stage,
   create_ticket, assign_agent, create_task, create_activity, create_note)
- inbox_action: age na Central de Atendimento via IA
  (close_conversation, transfer_conversation, send_message,
   add_label, resolve_ticket, escalate_ticket)

XOS CRM Routes — Event Bus wiring:
- POST /contacts emite crm.contact.created
- POST /deals emite crm.deal.created
- PUT /deals/:id/stage emite crm.deal.stage_changed / crm.deal.won / crm.deal.lost
- POST /tickets emite crm.ticket.created
- CRUD completo para xos_automations (GET/POST/PATCH/DELETE)
- POST /automations/:id/execute — execução manual
- POST /automations/webhook/crm-event — recebe eventos do engine Python
- Executor de xos_automations: avalia conditions + executa actions
  (send_email, send_whatsapp, create_task, assign_agent, update_field,
   move_deal_stage, notify_team, webhook, agent_task)

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-17 16:39:29 -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 5571cb51e6 feat: Superset gateway — proxy /superset/*, guest-token, dashboards API 2026-03-17 13:20:10 -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 0c006da8a5
feat: rate limiting, logging estruturado, tenant isolation, Compass AI, paginacao
QUALIDADE:
- Rate limiting: 500 req/15min em /api; 20 req/15min em login/register
- Winston logger: JSON em prod, colorido em dev; HTTP middleware com user_id/tenant_id
- Paginacao: XOS (conversations, tickets, activities) e Quality (9 endpoints) recebem offset

MULTI-TENANCY:
- tenantId adicionado a 7 tabelas criticas: workspace_pages, quick_notes,
  activity_feed, conversations, knowledge_base, chat_threads, manus_runs
- Migration 0002_tenant_isolation.sql com indices de performance

PROCESS COMPASS COM IA:
- POST /api/compass/projects/:id/ai-brief
  Gera briefing executivo via GPT-4o-mini: situação, riscos, ações prioritárias,
  health score — baseado em tasks, PDCA e status do projeto
- GET  /api/compass/projects/:id/health
  Score 0-100 calculado: 40% completude de tasks + 30% pontualidade + 30% PDCA

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 16:13:10 +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
Claude 1ab50d456b
security: correções críticas de segurança e estabilidade
SEGURANÇA:
- auth: XOS, LMS, Quality e /api/tenants agora exigem autenticação (102+ rotas)
- CORS: 7 serviços Python trocam allow_origins=["*"] por APP_URL env var
- credentials: removidas senhas hardcoded de metaset/routes.ts; SESSION_SECRET com warning se ausente
- uvicorn: criados server/__init__.py e server/python/__init__.py para module-style correto
- docker: embeddings_service usa uvicorn module-style como os demais

ESTABILIDADE:
- OpenAI: timeout=30s e maxRetries=3 no cliente Manus
- Frappe: AbortSignal.timeout(30s) em todos os fetches
- PipelineOrchestrator: guard processingMonitors evita execuções sobrepostas no setInterval

DADOS:
- WhatsApp auto-reply config agora persiste no banco (coluna auto_reply_config jsonb)
- Migration 0001_whatsapp_auto_reply_config.sql adicionada

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 14:34:51 +00:00
Claude 9322bf570f
feat: containerização completa + Knowledge Graph API + embeddings pgvector
Infraestrutura Docker:
- Dockerfile multi-stage para app Node.js
- Dockerfile.python genérico para todos os microserviços Python
- docker-compose.yml para desenvolvimento local (com perfis: bi, ai)
- docker-compose.prod.yml para deploy no Coolify com Traefik
- docker/init-pgvector.sql — instala extensão vector no PostgreSQL
- docker/python-entrypoint.sh — seleciona serviço pelo SERVICE_NAME
- docker/litellm-config.yaml — proxy LLM com fallback OpenAI → Ollama
- .env.example com todas as variáveis documentadas

Soberania de IA:
- Ollama + Open WebUI como perfil 'ai' no docker-compose
- LiteLLM como proxy unificado (OpenAI ↔ Ollama com fallback automático)

Knowledge Graph (rotas faltantes implementadas):
- server/graph/routes.ts — CRUD completo de nodes, edges, knowledge base + busca semântica
- server/graph/service.ts — camada de serviço com indexação automática de embeddings
- server/python/embeddings_service.py — FastAPI com pgvector para busca vetorial

Correções de infraestrutura:
- server/index.ts — DOCKER_MODE=true desativa spawn de processos filhos
- server/routes.ts — registra /api/graph/* no Express

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 10:14:33 +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