wire llms, ui tweaks
This commit is contained in:
@@ -242,7 +242,7 @@ async def run_handover(
|
||||
hub_label = ", ".join(target_hubs) if len(target_hubs) < 5 else "ALL HUBS"
|
||||
|
||||
t0 = time.time()
|
||||
brief_text = await mcp.call_tool("ops", "generate_narrative", {
|
||||
raw_result = await mcp.call_tool("ops", "generate_narrative", {
|
||||
"context": {
|
||||
"hub": hub_label,
|
||||
"shift_time": shift_time,
|
||||
@@ -254,6 +254,22 @@ async def run_handover(
|
||||
latency = int((time.time() - t0) * 1000)
|
||||
await emit("tool_call_end", tool="generate_narrative", latency_ms=latency, is_live=False)
|
||||
|
||||
# Parse structured response
|
||||
import json as _json
|
||||
llm_provider = "template"
|
||||
if isinstance(raw_result, dict) and "text" in raw_result:
|
||||
brief_text = raw_result["text"]
|
||||
llm_provider = raw_result.get("provider", "unknown")
|
||||
elif isinstance(raw_result, str):
|
||||
try:
|
||||
parsed = _json.loads(raw_result)
|
||||
brief_text = parsed.get("text", raw_result)
|
||||
llm_provider = parsed.get("provider", "unknown")
|
||||
except (_json.JSONDecodeError, TypeError):
|
||||
brief_text = raw_result
|
||||
else:
|
||||
brief_text = str(raw_result)
|
||||
|
||||
await emit("node_exit", node="synthesize")
|
||||
|
||||
# ── Node 4: Format Output ──
|
||||
@@ -263,7 +279,8 @@ async def run_handover(
|
||||
result = {
|
||||
"type": "HANDOVER_BRIEF",
|
||||
"hubs": target_hubs,
|
||||
"brief_text": brief_text if isinstance(brief_text, str) else str(brief_text),
|
||||
"brief_text": brief_text,
|
||||
"llm_provider": llm_provider,
|
||||
"summary": {
|
||||
"immediate_count": len(immediate),
|
||||
"monitor_count": len(monitor),
|
||||
|
||||
Reference in New Issue
Block a user