odysseus/src/agent_tools
Léo 8b85e11fb4 fix(browser): skip the Chrome sweep when the host has no procfs
_terminate_owned_chrome() walked Path("/proc") unconditionally, so on macOS
and Windows iterdir() raised FileNotFoundError out of private-browser session
shutdown. src/tools/cookbook.py already guards the same kind of scan with
os.path.isdir("/proc").

The sweep only reclaims Chrome trees that agent-browser reparented, so it is
an optimisation rather than a correctness requirement: degrade to a no-op
rather than failing the whole shutdown path.

_PROC_ROOT is a module attribute so both branches are testable on either kind
of host. The procfs-present path had no coverage at all before this.
2026-09-25 10:30:49 +02:00
..
__init__.py Squash Odysseus development history 2026-09-11 06:04:19 +00:00
admin_tools.py Consolidate Odysseus agent harness and tool contracts 2026-09-17 10:07:40 +00:00
bg_job_tools.py feat(agent): add manage_bg_jobs tool to inspect and kill background bash jobs (#4577) 2026-06-19 00:28:22 -07:00
coding_tools.py Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00
document_tools.py Consolidate Odysseus agent harness and tool contracts 2026-09-17 10:07:40 +00:00
filesystem_tools.py fix workspace write path disclosure 2026-09-18 14:36:09 +00:00
interaction_tools.py Merge dev into main for testing 2026-06-28 14:07:23 +00:00
media_tools.py Consolidate Odysseus agent harness and tool contracts 2026-09-17 10:07:40 +00:00
model_interaction_tools.py Consolidate Odysseus agent harness and tool contracts 2026-09-17 10:07:40 +00:00
ocr_engine.py Squash Odysseus development history 2026-09-11 06:04:19 +00:00
session_tools.py Squash Odysseus development history 2026-09-11 06:04:19 +00:00
subprocess_tools.py fix(tools): constrain Python environment namespace mount 2026-09-23 00:10:50 +01:00
web_tools.py fix(browser): skip the Chrome sweep when the host has no procfs 2026-09-25 10:30:49 +02:00