13 lines
433 B
Python
13 lines
433 B
Python
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]}"
|