ForcePilot/backend/package/yuxi/utils/subagent_thread_utils.py

13 lines
433 B
Python
Raw Normal View History

from __future__ import annotations
import hashlib
_CHILD_THREAD_ID_PREFIX = "subagent_"
_CHILD_THREAD_ID_DIGEST_LENGTH = 64 - len(_CHILD_THREAD_ID_PREFIX)
def make_child_thread_id(parent_thread_id: str, agent_slug: str, tool_call_id: str) -> str:
digest = hashlib.sha256(f"{parent_thread_id}:{agent_slug}:{tool_call_id}".encode()).hexdigest()
return f"{_CHILD_THREAD_ID_PREFIX}{digest[:_CHILD_THREAD_ID_DIGEST_LENGTH]}"