hermes-agent/tools
Teknium 492a63f3cc
feat(delegation): durable retained subagents — registry, follow-up messaging, persisted usage attribution
Tracker #79686 P1 (slices 2+3). Closes #76508.

- Durable retained-child registry in state.db (async_delegations gains
  retained/retained_at/tombstoned_at/child_session_id/children_json/
  owner_profile/usage_json via backwards-compatible column reconciliation).
  Completed delegations auto-retain; recover_abandoned_delegations now
  rehydrates/validates the reconnectable retained set after restart.
- delegate_task background dispatch returns an admission handle: per-child
  subagent_id, durable session_id, and model in the immediate payload
  (persisted as the children_json manifest); per-task results now carry
  child_session_id + subagent_id.
- delegate_task(follow_up=<child_id>): running child -> steer receipt
  (queued); completed retained child -> its persisted transcript is
  re-opened via resolve_resume_session_id lineage and the follow-up runs
  as the child's next user turn on its own session (cached prefix and
  role alternation preserved). Follow-ups are budget-exempt: no spawn
  depth, no concurrency slot, and they bypass the spawn-pause switch.
- Persisted child-usage attribution: delegation_child_usage ledger records
  each child's usage + resulting aggregate keyed on parent session/turn;
  CLI resume reapplies totals on load so parent subagent cost aggregates
  survive restarts (reapply-on-load design replacing #62206's lost
  one-shot write).
- Tombstone deletes: removing a retained child only de-registers it from
  follow-up messaging; transcripts and artifacts are never erased.
- Ownership/authority: compression-lineage session ownership
  (SessionDB.get_compression_lineage_root) rejects foreign-profile,
  sibling, branch/delegate/tool, and cycle follow-ups. Authority model
  design credit: @0xbWy (#76512), reimplemented in the registry layer.
- Config: delegation.max_retained (10) and delegation.retained_ttl_hours
  (72) with TTL + cap pruning.
2026-08-06 10:10:48 -07:00
..
computer_use fix(approval): classify CLI/TUI approval timeouts separately from explicit denials 2026-08-02 20:21:59 -07:00
environments
neutts_samples
wakewords
__init__.py
ansi_strip.py
approval.py refactor: fold /simplify-code findings 2026-08-06 17:03:10 +05:30
async_delegation.py feat(delegation): durable retained subagents — registry, follow-up messaging, persisted usage attribution 2026-08-06 10:10:48 -07:00
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 refactor: migrate hand-rolled error envelopes to shared tool_error() 2026-07-29 10:14:00 -07:00
close_terminal_tool.py
code_execution_tool.py
computer_use_tool.py
credential_files.py
cronjob_tools.py
daemon_pool.py
debug_helpers.py
delegate_tool.py feat(delegation): durable retained subagents — registry, follow-up messaging, persisted usage attribution 2026-08-06 10:10:48 -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 fix(read_file): stop promising anydoc conversion in the tool schema 2026-08-05 22:03:47 -07:00
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
interrupt.py
kanban_tools.py
lazy_deps.py
managed_tool_gateway.py
mcp_dashboard_oauth.py
mcp_oauth.py
mcp_oauth_manager.py
mcp_schema_cache.py
mcp_stdio_watchdog.py
mcp_tool.py
memory_tool.py
microsoft_graph_auth.py
microsoft_graph_client.py refactor: single shared Retry-After parser 2026-07-29 10:13:50 -07:00
neutts_synth.py
open_preview_tool.py
openrouter_client.py
osv_check.py
patch_parser.py
path_security.py
process_registry.py
project_tools.py
react_to_message_tool.py
read_extract.py fix(read_extract): cap anydoc input size before conversion 2026-08-05 22:02:42 -07:00
read_preview_tool.py Hermes can read the in-app browser (#79482) 2026-08-05 16:35:00 +00:00
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
skills_hub.py
skills_sync.py
skills_sync_client.py
skills_tool.py
slash_confirm.py
terminal_hints.py
terminal_tool.py fix: close simplify-pass findings — scheduler sibling site + home-unresolvable totality 2026-08-06 17:36:40 +05:30
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