mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-18 04:41:56 +00:00
fix(gateway): build service PATH from existing dirs only, include ~/.hermes/node_modules
Extract PATH building into _build_service_path_dirs() that skips directories which don't exist on disk (e.g. node_modules/.bin for pip installs) and also includes ~/.hermes/node/bin and ~/.hermes/node_modules/.bin for agent-browser.
This commit is contained in:
parent
c4bda3f27c
commit
d69eab1efd
2 changed files with 61 additions and 8 deletions
31
tests/hermes_cli/test_gateway_service_paths.py
Normal file
31
tests/hermes_cli/test_gateway_service_paths.py
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
from pathlib import Path
|
||||
from unittest.mock import patch
|
||||
|
||||
|
||||
def test_service_path_skips_nonexistent_node_modules(tmp_path):
|
||||
"""Service PATH should not include node_modules/.bin if it doesn't exist."""
|
||||
from hermes_cli.gateway import _build_service_path_dirs
|
||||
with patch("hermes_cli.gateway.get_hermes_home", return_value=tmp_path / ".hermes"):
|
||||
dirs = _build_service_path_dirs(project_root=tmp_path)
|
||||
node_modules_bin = str(tmp_path / "node_modules" / ".bin")
|
||||
assert node_modules_bin not in dirs
|
||||
|
||||
|
||||
def test_service_path_includes_node_modules_when_present(tmp_path):
|
||||
"""Service PATH should include node_modules/.bin when it exists."""
|
||||
nm_bin = tmp_path / "node_modules" / ".bin"
|
||||
nm_bin.mkdir(parents=True)
|
||||
from hermes_cli.gateway import _build_service_path_dirs
|
||||
with patch("hermes_cli.gateway.get_hermes_home", return_value=tmp_path / ".hermes"):
|
||||
dirs = _build_service_path_dirs(project_root=tmp_path)
|
||||
assert str(nm_bin) in dirs
|
||||
|
||||
|
||||
def test_service_path_includes_hermes_home_node_modules(tmp_path):
|
||||
"""Service PATH should include ~/.hermes/node_modules/.bin when it exists."""
|
||||
hermes_nm = tmp_path / ".hermes" / "node_modules" / ".bin"
|
||||
hermes_nm.mkdir(parents=True)
|
||||
from hermes_cli.gateway import _build_service_path_dirs
|
||||
with patch("hermes_cli.gateway.get_hermes_home", return_value=tmp_path / ".hermes"):
|
||||
dirs = _build_service_path_dirs(project_root=tmp_path)
|
||||
assert str(hermes_nm) in dirs
|
||||
Loading…
Add table
Add a link
Reference in a new issue