hermes-agent/tools
Teknium 56cf87432b fix(gateway): add submit/bootstrap to lifecycle guard Branch B and label-independent detection
Extends the shared _GATEWAY_LIFECYCLE_PATTERN (used by BOTH the cron
creation-time guard in cron/lifecycle_guard.py and the terminal
execution-time hard-block in tools/terminal_tool.py) so Branch B covers
launchctl submit and bootstrap alongside kickstart/unload/load/stop/
restart, and normalizes POSIX shell line continuations before matching
so the exact multi-line reported shape in #62891 cannot slip past.

Also extends the execution-aware, label-independent detector
(contains_launchctl_submit_command, cherry-picked from #63272) to cover
launchctl bootstrap, since a neutral label like ai.hermes.svc-reload-tmp
defeats any label-anchored regex — the second production reproduction.

Regression tests cover both sites, including
`launchctl submit -l com.foo -- /path/gateway` and the bootstrap
variant, plus outside-gateway pass-through.

Branch B regex extension and continuation normalization drawn from
PR #62896; bootstrap coverage and test shapes drawn from PR #51003.

Co-authored-by: JackJin <1037461232@qq.com>
Co-authored-by: joelbrilliant <joelbrilliant1@gmail.com>
2026-08-01 10:52:08 -07:00
..
computer_use
…
environments feat(terminal): raise Docker sandbox /dev/shm to 1g by default (configurable) 2026-07-31 21:31:51 -07:00
neutts_samples
…
wakewords
…
__init__.py
…
ansi_strip.py
…
approval.py
…
async_delegation.py
…
audio_container.py
…
binary_extensions.py
…
blueprints.py
…
browser_camofox.py
…
browser_camofox_state.py
…
browser_cdp_tool.py
…
browser_dialog_tool.py
…
browser_supervisor.py
…
browser_tool.py
…
budget_config.py
…
checkpoint_manager.py
…
clarify_gateway.py
…
clarify_tool.py
…
close_terminal_tool.py
…
code_execution_tool.py
…
computer_use_tool.py
…
credential_files.py fix(vision): make desktop image uploads reachable from profile Docker sandboxes (#69575) (#75671) 2026-07-31 17:43:37 -04:00
cronjob_tools.py fix(cron): close GitHub auth-header exemption abuse in prompt scanner 2026-07-31 22:33:00 -07:00
daemon_pool.py
…
debug_helpers.py
…
delegate_tool.py fix(delegation): prevent child HERMES_SESSION_ID leak into parent process env 2026-07-31 22:32:55 -07:00
delegation_live_log.py
…
desktop_ui.py
…
discord_tool.py
…
env_passthrough.py
…
env_probe.py
…
fal_common.py
…
feishu_doc_tool.py
…
feishu_drive_tool.py
…
file_operations.py
…
file_state.py
…
file_tools.py
…
flux3_video_tool.py
…
focus_pane_tool.py
…
fuzzy_match.py
…
homeassistant_tool.py
…
hook_output_spill.py
…
image_generation_tool.py
…
image_source.py fix(vision): make desktop image uploads reachable from profile Docker sandboxes (#69575) (#75671) 2026-07-31 17:43:37 -04:00
interrupt.py
…
kanban_tools.py
…
lazy_deps.py fix(deps): repair Google transitive security floors (#72108) 2026-07-31 23:18:38 -07:00
managed_tool_gateway.py
…
mcp_dashboard_oauth.py
…
mcp_oauth.py
…
mcp_oauth_manager.py
…
mcp_stdio_watchdog.py
…
mcp_tool.py fix(mcp): guard against duplicate spawns and stale connecting entries (#58862) 2026-08-01 11:35:59 +05:30
memory_tool.py
…
microsoft_graph_auth.py
…
microsoft_graph_client.py
…
neutts_synth.py
…
open_preview_tool.py
…
openrouter_client.py
…
osv_check.py fix(security): cache OSV malware preflight verdicts and stop double component discovery (#75485) 2026-08-01 10:47:20 -07:00
patch_parser.py
…
path_security.py
…
process_registry.py fix(process): decode background process output with incremental UTF-8 decoders 2026-07-31 21:21:13 -07:00
project_tools.py
…
react_to_message_tool.py
…
read_extract.py
…
read_terminal_tool.py
…
registry.py
…
schema_sanitizer.py
…
send_message_tool.py
…
session_search_tool.py
…
skill_manager_tool.py
…
skill_provenance.py
…
skill_usage.py
…
skills_ast_audit.py
…
skills_guard.py fix(security): extend secret redaction to GitLab token families 2026-07-31 21:31:10 -07:00
skills_hub.py fix(skills-hub): include owner in ClawHub source URLs and add retry on 429 (#51236) 2026-07-31 22:33:11 -07:00
skills_sync.py
…
skills_sync_client.py
…
skills_tool.py
…
slash_confirm.py
…
terminal_tool.py fix(gateway): add submit/bootstrap to lifecycle guard Branch B and label-independent detection 2026-08-01 10:52:08 -07:00
thread_context.py
…
threat_patterns.py
…
tirith_security.py
…
todo_tool.py
…
tool_backend_helpers.py
…
tool_output_limits.py
…
tool_result_storage.py
…
tool_search.py
…
transcription_tools.py
…
tts_streaming.py
…
tts_text_normalize.py
…
tts_tool.py
…
url_safety.py
…
video_generation_tool.py
…
vision_tools.py
…
voice_mode.py
…
wake_word.py
…
web_tools.py
…
website_policy.py
…
working_diff.py
…
write_approval.py
…
x_search_tool.py
…
xai_http.py
…
xai_video_tools.py
…
yuanbao_tools.py
…