@danhachuel/leadmaster 0.1.23 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/backend/__pycache__/main.cpython-311.pyc +0 -0
  3. package/backend/main.py +18 -0
  4. package/backend/services/__pycache__/__init__.cpython-311.pyc +0 -0
  5. package/backend/services/__pycache__/agents.cpython-311.pyc +0 -0
  6. package/backend/services/__pycache__/crm_agent.cpython-311.pyc +0 -0
  7. package/backend/services/__pycache__/extractors.cpython-311.pyc +0 -0
  8. package/backend/services/__pycache__/flags.cpython-311.pyc +0 -0
  9. package/backend/services/__pycache__/llm.cpython-311.pyc +0 -0
  10. package/backend/services/__pycache__/storage.cpython-311.pyc +0 -0
  11. package/backend/tests/__pycache__/conftest.cpython-311-pytest-8.4.2.pyc +0 -0
  12. package/backend/tests/__pycache__/test_agents_routes.cpython-311-pytest-8.4.2.pyc +0 -0
  13. package/backend/tests/__pycache__/test_campaigns_routes.cpython-311-pytest-8.4.2.pyc +0 -0
  14. package/backend/tests/__pycache__/test_cnpj_extractor.cpython-311-pytest-8.4.2.pyc +0 -0
  15. package/backend/tests/__pycache__/test_config.cpython-311-pytest-8.4.2.pyc +0 -0
  16. package/backend/tests/__pycache__/test_crm_routes.cpython-311-pytest-8.4.2.pyc +0 -0
  17. package/backend/tests/__pycache__/test_extractors_real.cpython-311-pytest-8.4.2.pyc +0 -0
  18. package/backend/tests/__pycache__/test_funnel_routes.cpython-311-pytest-8.4.2.pyc +0 -0
  19. package/backend/tests/__pycache__/test_instagram_extractor.cpython-311-pytest-8.4.2.pyc +0 -0
  20. package/backend/tests/__pycache__/test_launcher_protections.cpython-311-pytest-8.4.2.pyc +0 -0
  21. package/backend/tests/__pycache__/test_lead_edit_routes.cpython-311-pytest-8.4.2.pyc +0 -0
  22. package/backend/tests/__pycache__/test_maps_extractor.cpython-311-pytest-8.4.2.pyc +0 -0
  23. package/backend/tests/__pycache__/test_metrics.cpython-311-pytest-8.4.2.pyc +0 -0
  24. package/backend/tests/__pycache__/test_process_flags.cpython-311-pytest-8.4.2.pyc +0 -0
  25. package/backend/tests/__pycache__/test_webhook_routes.cpython-311-pytest-8.4.2.pyc +0 -0
  26. package/backend/tests/test_launcher_protections.py +31 -0
  27. package/backend/tests/test_lead_edit_routes.py +63 -0
  28. package/frontend/dist/assets/{index-ViDiQGJH.css → index-BLuj5jS4.css} +1 -1
  29. package/frontend/dist/assets/index-C1mEC85V.js +90 -0
  30. package/frontend/dist/index.html +2 -2
  31. package/package.json +1 -1
  32. package/scripts/cli.mjs +10 -0
  33. package/frontend/dist/assets/index-Bc1EFZVI.js +0 -90
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
7
  <title>LeadMaster — Painel</title>
8
- <script type="module" crossorigin src="/assets/index-Bc1EFZVI.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-ViDiQGJH.css">
8
+ <script type="module" crossorigin src="/assets/index-C1mEC85V.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-BLuj5jS4.css">
10
10
  </head>
11
11
  <body class="bg-gray-100 min-h-screen">
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danhachuel/leadmaster",
3
- "version": "0.1.23",
3
+ "version": "0.1.25",
4
4
  "description": "SaaS local de prospecção e automação: CRM, extratores de leads e agentes de IA — 100% local.",
5
5
  "license": "MIT",
6
6
  "author": "Dan Hachuel",
package/scripts/cli.mjs CHANGED
@@ -690,6 +690,16 @@ function cmdStart(args) {
690
690
  // nem de npx — NUNCA REMOVER.
691
691
  process.stdin.resume();
692
692
 
693
+ // Rede de segurança (regra inviolável do AGENTS.md): se o event loop
694
+ // esvaziar (stdin em EOF, timer perdido, qualquer surpresa do terminal/
695
+ // PTY do MobaXterm), o Node re-ativa o keep-alive no 'beforeExit' em vez
696
+ // de encerrar — o prompt NUNCA é devolvido e o uvicorn não fica órfão.
697
+ // Erros no stream de stdin também nunca derrubam o launcher.
698
+ process.stdin.on('error', () => {});
699
+ process.on('beforeExit', () => {
700
+ setInterval(() => {}, 1000);
701
+ });
702
+
693
703
  console.log(`✓ LeadMaster no ar em ${url} (dados: ${home})`);
694
704
  console.log('');
695
705
  console.log(`ℹ Abra ${url} no navegador quando quiser — o LeadMaster nunca abre janelas sozinho.`);