MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / callback

Function callback

deployments/desktop/shared/agents.py:2051–2099  ·  view source on GitHub ↗
(event: Dict[str, Any])

Source from the content-addressed store, hash-verified

2049 payload = deepcopy(
2050 {
2051 key: value
2052 for key, value in task.items()
2053 if key not in {"thread", "preview_items_by_key"}
2054 }
2055 )
2056 payload["preview_push"] = _preview_payload(task)
2057 return payload
2058
2059
2060def _make_daily_progress_callback(task_id: str):
2061 def callback(event: Dict[str, Any]) -> None:
2062 if not isinstance(event, dict):
2063 return
2064 phase = str(event.get("phase") or "").strip()
2065 paper = event.get("paper")
2066 with _DAILY_TASK_LOCK:
2067 task = _DAILY_TASKS.get(task_id)
2068 if not task:
2069 return
2070 task["progress_phase"] = phase or task.get("progress_phase")
2071 task["updated_at"] = _task_timestamp()
2072 if phase == "source_complete":
2073 task.setdefault("source_counts", {})[str(event.get("source") or "unknown")] = int(event.get("count") or 0)
2074 if phase == "deduplicated":
2075 task["deduplicated_count"] = int(event.get("count") or 0)
2076 if phase == "scored":
2077 task["scored_count"] = int(event.get("count") or 0)
2078 if not isinstance(paper, dict):
2079 return
2080
2081 key = _preview_key(paper)
2082 if not key:
2083 return
2084 by_key = task.setdefault("preview_items_by_key", {})
2085 items = task.setdefault("preview_items", [])
2086
2087 if phase == "ranked" and task.get("preview_mode") != "ranked":
2088 task["preview_mode"] = "ranked"
2089 by_key.clear()
2090 items.clear()
2091
2092 item = dict(paper)
2093 if phase == "fetched":
2094 item.setdefault("category", "pending")
2095 if phase == "ranked":
2096 item["score"] = event.get("score")
2097 item["category"] = event.get("category") or item.get("category") or "unknown"
2098 item["rank"] = event.get("rank") or len(items) + 1
2099
2100 if key in by_key:
2101 index = by_key[key]
2102 items[index].update(item)

Callers

nothing calls this directly

Calls 3

_task_timestampFunction · 0.85
_preview_keyFunction · 0.85
getMethod · 0.80

Tested by

no test coverage detected