From 8dfe409f52b9510eb33d8af81122575b0702ffc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Henrique?= Date: Thu, 10 Sep 2026 19:22:43 -0400 Subject: [PATCH] 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 --- .jhonny/analises.db | Bin 1175552 -> 1175552 bytes .../aplicar_montagem_incremental_prototipo.py | 32 ++++++++++++++---- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/.jhonny/analises.db b/.jhonny/analises.db index 246cdf1b62c5c955e64316be7a93814c2bd499ad..743174deafabaafe8c1d3959e8a608a56f6c1cda 100644 GIT binary patch delta 86 zcmX}ZI{| str: def resolver_node() -> str: - """Resolve o Node usado pelo servidor MCP local.""" - import shutil - - caminho = shutil.which("node") - if caminho: - return caminho - raise ErroDeMontagemIncremental("Node.js não foi encontrado no PATH do painel.") + """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 encontrado. Instale o Node.js ou configure PREMIERE_NODE_BIN " + "com o caminho completo do executável." + ) def principal() -> None: