|
@@ -16,7 +16,24 @@ from agent.tools import tool
|
|
|
from agent.trace.models import Trace, Messages
|
|
from agent.trace.models import Trace, Messages
|
|
|
from agent.trace.trace_id import generate_sub_trace_id
|
|
from agent.trace.trace_id import generate_sub_trace_id
|
|
|
from agent.trace.goal_models import GoalTree
|
|
from agent.trace.goal_models import GoalTree
|
|
|
-from agent.trace.websocket import broadcast_sub_trace_started, broadcast_sub_trace_completed
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+async def broadcast_sub_trace_started(*args, **kwargs):
|
|
|
|
|
+ """WebSocket broadcast is optional when server dependencies are absent."""
|
|
|
|
|
+ try:
|
|
|
|
|
+ from agent.trace.websocket import broadcast_sub_trace_started as broadcast
|
|
|
|
|
+ except ImportError:
|
|
|
|
|
+ return None
|
|
|
|
|
+ return await broadcast(*args, **kwargs)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+async def broadcast_sub_trace_completed(*args, **kwargs):
|
|
|
|
|
+ """WebSocket broadcast is optional when server dependencies are absent."""
|
|
|
|
|
+ try:
|
|
|
|
|
+ from agent.trace.websocket import broadcast_sub_trace_completed as broadcast
|
|
|
|
|
+ except ImportError:
|
|
|
|
|
+ return None
|
|
|
|
|
+ return await broadcast(*args, **kwargs)
|
|
|
|
|
|
|
|
|
|
|
|
|
# ===== 远端路由常量 =====
|
|
# ===== 远端路由常量 =====
|