Commit Graph

9 Commits

Author SHA1 Message Date
Claude eb0926704a
feat: ERPNext em container Docker + SOE Rule Importer
- docker-compose.yml: adiciona serviços `erpnext` (frappe/erpnext:version-15)
  e `erpnext-db` (MariaDB 10.6) no perfil `erpnext`
  Volumes: erpnext_db, erpnext_sites, erpnext_logs
  Porta exposta: 8090 (→ :8080 interno)

- docker/erpnext/init.sh: script de inicialização que aguarda MariaDB,
  cria o site `erpnext.local` com bench new-site, instala app erpnext
  e sobe o servidor na porta 8080

- server/erpnext/proxy.ts: proxy transparente /erpnext-app/* → container
  (ativo em DOCKER_MODE=true ou ERPNEXT_PROXY_ENABLED=true)
  Reescreve Location headers, forward X-Forwarded-* e X-Site-Name
  Endpoint: GET /api/erpnext/container-status

- server/soe/erpnext-rule-importer.ts: importa regras de negócio do ERPNext
  (campos obrigatórios por DocType + Workflows ativos) e salva em soe_regras
  13 DocTypes mapeados para triggers SOE correspondentes
  Endpoint: POST /api/soe/erpnext/import-rules

- server/routes.ts: registra setupErpNextProxy e endpoint de import-rules
- .env.example: documenta variáveis para modo container e modo externo

Uso: docker compose --profile erpnext up

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 19:27:26 +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 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