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 argparse
import json import json
import os
from pathlib import Path from pathlib import Path
import sys import sys
from datetime import datetime from datetime import datetime
import shutil
CAMINHO_DO_CODIGO = Path(__file__).resolve().parent.parent CAMINHO_DO_CODIGO = Path(__file__).resolve().parent.parent
if str(CAMINHO_DO_CODIGO) not in sys.path: 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: def resolver_node() -> str:
"""Resolve o Node usado pelo servidor MCP local.""" """Resolve o Node mesmo quando o painel CEP possui um PATH reduzido."""
import shutil caminho_configurado = os.environ.get("PREMIERE_NODE_BIN", "").strip()
if caminho_configurado:
caminho = shutil.which("node") if os.path.isfile(caminho_configurado) and os.access(caminho_configurado, os.X_OK):
if caminho: return caminho_configurado
return caminho raise ErroDeMontagemIncremental(
raise ErroDeMontagemIncremental("Node.js não foi encontrado no PATH do painel.") 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 encontrado. Instale o Node.js ou configure PREMIERE_NODE_BIN "
"com o caminho completo do executável."
)
def principal() -> None: def principal() -> None: