MCPcopy Create free account
hub / github.com/917Dhj/DeepPaperNote / bundle

Function bundle

scripts/build_synthesis_bundle.py:342–412  ·  view source on GitHub ↗
(
    metadata: dict,
    evidence_wrapper: dict,
    figures_wrapper: dict,
    assets_wrapper: dict,
    source_manifest: dict | None = None,
    figure_decisions_wrapper: dict | None = None,
)

Source from the content-addressed store, hash-verified

340
341
342def bundle(
343 metadata: dict,
344 evidence_wrapper: dict,
345 figures_wrapper: dict,
346 assets_wrapper: dict,
347 source_manifest: dict | None = None,
348 figure_decisions_wrapper: dict | None = None,
349) -> dict:
350 evidence_pack = (
351 evidence_wrapper.get("evidence_pack", {})
352 if isinstance(evidence_wrapper.get("evidence_pack"), dict)
353 else {}
354 )
355 figure_plan = (
356 figures_wrapper.get("figure_plan", {})
357 if isinstance(figures_wrapper.get("figure_plan"), dict)
358 else {}
359 )
360 source_manifest = source_manifest or {}
361 figure_decisions_wrapper = figure_decisions_wrapper or {}
362
363 return {
364 "status": "ok",
365 "script": "build_synthesis_bundle.py",
366 "paper_id": metadata.get("paper_id") or evidence_wrapper.get("paper_id", ""),
367 "title": metadata.get("title") or evidence_wrapper.get("title", ""),
368 "metadata": {
369 "title": metadata.get("title", ""),
370 "translated_title": metadata.get("translated_title", ""),
371 "authors": metadata.get("authors", []),
372 "affiliations": metadata.get("affiliations", []),
373 "year": metadata.get("year", ""),
374 "venue": metadata.get("venue", ""),
375 "doi": metadata.get("doi", ""),
376 "source_url": metadata.get("source_url", ""),
377 "abstract": metadata.get("abstract", ""),
378 "arxiv_id": metadata.get("arxiv_id", ""),
379 "zotero_key": metadata.get("zotero_key", ""),
380 "metadata_sources": metadata.get("metadata_sources", []),
381 "identity_confidence": metadata.get("identity_confidence", ""),
382 "identity_confidence_reasons": metadata.get("identity_confidence_reasons", []) or [],
383 },
384 "evidence_quality": evidence_pack.get("evidence_quality", "unknown"),
385 "coverage": coverage_summary(evidence_pack, metadata, assets_wrapper, source_manifest),
386 "source_manifest": {
387 "paper_id": source_manifest.get("paper_id", ""),
388 "title": source_manifest.get("title", ""),
389 "source_kind": source_manifest.get("source_kind", ""),
390 "raw_sections_path": source_manifest.get("raw_sections_path", ""),
391 "full_text_md_path": source_manifest.get("full_text_md_path", ""),
392 "pdf": source_manifest.get("pdf", {}) or {},
393 "coverage": source_manifest.get("coverage", {}) or {},
394 },
395 "source_index": source_index(source_manifest),
396 "references": {"candidates": sanitize_reference_candidates(evidence_pack)},
397 "figure_plan": figure_plan,
398 "figure_table_manifest": figure_table_manifest(
399 figure_decisions_wrapper,

Calls 7

coverage_summaryFunction · 0.85
source_indexFunction · 0.85
figure_table_manifestFunction · 0.85
sanitize_page_assetsFunction · 0.85
sanitize_figure_assetsFunction · 0.85
compact_writing_contractFunction · 0.85