feat: corrigida a descoberta do Node no executor incremental quand

- corrigida a descoberta do Node no executor incremental quando chamado pelo painel

Resumo:
- 2 arquivos alterados
- 0 novos
- 2 modificados
- 0 removidos

 2 files changed, 25 insertions(+), 7 deletions(-)

Arquivos:
  - .jhonny/analises.db
  - code/engine/aplicar_montagem_incremental_prototipo.py
This commit is contained in:
João Henrique
2026-09-10 19:22:43 -04:00
parent 59f1358f18
commit 8dfe409f52
2 changed files with 25 additions and 7 deletions
Binary file not shown.
@@ -9,9 +9,11 @@ from __future__ import annotations
import argparse
import json
import os
from pathlib import Path
import sys
from datetime import datetime
import shutil
CAMINHO_DO_CODIGO = Path(__file__).resolve().parent.parent
if str(CAMINHO_DO_CODIGO) not in sys.path:
@@ -108,13 +110,29 @@ def _nome_da_sequencia(nome_da_origem: str) -> str:
def resolver_node() -> str:
"""Resolve o Node usado pelo servidor MCP local."""
import shutil
caminho = shutil.which("node")
if caminho:
"""Resolve o Node mesmo quando o painel CEP possui um PATH reduzido."""
caminho_configurado = os.environ.get("PREMIERE_NODE_BIN", "").strip()
if caminho_configurado:
if os.path.isfile(caminho_configurado) and os.access(caminho_configurado, os.X_OK):
return caminho_configurado
raise ErroDeMontagemIncremental(
f"Node.js configurado em PREMIERE_NODE_BIN não é executável: {caminho_configurado}"
)
encontrado_no_path = shutil.which("node.exe" if os.name == "nt" else "node")
if encontrado_no_path:
return encontrado_no_path
caminhos_conhecidos = (
("C:/Program Files/nodejs/node.exe", "C:/Program Files/nodejs/nodejs.exe")
if os.name == "nt"
else ("/opt/homebrew/bin/node", "/usr/local/bin/node", "/usr/bin/node")
)
for caminho in caminhos_conhecidos:
if os.path.isfile(caminho) and os.access(caminho, os.X_OK):
return caminho
raise ErroDeMontagemIncremental("Node.js não foi encontrado no PATH do painel.")
raise ErroDeMontagemIncremental(
"Node.js não encontrado. Instale o Node.js ou configure PREMIERE_NODE_BIN "
"com o caminho completo do executável."
)
def principal() -> None: