Skip to content

Commit 1f971a1

Browse files
authored
Log full exception stacks in doc-assistant (#616)
1 parent ee5a976 commit 1f971a1

File tree

4 files changed

+15
-16
lines changed

4 files changed

+15
-16
lines changed

assistants/document-assistant/assistant/guidance/dynamic_ui_inspector.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ async def get_dynamic_ui_state(context: ConversationContext) -> dict[str, Any]:
103103
with drive.open_file("ui_state.json") as f:
104104
ui_json = f.read().decode("utf-8")
105105
return json.loads(ui_json)
106-
except (json.JSONDecodeError, FileNotFoundError) as e:
107-
logger.error(f"Error reading dynamic UI state: {e}")
106+
except (json.JSONDecodeError, FileNotFoundError):
107+
logger.exception("Error reading dynamic UI state")
108108
return {}
109109

110110

assistants/document-assistant/assistant/response/responder.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -516,8 +516,8 @@ def _override_edit_file_description(self, tools: list[ChatCompletionToolParam])
516516
edit_tool["function"]["description"] = EDIT_TOOL_DESCRIPTION_HOSTED
517517
elif filesystem_root and edit_tool:
518518
edit_tool["function"]["description"] = EDIT_TOOL_DESCRIPTION_LOCAL
519-
except Exception as e:
520-
logger.error(f"Failed to override edit_file description: {e}")
519+
except Exception:
520+
logger.exception("Failed to override edit_file description")
521521
return tools
522522

523523
return tools

libraries/python/assistant-extensions/assistant_extensions/mcp/_client_utils.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,9 @@ async def connect_to_mcp_server_sse(client_settings: MCPClientSettings) -> Async
165165
yield client_session # Yield the session for use
166166

167167
except ExceptionGroup as e:
168-
logger.exception(f"TaskGroup failed in SSE client for {client_settings.server_config.key}: {e}")
168+
logger.exception("TaskGroup failed in SSE client for %s", client_settings.server_config.key)
169169
for sub in e.exceptions:
170-
logger.error(f"Sub-exception: {client_settings.server_config.key}: {sub}")
170+
logger.exception("sub-exception: %s", client_settings.server_config.key, exc_info=sub)
171171
# If there's exactly one underlying exception, re-raise it
172172
if len(e.exceptions) == 1:
173173
raise e.exceptions[0]
@@ -191,19 +191,18 @@ async def refresh_mcp_sessions(mcp_sessions: list[MCPSession], stack: AsyncExitS
191191
"""
192192
active_sessions = []
193193
for session in mcp_sessions:
194-
if not session.is_connected:
195-
logger.info(f"Session {session.config.server_config.key} is disconnected. Attempting to reconnect...")
196-
new_session = await reconnect_mcp_session(session.config, stack)
197-
if new_session:
198-
active_sessions.append(new_session)
199-
else:
200-
logger.error(f"Failed to reconnect MCP server {session.config.server_config.key}.")
201-
else:
194+
if session.is_connected:
202195
active_sessions.append(session)
196+
continue
197+
198+
logger.info(f"Session {session.config.server_config.key} is disconnected. Attempting to reconnect...")
199+
new_session = await reconnect_mcp_session(session.config, stack)
200+
active_sessions.append(new_session)
201+
203202
return active_sessions
204203

205204

206-
async def reconnect_mcp_session(client_settings: MCPClientSettings, stack: AsyncExitStack) -> MCPSession | None:
205+
async def reconnect_mcp_session(client_settings: MCPClientSettings, stack: AsyncExitStack) -> MCPSession:
207206
"""
208207
Attempt to reconnect to the MCP server using the provided configuration.
209208
Returns a new MCPSession if successful, or None otherwise.

libraries/python/assistant-extensions/assistant_extensions/mcp/_openai_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ async def handle_message(
173173
try:
174174
return await self._message_handler(context, params)
175175
except Exception as e:
176-
logger.error(f"Error handling sampling request: {e}")
176+
logger.exception("Error handling sampling request")
177177
code = getattr(e, "status_code", 500)
178178
message = getattr(e, "message", "Error handling sampling request.")
179179
data = str(e)

0 commit comments

Comments
 (0)