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

Function _paper_query_haystack

deployments/desktop/shared/agents.py:4263–4285  ·  view source on GitHub ↗
(paper: Dict[str, Any])

Source from the content-addressed store, hash-verified

4261 items = value
4262 else:
4263 parsed = _load_json(value, None)
4264 if isinstance(parsed, list):
4265 items = parsed
4266 else:
4267 items = re.split(r"[,;,、]\s*", str(value or ""))
4268 if not isinstance(items, list):
4269 return []
4270 return [str(item).strip() for item in items[: max(1, int(limit))] if str(item or "").strip()]
4271
4272
4273def _paper_query_haystack(paper: Dict[str, Any]) -> str:
4274 raw_metadata = paper.get("metadata") or {}
4275 metadata = raw_metadata if isinstance(raw_metadata, dict) else _load_json(raw_metadata, {})
4276 if not isinstance(metadata, dict):
4277 metadata = {}
4278 pieces = [
4279 paper.get("title"),
4280 paper.get("abstract"),
4281 paper.get("summary"),
4282 paper.get("keywords"),
4283 paper.get("category"),
4284 paper.get("source"),
4285 paper.get("subjects"),
4286 paper.get("categories"),
4287 metadata.get("category"),
4288 metadata.get("keywords"),

Callers 1

Calls 3

_compact_listFunction · 0.85
getMethod · 0.80
_load_jsonFunction · 0.70

Tested by

no test coverage detected