deepresearch-flow 0.4.0__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {deepresearch_flow-0.4.0/python/deepresearch_flow.egg-info → deepresearch_flow-0.5.0}/PKG-INFO +117 -4
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/README.md +114 -2
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/pyproject.toml +4 -2
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/db.py +34 -0
- deepresearch_flow-0.5.0/python/deepresearch_flow/paper/web/app.py +199 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/constants.py +5 -4
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/handlers/__init__.py +2 -1
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/handlers/api.py +55 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/handlers/pages.py +105 -25
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/markdown.py +60 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.html +57 -5
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js +5 -1
- deepresearch_flow-0.5.0/python/deepresearch_flow/paper/web/static/js/detail.js +775 -0
- deepresearch_flow-0.5.0/python/deepresearch_flow/paper/web/static/js/outline.js +72 -0
- deepresearch_flow-0.5.0/python/deepresearch_flow/paper/web/static_assets.py +289 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/templates/detail.html +46 -69
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/templates/index.html +3 -3
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/templates.py +7 -4
- deepresearch_flow-0.5.0/python/deepresearch_flow/recognize/cli.py +1402 -0
- deepresearch_flow-0.5.0/python/deepresearch_flow/recognize/katex_check.js +29 -0
- deepresearch_flow-0.5.0/python/deepresearch_flow/recognize/math.py +719 -0
- deepresearch_flow-0.5.0/python/deepresearch_flow/recognize/mermaid.py +690 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0/python/deepresearch_flow.egg-info}/PKG-INFO +117 -4
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow.egg-info/SOURCES.txt +4 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow.egg-info/requires.txt +2 -1
- deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/app.py +0 -94
- deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/static/js/detail.js +0 -406
- deepresearch_flow-0.4.0/python/deepresearch_flow/paper/web/static/js/outline.js +0 -58
- deepresearch_flow-0.4.0/python/deepresearch_flow/recognize/cli.py +0 -623
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/LICENSE +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/MANIFEST.in +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/__main__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/cli.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/cli.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/config.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/db_ops.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/extract.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/llm.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/deep_read_system.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/deep_read_user.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/eight_questions_system.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/eight_questions_user.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/simple_system.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/simple_user.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/three_pass_system.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompt_templates/three_pass_user.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/prompts.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/providers/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/providers/azure_openai.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/providers/base.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/providers/claude.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/providers/dashscope.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/providers/gemini.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/providers/ollama.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/providers/openai_compatible.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/render.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/schema.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/schemas/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/schemas/deep_read_schema.json +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/schemas/default_paper_schema.json +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/schemas/eight_questions_schema.json +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/schemas/three_pass_schema.json +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/template_registry.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/templates/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/templates/deep_read.md.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/templates/default_paper.md.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/templates/eight_questions.md.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/templates/three_pass.md.j2 +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/utils.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/filters.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/LICENSE +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js.map +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js.map +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js.map +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Katakana.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/LICENSE +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Roman.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/V.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/compressed.tracemonkey-pldi-09.pdf +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.css +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.js +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_add.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_done.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-check.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-comment.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-help.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-insert.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-key.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-newparagraph.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-noicon.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-note.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paperclip.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paragraph.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-pushpin.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorFreeText.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorInk.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-next.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-previous.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-download.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-openinapp.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-dark.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-icon.gif +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-firstPage.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-handTool.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-lastPage.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-selectTool.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-bookmark.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-currentOutlineItem.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-download.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorFreeText.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorInk.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorStamp.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-menuArrow.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-openFile.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageDown.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageUp.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-presentationMode.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-print.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-search.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-sidebarToggle.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewAttachments.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewLayers.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewOutline.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewThumbnail.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomIn.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomOut.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-collapsed.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-expanded.svg +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ach/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/af/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/an/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ar/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ast/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/az/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/be/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bg/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bn/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bo/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/br/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/brx/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bs/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ca/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cak/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ckb/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cs/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cy/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/da/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/de/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/dsb/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/el/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-CA/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-GB/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-US/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eo/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-AR/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-CL/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-ES/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-MX/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/et/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eu/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fa/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ff/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fi/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fr/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fur/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fy-NL/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ga-IE/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gd/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gl/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gn/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gu-IN/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/he/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hi-IN/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hr/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hsb/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hu/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hy-AM/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hye/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ia/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/id/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/is/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/it/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ja/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ka/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kab/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kk/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/km/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kn/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ko/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lij/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lo/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/locale.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lt/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ltg/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lv/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/meh/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mk/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mr/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ms/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/my/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nb-NO/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ne-NP/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nl/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nn-NO/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/oc/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pa-IN/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pl/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-BR/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-PT/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/rm/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ro/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ru/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sat/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sc/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/scn/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sco/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/si/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sk/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/skr/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sl/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/son/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sq/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sr/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sv-SE/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/szl/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ta/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/te/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tg/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/th/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tl/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tr/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/trs/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uk/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ur/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uz/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/vi/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/wo/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/xh/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-CN/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-TW/viewer.properties +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitDingbats.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixed.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBold.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerif.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBold.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSymbol.pfb +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_FOXIT +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_LIBERATION +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.css +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js.map +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/query.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/static/css/main.css +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/static/js/index.js +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/static/js/stats.js +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/templates/base.html +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/templates/stats.html +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/text.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/recognize/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/recognize/markdown.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/recognize/organize.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/__init__.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/cli.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/config.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/engine.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/fixers.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/placeholder.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/prompts.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/protector.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/translator/segment.py +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow.egg-info/dependency_links.txt +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow.egg-info/entry_points.txt +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow.egg-info/top_level.txt +0 -0
- {deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/setup.cfg +0 -0
{deepresearch_flow-0.4.0/python/deepresearch_flow.egg-info → deepresearch_flow-0.5.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepresearch-flow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Workflow tools for paper extraction, review, and research automation.
|
|
5
5
|
Author-email: DengQi <dengqi935@gmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -51,9 +51,10 @@ Requires-Dist: jsonschema>=4.21.1
|
|
|
51
51
|
Requires-Dist: markdown-it-py>=3.0.0
|
|
52
52
|
Requires-Dist: mdit-py-plugins>=0.4.0
|
|
53
53
|
Requires-Dist: pypdf>=3.0.0
|
|
54
|
+
Requires-Dist: pylatexenc>=2.10
|
|
54
55
|
Requires-Dist: pybtex>=0.24.0
|
|
55
56
|
Requires-Dist: rich>=13.7.1
|
|
56
|
-
Requires-Dist: rumdl>=0.0.
|
|
57
|
+
Requires-Dist: rumdl>=0.0.218
|
|
57
58
|
Requires-Dist: starlette>=0.37.2
|
|
58
59
|
Requires-Dist: tqdm>=4.66.4
|
|
59
60
|
Requires-Dist: uvicorn>=0.27.1
|
|
@@ -86,7 +87,7 @@ Dynamic: license-file
|
|
|
86
87
|
<a href="https://hub.docker.com/r/nerdneils/deepresearch-flow">
|
|
87
88
|
<img src="https://img.shields.io/docker/v/nerdneils/deepresearch-flow?style=flat-square" />
|
|
88
89
|
</a>
|
|
89
|
-
<a href="https://
|
|
90
|
+
<a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/pkgs/container/deepresearch-flow">
|
|
90
91
|
<img src="https://img.shields.io/badge/ghcr.io-nerdneilsfield%2Fdeepresearch-flow-0f172a?style=flat-square" />
|
|
91
92
|
</a>
|
|
92
93
|
<a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/blob/main/LICENSE">
|
|
@@ -172,7 +173,36 @@ uv run deepresearch-flow translator translate \
|
|
|
172
173
|
--fix-level moderate
|
|
173
174
|
```
|
|
174
175
|
|
|
175
|
-
#### Step 3:
|
|
176
|
+
#### Step 3: Repair OCR Outputs (Recommended)
|
|
177
|
+
|
|
178
|
+
Recommended sequence to stabilize markdown before serving:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# 1) Fix OCR markdown (auto-detects JSON if inputs are .json)
|
|
182
|
+
uv run deepresearch-flow recognize fix \
|
|
183
|
+
--input ./docs \
|
|
184
|
+
--in-place
|
|
185
|
+
|
|
186
|
+
# 2) Fix LaTeX formulas
|
|
187
|
+
uv run deepresearch-flow recognize fix-math \
|
|
188
|
+
--input ./docs \
|
|
189
|
+
--model openai/gpt-4o-mini \
|
|
190
|
+
--in-place
|
|
191
|
+
|
|
192
|
+
# 3) Fix Mermaid diagrams
|
|
193
|
+
uv run deepresearch-flow recognize fix-mermaid \
|
|
194
|
+
--input ./paper_outputs \
|
|
195
|
+
--json \
|
|
196
|
+
--model openai/gpt-4o-mini \
|
|
197
|
+
--in-place
|
|
198
|
+
|
|
199
|
+
# 4) Fix again to normalize formatting
|
|
200
|
+
uv run deepresearch-flow recognize fix \
|
|
201
|
+
--input ./docs \
|
|
202
|
+
--in-place
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### Step 4: Serve Your Database
|
|
176
206
|
|
|
177
207
|
Launch a local UI to read and manage your papers.
|
|
178
208
|
|
|
@@ -186,6 +216,66 @@ uv run deepresearch-flow paper db serve \
|
|
|
186
216
|
|
|
187
217
|
---
|
|
188
218
|
|
|
219
|
+
## Deployment (Static CDN)
|
|
220
|
+
|
|
221
|
+
Use a separate static server (CDN) for PDFs/Markdown/images and keep the API/UI on another host.
|
|
222
|
+
|
|
223
|
+
### 1) Export static assets
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
uv run deepresearch-flow paper db serve \
|
|
227
|
+
--input paper_infos.json \
|
|
228
|
+
--md-root ./docs \
|
|
229
|
+
--md-translated-root ./docs \
|
|
230
|
+
--pdf-root ./pdfs \
|
|
231
|
+
--static-mode prod \
|
|
232
|
+
--static-base-url https://static.example.com \
|
|
233
|
+
--static-export-dir /data/paper-static
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Notes:
|
|
237
|
+
- The API host must be able to read the original PDF/Markdown roots to build the index and hashes.
|
|
238
|
+
- The CDN host only needs the exported directory (e.g. `/data/paper-static`).
|
|
239
|
+
|
|
240
|
+
### 2) Serve the export directory with CORS + cache headers (Caddy example)
|
|
241
|
+
|
|
242
|
+
```caddyfile
|
|
243
|
+
:8002 {
|
|
244
|
+
root * /data/paper-static
|
|
245
|
+
encode zstd gzip
|
|
246
|
+
|
|
247
|
+
@static path /pdf/* /md/* /md_translate/* /images/*
|
|
248
|
+
header @static {
|
|
249
|
+
Access-Control-Allow-Origin *
|
|
250
|
+
Access-Control-Allow-Methods GET,HEAD,OPTIONS
|
|
251
|
+
Access-Control-Allow-Headers *
|
|
252
|
+
Cache-Control "public, max-age=31536000, immutable"
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
@options method OPTIONS
|
|
256
|
+
respond @options 204
|
|
257
|
+
|
|
258
|
+
file_server
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### 3) Start the API/UI with static base
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
export PAPER_DB_STATIC_BASE_URL="https://static.example.com"
|
|
266
|
+
export PAPER_DB_STATIC_MODE="prod"
|
|
267
|
+
export PAPER_DB_STATIC_EXPORT_DIR="/data/paper-static"
|
|
268
|
+
export PAPER_DB_PDFJS_CDN_BASE_URL="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.0.379"
|
|
269
|
+
|
|
270
|
+
uv run deepresearch-flow paper db serve \
|
|
271
|
+
--input paper_infos.json \
|
|
272
|
+
--md-root ./docs \
|
|
273
|
+
--md-translated-root ./docs \
|
|
274
|
+
--pdf-root ./pdfs
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
189
279
|
## Comprehensive Guide
|
|
190
280
|
|
|
191
281
|
<details>
|
|
@@ -275,6 +365,10 @@ Tools to clean up raw outputs from OCR engines like MinerU.
|
|
|
275
365
|
- Unpack Images: extract Base64 images back to files.
|
|
276
366
|
- Organize: flatten nested OCR output directories.
|
|
277
367
|
- Fix: apply OCR fixes and rumdl formatting during organize, or as a standalone step.
|
|
368
|
+
- Fix JSON: apply the same fixes to markdown fields inside paper JSON outputs.
|
|
369
|
+
- Fix Math: validate and repair LaTeX formulas with optional LLM assistance.
|
|
370
|
+
- Fix Mermaid: validate and repair Mermaid diagrams (requires `mmdc` from mermaid-cli).
|
|
371
|
+
- Recommended order: `fix` -> `fix-math` -> `fix-mermaid` -> `fix`.
|
|
278
372
|
|
|
279
373
|
```bash
|
|
280
374
|
uv run deepresearch-flow recognize md embed --input ./raw_ocr --output ./clean_md
|
|
@@ -296,6 +390,25 @@ uv run deepresearch-flow recognize fix \
|
|
|
296
390
|
uv run deepresearch-flow recognize fix \
|
|
297
391
|
--input ./ocr_md \
|
|
298
392
|
--in-place
|
|
393
|
+
|
|
394
|
+
# Fix JSON outputs in place
|
|
395
|
+
uv run deepresearch-flow recognize fix \
|
|
396
|
+
--json \
|
|
397
|
+
--input ./paper_outputs \
|
|
398
|
+
--in-place
|
|
399
|
+
|
|
400
|
+
# Fix LaTeX formulas in markdown
|
|
401
|
+
uv run deepresearch-flow recognize fix-math \
|
|
402
|
+
--input ./docs \
|
|
403
|
+
--model openai/gpt-4o-mini \
|
|
404
|
+
--in-place
|
|
405
|
+
|
|
406
|
+
# Fix Mermaid diagrams in JSON outputs
|
|
407
|
+
uv run deepresearch-flow recognize fix-mermaid \
|
|
408
|
+
--json \
|
|
409
|
+
--input ./paper_outputs \
|
|
410
|
+
--model openai/gpt-4o-mini \
|
|
411
|
+
--in-place
|
|
299
412
|
```
|
|
300
413
|
|
|
301
414
|
</details>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<a href="https://hub.docker.com/r/nerdneils/deepresearch-flow">
|
|
26
26
|
<img src="https://img.shields.io/docker/v/nerdneils/deepresearch-flow?style=flat-square" />
|
|
27
27
|
</a>
|
|
28
|
-
<a href="https://
|
|
28
|
+
<a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/pkgs/container/deepresearch-flow">
|
|
29
29
|
<img src="https://img.shields.io/badge/ghcr.io-nerdneilsfield%2Fdeepresearch-flow-0f172a?style=flat-square" />
|
|
30
30
|
</a>
|
|
31
31
|
<a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/blob/main/LICENSE">
|
|
@@ -111,7 +111,36 @@ uv run deepresearch-flow translator translate \
|
|
|
111
111
|
--fix-level moderate
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
#### Step 3:
|
|
114
|
+
#### Step 3: Repair OCR Outputs (Recommended)
|
|
115
|
+
|
|
116
|
+
Recommended sequence to stabilize markdown before serving:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# 1) Fix OCR markdown (auto-detects JSON if inputs are .json)
|
|
120
|
+
uv run deepresearch-flow recognize fix \
|
|
121
|
+
--input ./docs \
|
|
122
|
+
--in-place
|
|
123
|
+
|
|
124
|
+
# 2) Fix LaTeX formulas
|
|
125
|
+
uv run deepresearch-flow recognize fix-math \
|
|
126
|
+
--input ./docs \
|
|
127
|
+
--model openai/gpt-4o-mini \
|
|
128
|
+
--in-place
|
|
129
|
+
|
|
130
|
+
# 3) Fix Mermaid diagrams
|
|
131
|
+
uv run deepresearch-flow recognize fix-mermaid \
|
|
132
|
+
--input ./paper_outputs \
|
|
133
|
+
--json \
|
|
134
|
+
--model openai/gpt-4o-mini \
|
|
135
|
+
--in-place
|
|
136
|
+
|
|
137
|
+
# 4) Fix again to normalize formatting
|
|
138
|
+
uv run deepresearch-flow recognize fix \
|
|
139
|
+
--input ./docs \
|
|
140
|
+
--in-place
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
#### Step 4: Serve Your Database
|
|
115
144
|
|
|
116
145
|
Launch a local UI to read and manage your papers.
|
|
117
146
|
|
|
@@ -125,6 +154,66 @@ uv run deepresearch-flow paper db serve \
|
|
|
125
154
|
|
|
126
155
|
---
|
|
127
156
|
|
|
157
|
+
## Deployment (Static CDN)
|
|
158
|
+
|
|
159
|
+
Use a separate static server (CDN) for PDFs/Markdown/images and keep the API/UI on another host.
|
|
160
|
+
|
|
161
|
+
### 1) Export static assets
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
uv run deepresearch-flow paper db serve \
|
|
165
|
+
--input paper_infos.json \
|
|
166
|
+
--md-root ./docs \
|
|
167
|
+
--md-translated-root ./docs \
|
|
168
|
+
--pdf-root ./pdfs \
|
|
169
|
+
--static-mode prod \
|
|
170
|
+
--static-base-url https://static.example.com \
|
|
171
|
+
--static-export-dir /data/paper-static
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Notes:
|
|
175
|
+
- The API host must be able to read the original PDF/Markdown roots to build the index and hashes.
|
|
176
|
+
- The CDN host only needs the exported directory (e.g. `/data/paper-static`).
|
|
177
|
+
|
|
178
|
+
### 2) Serve the export directory with CORS + cache headers (Caddy example)
|
|
179
|
+
|
|
180
|
+
```caddyfile
|
|
181
|
+
:8002 {
|
|
182
|
+
root * /data/paper-static
|
|
183
|
+
encode zstd gzip
|
|
184
|
+
|
|
185
|
+
@static path /pdf/* /md/* /md_translate/* /images/*
|
|
186
|
+
header @static {
|
|
187
|
+
Access-Control-Allow-Origin *
|
|
188
|
+
Access-Control-Allow-Methods GET,HEAD,OPTIONS
|
|
189
|
+
Access-Control-Allow-Headers *
|
|
190
|
+
Cache-Control "public, max-age=31536000, immutable"
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
@options method OPTIONS
|
|
194
|
+
respond @options 204
|
|
195
|
+
|
|
196
|
+
file_server
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### 3) Start the API/UI with static base
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
export PAPER_DB_STATIC_BASE_URL="https://static.example.com"
|
|
204
|
+
export PAPER_DB_STATIC_MODE="prod"
|
|
205
|
+
export PAPER_DB_STATIC_EXPORT_DIR="/data/paper-static"
|
|
206
|
+
export PAPER_DB_PDFJS_CDN_BASE_URL="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.0.379"
|
|
207
|
+
|
|
208
|
+
uv run deepresearch-flow paper db serve \
|
|
209
|
+
--input paper_infos.json \
|
|
210
|
+
--md-root ./docs \
|
|
211
|
+
--md-translated-root ./docs \
|
|
212
|
+
--pdf-root ./pdfs
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
128
217
|
## Comprehensive Guide
|
|
129
218
|
|
|
130
219
|
<details>
|
|
@@ -214,6 +303,10 @@ Tools to clean up raw outputs from OCR engines like MinerU.
|
|
|
214
303
|
- Unpack Images: extract Base64 images back to files.
|
|
215
304
|
- Organize: flatten nested OCR output directories.
|
|
216
305
|
- Fix: apply OCR fixes and rumdl formatting during organize, or as a standalone step.
|
|
306
|
+
- Fix JSON: apply the same fixes to markdown fields inside paper JSON outputs.
|
|
307
|
+
- Fix Math: validate and repair LaTeX formulas with optional LLM assistance.
|
|
308
|
+
- Fix Mermaid: validate and repair Mermaid diagrams (requires `mmdc` from mermaid-cli).
|
|
309
|
+
- Recommended order: `fix` -> `fix-math` -> `fix-mermaid` -> `fix`.
|
|
217
310
|
|
|
218
311
|
```bash
|
|
219
312
|
uv run deepresearch-flow recognize md embed --input ./raw_ocr --output ./clean_md
|
|
@@ -235,6 +328,25 @@ uv run deepresearch-flow recognize fix \
|
|
|
235
328
|
uv run deepresearch-flow recognize fix \
|
|
236
329
|
--input ./ocr_md \
|
|
237
330
|
--in-place
|
|
331
|
+
|
|
332
|
+
# Fix JSON outputs in place
|
|
333
|
+
uv run deepresearch-flow recognize fix \
|
|
334
|
+
--json \
|
|
335
|
+
--input ./paper_outputs \
|
|
336
|
+
--in-place
|
|
337
|
+
|
|
338
|
+
# Fix LaTeX formulas in markdown
|
|
339
|
+
uv run deepresearch-flow recognize fix-math \
|
|
340
|
+
--input ./docs \
|
|
341
|
+
--model openai/gpt-4o-mini \
|
|
342
|
+
--in-place
|
|
343
|
+
|
|
344
|
+
# Fix Mermaid diagrams in JSON outputs
|
|
345
|
+
uv run deepresearch-flow recognize fix-mermaid \
|
|
346
|
+
--json \
|
|
347
|
+
--input ./paper_outputs \
|
|
348
|
+
--model openai/gpt-4o-mini \
|
|
349
|
+
--in-place
|
|
238
350
|
```
|
|
239
351
|
|
|
240
352
|
</details>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "deepresearch-flow"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.5.0"
|
|
4
4
|
description = "Workflow tools for paper extraction, review, and research automation."
|
|
5
5
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -20,9 +20,10 @@ dependencies = [
|
|
|
20
20
|
"markdown-it-py>=3.0.0",
|
|
21
21
|
"mdit-py-plugins>=0.4.0",
|
|
22
22
|
"pypdf>=3.0.0",
|
|
23
|
+
"pylatexenc>=2.10",
|
|
23
24
|
"pybtex>=0.24.0",
|
|
24
25
|
"rich>=13.7.1",
|
|
25
|
-
"rumdl>=0.0.
|
|
26
|
+
"rumdl>=0.0.218",
|
|
26
27
|
"starlette>=0.37.2",
|
|
27
28
|
"tqdm>=4.66.4",
|
|
28
29
|
"uvicorn>=0.27.1",
|
|
@@ -60,3 +61,4 @@ include-package-data = true
|
|
|
60
61
|
"deepresearch_flow.paper.prompt_templates" = ["*.j2"]
|
|
61
62
|
"deepresearch_flow.paper.examples" = ["*.toml"]
|
|
62
63
|
"deepresearch_flow.paper.web" = ["pdfjs/**/*", "templates/**/*", "static/**/*"]
|
|
64
|
+
"deepresearch_flow.recognize" = ["*.js"]
|
|
@@ -600,6 +600,32 @@ def register_db_commands(db_group: click.Group) -> None:
|
|
|
600
600
|
)
|
|
601
601
|
@click.option("--cache-dir", "cache_dir", default=None, help="Cache directory for merged inputs")
|
|
602
602
|
@click.option("--no-cache", "no_cache", is_flag=True, help="Disable cache for db serve")
|
|
603
|
+
@click.option(
|
|
604
|
+
"--static-base-url",
|
|
605
|
+
"static_base_url",
|
|
606
|
+
default=None,
|
|
607
|
+
help="Static asset base URL (e.g. https://static.example.com)",
|
|
608
|
+
)
|
|
609
|
+
@click.option(
|
|
610
|
+
"--static-mode",
|
|
611
|
+
"static_mode",
|
|
612
|
+
type=click.Choice(["auto", "dev", "prod"]),
|
|
613
|
+
default="auto",
|
|
614
|
+
show_default=True,
|
|
615
|
+
help="Static asset mode (dev uses local assets, prod uses static base URL)",
|
|
616
|
+
)
|
|
617
|
+
@click.option(
|
|
618
|
+
"--static-export-dir",
|
|
619
|
+
"static_export_dir",
|
|
620
|
+
default=None,
|
|
621
|
+
help="Optional export directory for hashed static assets",
|
|
622
|
+
)
|
|
623
|
+
@click.option(
|
|
624
|
+
"--pdfjs-cdn-base-url",
|
|
625
|
+
"pdfjs_cdn_base_url",
|
|
626
|
+
default=None,
|
|
627
|
+
help="PDF.js CDN base URL (defaults to jsDelivr)",
|
|
628
|
+
)
|
|
603
629
|
@click.option("--host", default="127.0.0.1", show_default=True, help="Bind host")
|
|
604
630
|
@click.option("--port", default=8000, type=int, show_default=True, help="Bind port")
|
|
605
631
|
@click.option(
|
|
@@ -617,6 +643,10 @@ def register_db_commands(db_group: click.Group) -> None:
|
|
|
617
643
|
pdf_roots: tuple[str, ...],
|
|
618
644
|
cache_dir: str | None,
|
|
619
645
|
no_cache: bool,
|
|
646
|
+
static_base_url: str | None,
|
|
647
|
+
static_mode: str,
|
|
648
|
+
static_export_dir: str | None,
|
|
649
|
+
pdfjs_cdn_base_url: str | None,
|
|
620
650
|
host: str,
|
|
621
651
|
port: int,
|
|
622
652
|
fallback_language: str,
|
|
@@ -635,6 +665,10 @@ def register_db_commands(db_group: click.Group) -> None:
|
|
|
635
665
|
pdf_roots=[Path(root) for root in pdf_roots],
|
|
636
666
|
cache_dir=Path(cache_dir) if cache_dir else None,
|
|
637
667
|
use_cache=not no_cache,
|
|
668
|
+
static_base_url=static_base_url,
|
|
669
|
+
static_mode=static_mode,
|
|
670
|
+
static_export_dir=Path(static_export_dir) if static_export_dir else None,
|
|
671
|
+
pdfjs_cdn_base_url=pdfjs_cdn_base_url,
|
|
638
672
|
)
|
|
639
673
|
except Exception as exc:
|
|
640
674
|
raise click.ClickException(str(exc)) from exc
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
import os
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
from starlette.applications import Starlette
|
|
8
|
+
from starlette.middleware.base import BaseHTTPMiddleware
|
|
9
|
+
from starlette.requests import Request
|
|
10
|
+
from starlette.routing import Mount, Route
|
|
11
|
+
from starlette.staticfiles import StaticFiles
|
|
12
|
+
|
|
13
|
+
from deepresearch_flow.paper.db_ops import build_index, load_and_merge_papers
|
|
14
|
+
from deepresearch_flow.paper.web.constants import DEFAULT_PDFJS_CDN_BASE_URL, PDFJS_STATIC_DIR, STATIC_DIR
|
|
15
|
+
from deepresearch_flow.paper.web.handlers import (
|
|
16
|
+
api_markdown,
|
|
17
|
+
api_papers,
|
|
18
|
+
api_pdf,
|
|
19
|
+
api_stats,
|
|
20
|
+
index_page,
|
|
21
|
+
paper_detail,
|
|
22
|
+
robots_txt,
|
|
23
|
+
stats_page,
|
|
24
|
+
)
|
|
25
|
+
from deepresearch_flow.paper.web.markdown import create_md_renderer
|
|
26
|
+
from deepresearch_flow.paper.web.static_assets import build_static_assets
|
|
27
|
+
|
|
28
|
+
logger = logging.getLogger(__name__)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class _NoIndexMiddleware(BaseHTTPMiddleware):
|
|
32
|
+
async def dispatch(self, request: Request, call_next): # type: ignore[override]
|
|
33
|
+
response = await call_next(request)
|
|
34
|
+
response.headers["X-Robots-Tag"] = "noindex, nofollow, noarchive, nosnippet, noai, noimageai"
|
|
35
|
+
return response
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class _StaticAssetFiles(StaticFiles):
|
|
39
|
+
def __init__(self, *args, cache_control: str | None = None, **kwargs) -> None:
|
|
40
|
+
super().__init__(*args, **kwargs)
|
|
41
|
+
self._cache_control = cache_control
|
|
42
|
+
|
|
43
|
+
async def get_response(self, path: str, scope): # type: ignore[override]
|
|
44
|
+
response = await super().get_response(path, scope)
|
|
45
|
+
if self._cache_control and response.status_code == 200:
|
|
46
|
+
response.headers.setdefault("Cache-Control", self._cache_control)
|
|
47
|
+
return response
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def _normalize_static_mode(value: str | None) -> str:
|
|
51
|
+
if not value:
|
|
52
|
+
return "auto"
|
|
53
|
+
normalized = value.strip().lower()
|
|
54
|
+
if normalized in {"dev", "development"}:
|
|
55
|
+
return "dev"
|
|
56
|
+
if normalized in {"prod", "production"}:
|
|
57
|
+
return "prod"
|
|
58
|
+
return "auto"
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def _resolve_static_mode(value: str, static_base_url: str | None) -> str:
|
|
62
|
+
if value == "auto":
|
|
63
|
+
return "prod" if static_base_url else "dev"
|
|
64
|
+
return value
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def create_app(
|
|
68
|
+
*,
|
|
69
|
+
db_paths: list[Path],
|
|
70
|
+
fallback_language: str = "en",
|
|
71
|
+
bibtex_path: Path | None = None,
|
|
72
|
+
md_roots: list[Path] | None = None,
|
|
73
|
+
md_translated_roots: list[Path] | None = None,
|
|
74
|
+
pdf_roots: list[Path] | None = None,
|
|
75
|
+
cache_dir: Path | None = None,
|
|
76
|
+
use_cache: bool = True,
|
|
77
|
+
static_base_url: str | None = None,
|
|
78
|
+
static_mode: str | None = None,
|
|
79
|
+
static_export_dir: Path | None = None,
|
|
80
|
+
pdfjs_cdn_base_url: str | None = None,
|
|
81
|
+
) -> Starlette:
|
|
82
|
+
papers = load_and_merge_papers(db_paths, bibtex_path, cache_dir, use_cache, pdf_roots=pdf_roots)
|
|
83
|
+
|
|
84
|
+
md_roots = md_roots or []
|
|
85
|
+
md_translated_roots = md_translated_roots or []
|
|
86
|
+
pdf_roots = pdf_roots or []
|
|
87
|
+
index = build_index(
|
|
88
|
+
papers,
|
|
89
|
+
md_roots=md_roots,
|
|
90
|
+
md_translated_roots=md_translated_roots,
|
|
91
|
+
pdf_roots=pdf_roots,
|
|
92
|
+
)
|
|
93
|
+
md = create_md_renderer()
|
|
94
|
+
static_base_url = static_base_url or os.getenv("PAPER_DB_STATIC_BASE_URL")
|
|
95
|
+
static_mode = _normalize_static_mode(static_mode or os.getenv("PAPER_DB_STATIC_MODE"))
|
|
96
|
+
resolved_mode = _resolve_static_mode(static_mode, static_base_url)
|
|
97
|
+
export_dir_value = static_export_dir or os.getenv("PAPER_DB_STATIC_EXPORT_DIR")
|
|
98
|
+
export_dir = Path(export_dir_value) if export_dir_value else None
|
|
99
|
+
pdfjs_cdn_base_url = (
|
|
100
|
+
pdfjs_cdn_base_url
|
|
101
|
+
or os.getenv("PAPER_DB_PDFJS_CDN_BASE_URL")
|
|
102
|
+
or DEFAULT_PDFJS_CDN_BASE_URL
|
|
103
|
+
)
|
|
104
|
+
if pdfjs_cdn_base_url:
|
|
105
|
+
lowered = pdfjs_cdn_base_url.strip().lower()
|
|
106
|
+
if lowered in {"none", "off", "local"}:
|
|
107
|
+
pdfjs_cdn_base_url = None
|
|
108
|
+
else:
|
|
109
|
+
pdfjs_cdn_base_url = pdfjs_cdn_base_url.rstrip("/")
|
|
110
|
+
|
|
111
|
+
asset_config = None
|
|
112
|
+
if resolved_mode == "prod":
|
|
113
|
+
if not static_base_url:
|
|
114
|
+
logger.warning("Static mode set to prod without base URL; falling back to dev asset routes.")
|
|
115
|
+
resolved_mode = "dev"
|
|
116
|
+
else:
|
|
117
|
+
asset_config = build_static_assets(
|
|
118
|
+
index,
|
|
119
|
+
static_base_url=static_base_url,
|
|
120
|
+
static_export_dir=export_dir,
|
|
121
|
+
)
|
|
122
|
+
if resolved_mode == "dev" and export_dir:
|
|
123
|
+
asset_config = build_static_assets(
|
|
124
|
+
index,
|
|
125
|
+
static_base_url="",
|
|
126
|
+
static_export_dir=export_dir,
|
|
127
|
+
allow_empty_base=True,
|
|
128
|
+
)
|
|
129
|
+
if asset_config is None:
|
|
130
|
+
asset_config = build_static_assets(index, static_base_url=None)
|
|
131
|
+
|
|
132
|
+
routes = [
|
|
133
|
+
Route("/", index_page, methods=["GET"]),
|
|
134
|
+
Route("/robots.txt", robots_txt, methods=["GET"]),
|
|
135
|
+
Route("/stats", stats_page, methods=["GET"]),
|
|
136
|
+
Route("/paper/{source_hash:str}", paper_detail, methods=["GET"]),
|
|
137
|
+
Route("/api/papers", api_papers, methods=["GET"]),
|
|
138
|
+
Route("/api/stats", api_stats, methods=["GET"]),
|
|
139
|
+
Route("/api/pdf/{source_hash:str}", api_pdf, methods=["GET"]),
|
|
140
|
+
Route("/api/dev/markdown/{source_hash:str}", api_markdown, methods=["GET"]),
|
|
141
|
+
]
|
|
142
|
+
if PDFJS_STATIC_DIR.exists():
|
|
143
|
+
routes.append(
|
|
144
|
+
Mount(
|
|
145
|
+
"/pdfjs",
|
|
146
|
+
app=StaticFiles(directory=str(PDFJS_STATIC_DIR), html=True),
|
|
147
|
+
name="pdfjs",
|
|
148
|
+
)
|
|
149
|
+
)
|
|
150
|
+
elif pdf_roots:
|
|
151
|
+
logger.warning(
|
|
152
|
+
"PDF.js viewer assets not found at %s; PDF Viewer mode will be unavailable.",
|
|
153
|
+
PDFJS_STATIC_DIR,
|
|
154
|
+
)
|
|
155
|
+
if STATIC_DIR.exists():
|
|
156
|
+
routes.append(
|
|
157
|
+
Mount(
|
|
158
|
+
"/static",
|
|
159
|
+
app=StaticFiles(directory=str(STATIC_DIR)),
|
|
160
|
+
name="static",
|
|
161
|
+
)
|
|
162
|
+
)
|
|
163
|
+
if export_dir and export_dir.exists() and asset_config.enabled and not asset_config.base_url:
|
|
164
|
+
cache_header = "public, max-age=31536000, immutable"
|
|
165
|
+
routes.extend(
|
|
166
|
+
[
|
|
167
|
+
Mount(
|
|
168
|
+
"/pdf",
|
|
169
|
+
app=_StaticAssetFiles(directory=str(export_dir / "pdf"), cache_control=cache_header),
|
|
170
|
+
name="static_pdf",
|
|
171
|
+
),
|
|
172
|
+
Mount(
|
|
173
|
+
"/images",
|
|
174
|
+
app=_StaticAssetFiles(directory=str(export_dir / "images"), cache_control=cache_header),
|
|
175
|
+
name="static_images",
|
|
176
|
+
),
|
|
177
|
+
Mount(
|
|
178
|
+
"/md",
|
|
179
|
+
app=_StaticAssetFiles(directory=str(export_dir / "md"), cache_control=cache_header),
|
|
180
|
+
name="static_md",
|
|
181
|
+
),
|
|
182
|
+
Mount(
|
|
183
|
+
"/md_translate",
|
|
184
|
+
app=_StaticAssetFiles(directory=str(export_dir / "md_translate"), cache_control=cache_header),
|
|
185
|
+
name="static_md_translate",
|
|
186
|
+
),
|
|
187
|
+
]
|
|
188
|
+
)
|
|
189
|
+
app = Starlette(routes=routes)
|
|
190
|
+
app.add_middleware(_NoIndexMiddleware)
|
|
191
|
+
app.state.index = index
|
|
192
|
+
app.state.md = md
|
|
193
|
+
app.state.fallback_language = fallback_language
|
|
194
|
+
app.state.pdf_roots = pdf_roots
|
|
195
|
+
app.state.static_mode = resolved_mode
|
|
196
|
+
app.state.asset_config = asset_config
|
|
197
|
+
app.state.static_export_dir = export_dir
|
|
198
|
+
app.state.pdfjs_cdn_base_url = pdfjs_cdn_base_url
|
|
199
|
+
return app
|
{deepresearch_flow-0.4.0 → deepresearch_flow-0.5.0}/python/deepresearch_flow/paper/web/constants.py
RENAMED
|
@@ -4,14 +4,15 @@ from pathlib import Path
|
|
|
4
4
|
|
|
5
5
|
# CDN URLs for external libraries
|
|
6
6
|
CDN_ECHARTS = "https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"
|
|
7
|
-
CDN_MERMAID = "https://cdn.jsdelivr.net/npm/mermaid@
|
|
8
|
-
CDN_KATEX = "https://cdn.jsdelivr.net/npm/katex@0.16.
|
|
9
|
-
CDN_KATEX_JS = "https://cdn.jsdelivr.net/npm/katex@0.16.
|
|
10
|
-
CDN_KATEX_AUTO = "https://cdn.jsdelivr.net/npm/katex@0.16.
|
|
7
|
+
CDN_MERMAID = "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js"
|
|
8
|
+
CDN_KATEX = "https://cdn.jsdelivr.net/npm/katex@0.16.27/dist/katex.min.css"
|
|
9
|
+
CDN_KATEX_JS = "https://cdn.jsdelivr.net/npm/katex@0.16.27/dist/katex.min.js"
|
|
10
|
+
CDN_KATEX_AUTO = "https://cdn.jsdelivr.net/npm/katex@0.16.27/dist/contrib/auto-render.min.js"
|
|
11
11
|
|
|
12
12
|
# Use legacy builds to ensure `pdfjsLib` is available as a global.
|
|
13
13
|
CDN_PDFJS = "https://cdn.jsdelivr.net/npm/pdfjs-dist@3.11.174/legacy/build/pdf.min.js"
|
|
14
14
|
CDN_PDFJS_WORKER = "https://cdn.jsdelivr.net/npm/pdfjs-dist@3.11.174/legacy/build/pdf.worker.min.js"
|
|
15
|
+
DEFAULT_PDFJS_CDN_BASE_URL = "https://cdn.jsdelivr.net/npm/pdfjs-dist@3.11.174"
|
|
15
16
|
|
|
16
17
|
# PDF.js viewer configuration
|
|
17
18
|
PDFJS_VIEWER_PATH = "/pdfjs/web/viewer.html"
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"""Route handlers for paper web UI."""
|
|
2
2
|
|
|
3
|
-
from .api import api_papers, api_pdf, api_stats
|
|
3
|
+
from .api import api_markdown, api_papers, api_pdf, api_stats
|
|
4
4
|
from .pages import index_page, paper_detail, robots_txt, stats_page
|
|
5
5
|
|
|
6
6
|
__all__ = [
|
|
7
7
|
"api_papers",
|
|
8
8
|
"api_pdf",
|
|
9
9
|
"api_stats",
|
|
10
|
+
"api_markdown",
|
|
10
11
|
"index_page",
|
|
11
12
|
"paper_detail",
|
|
12
13
|
"robots_txt",
|