Debug Info Manager
📘 DebugInfoManager Documentation¶
The DebugInfoManager is a service designed to collect, manage, and expose debug information for tools and orchestrators. It provides a centralized key-value store for debug data, ensuring that relevant information is accessible to users with the appropriate roles (e.g., the "Debug" role in the front end).
🔑 Key Features¶
- Tool Debug Information Extraction
- The
DebugInfoManagercan extract debug data from a list ofToolCallResponseobjects. -
This data is stored under the
"tools"key, with each tool's name and debug information included. -
Direct Debug Data Addition
- Debug information can be added directly to the manager using a key-value pair.
-
This allows the orchestrator or other services to log additional debug data as needed.
-
Debug Data Retrieval
- The manager provides a method to retrieve all stored debug information in its current state.
🛠️ Methods¶
extract_tool_debug_info(tool_call_responses: list[ToolCallResponse], loop_iteration_index: int | None = None)-
Extracts debug information from a list of
ToolCallResponseobjects and appends it to the"tools"key in the debug store. -
add(key: str, value: Any) -
Adds a key-value pair to the debug store, merging it with the existing data.
-
get() -> dict - Retrieves the current state of the debug information.