From d6dbf87ef987c55b7ca13598c1d4d9ee6d620c49 Mon Sep 17 00:00:00 2001 From: Ishaan Jaffer Date: Thu, 7 May 2026 10:06:55 -0700 Subject: [PATCH] feat(v2 managed agents): add agt_/ses_/msg_ ID prefix helpers --- litellm/managed_agents/id_utils.py | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 litellm/managed_agents/id_utils.py diff --git a/litellm/managed_agents/id_utils.py b/litellm/managed_agents/id_utils.py new file mode 100644 index 00000000000..f63840d7d89 --- /dev/null +++ b/litellm/managed_agents/id_utils.py @@ -0,0 +1,39 @@ +"""Prefixed UUID helpers for managed agents. + +Format: `` → 36-char strings like +`agt_2c1f7a3b9d4e4f8aa7c2d1e3f4b5a6c7`. +""" + +import uuid + +AGENT_ID_PREFIX = "agt_" +SESSION_ID_PREFIX = "ses_" +MESSAGE_ID_PREFIX = "msg_" + + +def _new_id(prefix: str) -> str: + return f"{prefix}{uuid.uuid4().hex}" + + +def new_agent_id() -> str: + return _new_id(AGENT_ID_PREFIX) + + +def new_session_id() -> str: + return _new_id(SESSION_ID_PREFIX) + + +def new_message_id() -> str: + return _new_id(MESSAGE_ID_PREFIX) + + +def is_agent_id(s: str) -> bool: + return isinstance(s, str) and s.startswith(AGENT_ID_PREFIX) + + +def is_session_id(s: str) -> bool: + return isinstance(s, str) and s.startswith(SESSION_ID_PREFIX) + + +def is_message_id(s: str) -> bool: + return isinstance(s, str) and s.startswith(MESSAGE_ID_PREFIX)