mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-04 06:21:15 +02:00
style: fix E501 line-too-long errors in gns3_copilot
Fix all 423 E501 line length violations across 26 files to comply with
PEP 8 88-character line limit.
Changes:
- Split long f-strings across multiple lines
- Break long docstring descriptions and parameter lists
- Split markdown table rows and list examples
- Break long URL construction f-strings
- Split long logger messages and comments
- Add noqa: E501 for SVG strings (cannot be split)
Modified files:
- agent/: context_manager.py, gns3_copilot.py, model_factory.py
- gns3_client/: connector_factory.py, context_helpers.py, custom_gns3fy.py,
gns3_project_info.py, gns3_topology_reader.py
- prompts/: __init__.py, lab_automation_assistant_prompt.py,
prompt_loader.py, teaching_assistant_prompt.py
- tools_v2/: __init__.py, config_tools_nornir.py, display_tools_nornir.py,
gns3_create_link.py, gns3_create_node.py, gns3_get_node_temp.py,
gns3_start_node.py, gns3_update_node_name.py,
vpcs_tools_telnetlib3.py
- utils/: __init__.py, command_filter.py, get_gns3_device_port.py,
gns3_drawing_utils.py, llm_config_helper.py, message_converters.py,
parse_tool_content.py, tool_call_stream.py
All files now pass ruff E501 checks.
Co-Authored-By: Yue Guobin <yueguobin@outlook.com>
This commit is contained in:
1 parent
25f2d1b56b
commit
7c3b832bca
32 files changed
+1967
-762
No files matched your search
@@ -79,10 +79,11 @@ class ToolCallStreamAccumulator:
|
||||
tc_id = getattr(tool_call, "id", None)
|
||||
tc_name = getattr(tool_call, "name", "")
|
||||
|
||||
# Only when ID is not empty, consider it as the start of a new tool call
|
||||
# Only when ID is not empty, consider it as the start of a new
|
||||
# tool call
|
||||
if tc_id:
|
||||
# Initialize current tool state (this is the only time to get ID)
|
||||
# Note: only one tool can be called at a time
|
||||
# Initialize current tool state (this is the only time to
|
||||
# get ID). Note: only one tool can be called at a time
|
||||
self._current_tool_call = {
|
||||
"id": tc_id,
|
||||
"name": tc_name if tc_name else "UNKNOWN_TOOL",
|
||||
@@ -90,19 +91,24 @@ class ToolCallStreamAccumulator:
|
||||
}
|
||||
|
||||
# Send initial tool_call event with empty args
|
||||
chunks.append({
|
||||
"type": "tool_call",
|
||||
"tool_call": {
|
||||
"id": tc_id,
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": self._current_tool_call["name"],
|
||||
"arguments": ""
|
||||
}
|
||||
chunks.append(
|
||||
{
|
||||
"type": "tool_call",
|
||||
"tool_call": {
|
||||
"id": tc_id,
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": self._current_tool_call[
|
||||
"name"
|
||||
],
|
||||
"arguments": "",
|
||||
},
|
||||
},
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
# ========== Phase 2: Concatenate parameter strings from tool_call_chunks ==========
|
||||
# ========== Phase 2: Concatenate parameter strings from
|
||||
# tool_call_chunks ==========
|
||||
# Concatenate parameter strings from tool_call_chunk
|
||||
if hasattr(chunk, "tool_call_chunks") and chunk.tool_call_chunks:
|
||||
if self._current_tool_call:
|
||||
@@ -116,43 +122,58 @@ class ToolCallStreamAccumulator:
|
||||
|
||||
# Core: string concatenation
|
||||
if isinstance(args_chunk, str):
|
||||
tool_data["args_string"] += args_chunk
|
||||
tool_data[
|
||||
"args_string"
|
||||
] += args_chunk
|
||||
|
||||
# Send updated tool_call event with accumulated args
|
||||
chunks.append({
|
||||
"type": "tool_call",
|
||||
"tool_call": {
|
||||
"id": tool_data["id"],
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": tool_data["name"],
|
||||
"arguments": tool_data["args_string"]
|
||||
}
|
||||
chunks.append(
|
||||
{
|
||||
"type": "tool_call",
|
||||
"tool_call": {
|
||||
"id": tool_data["id"],
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": tool_data["name"],
|
||||
"arguments": tool_data[
|
||||
"args_string"
|
||||
],
|
||||
},
|
||||
},
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
# ========== Phase 3: Determine if tool_calls_chunks output is complete ==========
|
||||
# ========== Phase 3: Determine if tool_calls_chunks output is
|
||||
# complete ==========
|
||||
# Check finish_reason == "tool_calls" or "STOP"
|
||||
response_metadata = getattr(chunk, "response_metadata", {})
|
||||
finish_reason = response_metadata.get("finish_reason") if isinstance(response_metadata, dict) else None
|
||||
finish_reason = (
|
||||
response_metadata.get("finish_reason")
|
||||
if isinstance(response_metadata, dict)
|
||||
else None
|
||||
)
|
||||
|
||||
if (finish_reason == "tool_calls") or (finish_reason == "stop" and self._current_tool_call is not None):
|
||||
if (finish_reason == "tool_calls") or (
|
||||
finish_reason == "stop" and self._current_tool_call is not None
|
||||
):
|
||||
if self._current_tool_call:
|
||||
tool_data = self._current_tool_call
|
||||
|
||||
# Send final complete tool_call event
|
||||
chunks.append({
|
||||
"type": "tool_call",
|
||||
"tool_call": {
|
||||
"id": tool_data["id"],
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": tool_data["name"],
|
||||
"arguments": tool_data["args_string"],
|
||||
"complete": True # Mark as complete
|
||||
}
|
||||
chunks.append(
|
||||
{
|
||||
"type": "tool_call",
|
||||
"tool_call": {
|
||||
"id": tool_data["id"],
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": tool_data["name"],
|
||||
"arguments": tool_data["args_string"],
|
||||
"complete": True, # Mark as complete
|
||||
},
|
||||
},
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
# Clear the current tool call state
|
||||
self._current_tool_call = None
|
||||
@@ -160,11 +181,13 @@ class ToolCallStreamAccumulator:
|
||||
# Also handle regular content (when not in tool call mode)
|
||||
content = getattr(chunk, "content", "")
|
||||
if content and not self._current_tool_call:
|
||||
chunks.append({
|
||||
"type": "content",
|
||||
"content": content,
|
||||
"message_id": event.get("metadata", {}).get("msg_id")
|
||||
})
|
||||
chunks.append(
|
||||
{
|
||||
"type": "content",
|
||||
"content": content,
|
||||
"message_id": event.get("metadata", {}).get("msg_id"),
|
||||
}
|
||||
)
|
||||
|
||||
return chunks
|
||||
|
||||
|
||||
Reference in new issue
Block a user