deepresearch-flow 0.3.0__tar.gz → 0.4.1__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.3.0 → deepresearch_flow-0.4.1}/MANIFEST.in +2 -0
- {deepresearch_flow-0.3.0/python/deepresearch_flow.egg-info → deepresearch_flow-0.4.1}/PKG-INFO +78 -4
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/README.md +75 -2
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/pyproject.toml +5 -3
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/db.py +184 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/db_ops.py +1939 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/app.py +94 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/constants.py +23 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/filters.py +255 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/handlers/__init__.py +14 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/handlers/api.py +217 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/handlers/pages.py +334 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/markdown.py +549 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/static/css/main.css +857 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/static/js/detail.js +406 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/static/js/index.js +266 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/static/js/outline.js +58 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/static/js/stats.js +39 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/templates/base.html +43 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/templates/detail.html +332 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/templates/index.html +114 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/templates/stats.html +29 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/templates.py +85 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/text.py +68 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/recognize/cli.py +1402 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/recognize/katex_check.js +29 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/recognize/math.py +719 -0
- deepresearch_flow-0.4.1/python/deepresearch_flow/recognize/mermaid.py +690 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1/python/deepresearch_flow.egg-info}/PKG-INFO +78 -4
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow.egg-info/SOURCES.txt +21 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow.egg-info/requires.txt +2 -1
- deepresearch_flow-0.3.0/python/deepresearch_flow/paper/web/app.py +0 -3761
- deepresearch_flow-0.3.0/python/deepresearch_flow/recognize/cli.py +0 -623
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/LICENSE +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/__main__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/cli.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/cli.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/config.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/extract.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/llm.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/deep_read_system.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/deep_read_user.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/eight_questions_system.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/eight_questions_user.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/simple_system.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/simple_user.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/three_pass_system.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompt_templates/three_pass_user.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/prompts.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/providers/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/providers/azure_openai.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/providers/base.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/providers/claude.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/providers/dashscope.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/providers/gemini.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/providers/ollama.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/providers/openai_compatible.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/render.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/schema.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/schemas/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/schemas/deep_read_schema.json +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/schemas/default_paper_schema.json +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/schemas/eight_questions_schema.json +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/schemas/three_pass_schema.json +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/template_registry.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/templates/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/templates/deep_read.md.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/templates/default_paper.md.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/templates/eight_questions.md.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/templates/three_pass.md.j2 +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/utils.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/LICENSE +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js.map +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js.map +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js.map +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Katakana.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/LICENSE +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Roman.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/V.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/compressed.tracemonkey-pldi-09.pdf +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.css +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.js +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_add.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_done.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-check.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-comment.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-help.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-insert.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-key.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-newparagraph.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-noicon.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-note.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paperclip.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paragraph.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-pushpin.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorFreeText.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorInk.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-next.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-previous.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-download.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-openinapp.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-dark.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-icon.gif +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-firstPage.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-handTool.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-lastPage.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-selectTool.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-bookmark.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-currentOutlineItem.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-download.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorFreeText.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorInk.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorStamp.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-menuArrow.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-openFile.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageDown.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageUp.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-presentationMode.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-print.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-search.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-sidebarToggle.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewAttachments.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewLayers.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewOutline.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewThumbnail.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomIn.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomOut.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-collapsed.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-expanded.svg +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ach/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/af/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/an/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ar/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ast/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/az/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/be/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bg/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bn/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bo/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/br/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/brx/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bs/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ca/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cak/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ckb/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cs/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cy/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/da/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/de/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/dsb/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/el/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-CA/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-GB/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-US/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eo/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-AR/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-CL/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-ES/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-MX/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/et/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eu/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fa/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ff/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fi/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fr/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fur/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fy-NL/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ga-IE/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gd/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gl/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gn/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gu-IN/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/he/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hi-IN/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hr/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hsb/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hu/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hy-AM/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hye/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ia/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/id/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/is/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/it/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ja/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ka/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kab/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kk/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/km/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kn/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ko/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lij/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lo/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/locale.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lt/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ltg/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lv/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/meh/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mk/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mr/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ms/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/my/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nb-NO/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ne-NP/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nl/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nn-NO/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/oc/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pa-IN/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pl/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-BR/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-PT/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/rm/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ro/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ru/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sat/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sc/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/scn/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sco/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/si/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sk/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/skr/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sl/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/son/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sq/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sr/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sv-SE/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/szl/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ta/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/te/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tg/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/th/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tl/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tr/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/trs/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uk/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ur/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uz/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/vi/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/wo/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/xh/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-CN/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-TW/viewer.properties +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitDingbats.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixed.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBold.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerif.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBold.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSymbol.pfb +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_FOXIT +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_LIBERATION +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.css +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.html +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js.map +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/paper/web/query.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/recognize/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/recognize/markdown.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/recognize/organize.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/__init__.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/cli.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/config.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/engine.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/fixers.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/placeholder.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/prompts.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/protector.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow/translator/segment.py +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow.egg-info/dependency_links.txt +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow.egg-info/entry_points.txt +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/python/deepresearch_flow.egg-info/top_level.txt +0 -0
- {deepresearch_flow-0.3.0 → deepresearch_flow-0.4.1}/setup.cfg +0 -0
|
@@ -5,3 +5,5 @@ recursive-include python/deepresearch_flow/paper/templates *.j2
|
|
|
5
5
|
recursive-include python/deepresearch_flow/paper/prompt_templates *.j2
|
|
6
6
|
recursive-include python/deepresearch_flow/paper/examples *.toml
|
|
7
7
|
recursive-include python/deepresearch_flow/paper/web/pdfjs *
|
|
8
|
+
recursive-include python/deepresearch_flow/paper/web/templates *
|
|
9
|
+
recursive-include python/deepresearch_flow/paper/web/static *
|
{deepresearch_flow-0.3.0/python/deepresearch_flow.egg-info → deepresearch_flow-0.4.1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepresearch-flow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.1
|
|
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
|
|
@@ -121,6 +122,7 @@ DeepResearch Flow provides a unified pipeline to **Repair**, **Translate**, **Ex
|
|
|
121
122
|
- **Smart Extraction**: Turn unstructured Markdown into schema-enforced JSON (summaries, metadata, Q&A) using LLMs (OpenAI, Claude, Gemini, etc.).
|
|
122
123
|
- **Precision Translation**: Translate OCR Markdown to Chinese/Japanese (`.zh.md`, `.ja.md`) while **freezing** formulas, code, tables, and references. No more broken layout.
|
|
123
124
|
- **Local Knowledge DB**: A high-performance local Web UI to browse papers with **Split View** (Source vs. Translated vs. Summary), full-text search, and multi-dimensional filtering.
|
|
125
|
+
- **Coverage Compare**: Compare JSON/PDF/Markdown/Translated datasets to find missing artifacts and export CSV reports.
|
|
124
126
|
- **OCR Post-Processing**: Automatically fix broken references (`[1]` -> `[^1]`), merge split paragraphs, and standardize layouts.
|
|
125
127
|
|
|
126
128
|
---
|
|
@@ -171,7 +173,36 @@ uv run deepresearch-flow translator translate \
|
|
|
171
173
|
--fix-level moderate
|
|
172
174
|
```
|
|
173
175
|
|
|
174
|
-
#### 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
|
|
175
206
|
|
|
176
207
|
Launch a local UI to read and manage your papers.
|
|
177
208
|
|
|
@@ -246,7 +277,27 @@ uv run deepresearch-flow paper db serve \
|
|
|
246
277
|
</details>
|
|
247
278
|
|
|
248
279
|
<details>
|
|
249
|
-
<summary><strong>4.
|
|
280
|
+
<summary><strong>4. Paper DB Compare: Coverage Audit</strong></summary>
|
|
281
|
+
|
|
282
|
+
Compare two datasets (A/B) to find missing PDFs, markdowns, translations, or JSON items, with match metadata.
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
uv run deepresearch-flow paper db compare \
|
|
286
|
+
--input-a ./a.json \
|
|
287
|
+
--md-root-b ./md_root \
|
|
288
|
+
--output-csv ./compare.csv
|
|
289
|
+
|
|
290
|
+
# Compare translated markdowns by language
|
|
291
|
+
uv run deepresearch-flow paper db compare \
|
|
292
|
+
--md-translated-root-a ./translated_a \
|
|
293
|
+
--md-translated-root-b ./translated_b \
|
|
294
|
+
--lang zh
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
</details>
|
|
298
|
+
|
|
299
|
+
<details>
|
|
300
|
+
<summary><strong>5. Recognize: OCR Post-Processing</strong></summary>
|
|
250
301
|
|
|
251
302
|
Tools to clean up raw outputs from OCR engines like MinerU.
|
|
252
303
|
|
|
@@ -254,6 +305,10 @@ Tools to clean up raw outputs from OCR engines like MinerU.
|
|
|
254
305
|
- Unpack Images: extract Base64 images back to files.
|
|
255
306
|
- Organize: flatten nested OCR output directories.
|
|
256
307
|
- Fix: apply OCR fixes and rumdl formatting during organize, or as a standalone step.
|
|
308
|
+
- Fix JSON: apply the same fixes to markdown fields inside paper JSON outputs.
|
|
309
|
+
- Fix Math: validate and repair LaTeX formulas with optional LLM assistance.
|
|
310
|
+
- Fix Mermaid: validate and repair Mermaid diagrams (requires `mmdc` from mermaid-cli).
|
|
311
|
+
- Recommended order: `fix` -> `fix-math` -> `fix-mermaid` -> `fix`.
|
|
257
312
|
|
|
258
313
|
```bash
|
|
259
314
|
uv run deepresearch-flow recognize md embed --input ./raw_ocr --output ./clean_md
|
|
@@ -275,6 +330,25 @@ uv run deepresearch-flow recognize fix \
|
|
|
275
330
|
uv run deepresearch-flow recognize fix \
|
|
276
331
|
--input ./ocr_md \
|
|
277
332
|
--in-place
|
|
333
|
+
|
|
334
|
+
# Fix JSON outputs in place
|
|
335
|
+
uv run deepresearch-flow recognize fix \
|
|
336
|
+
--json \
|
|
337
|
+
--input ./paper_outputs \
|
|
338
|
+
--in-place
|
|
339
|
+
|
|
340
|
+
# Fix LaTeX formulas in markdown
|
|
341
|
+
uv run deepresearch-flow recognize fix-math \
|
|
342
|
+
--input ./docs \
|
|
343
|
+
--model openai/gpt-4o-mini \
|
|
344
|
+
--in-place
|
|
345
|
+
|
|
346
|
+
# Fix Mermaid diagrams in JSON outputs
|
|
347
|
+
uv run deepresearch-flow recognize fix-mermaid \
|
|
348
|
+
--json \
|
|
349
|
+
--input ./paper_outputs \
|
|
350
|
+
--model openai/gpt-4o-mini \
|
|
351
|
+
--in-place
|
|
278
352
|
```
|
|
279
353
|
|
|
280
354
|
</details>
|
|
@@ -60,6 +60,7 @@ DeepResearch Flow provides a unified pipeline to **Repair**, **Translate**, **Ex
|
|
|
60
60
|
- **Smart Extraction**: Turn unstructured Markdown into schema-enforced JSON (summaries, metadata, Q&A) using LLMs (OpenAI, Claude, Gemini, etc.).
|
|
61
61
|
- **Precision Translation**: Translate OCR Markdown to Chinese/Japanese (`.zh.md`, `.ja.md`) while **freezing** formulas, code, tables, and references. No more broken layout.
|
|
62
62
|
- **Local Knowledge DB**: A high-performance local Web UI to browse papers with **Split View** (Source vs. Translated vs. Summary), full-text search, and multi-dimensional filtering.
|
|
63
|
+
- **Coverage Compare**: Compare JSON/PDF/Markdown/Translated datasets to find missing artifacts and export CSV reports.
|
|
63
64
|
- **OCR Post-Processing**: Automatically fix broken references (`[1]` -> `[^1]`), merge split paragraphs, and standardize layouts.
|
|
64
65
|
|
|
65
66
|
---
|
|
@@ -110,7 +111,36 @@ uv run deepresearch-flow translator translate \
|
|
|
110
111
|
--fix-level moderate
|
|
111
112
|
```
|
|
112
113
|
|
|
113
|
-
#### 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
|
|
114
144
|
|
|
115
145
|
Launch a local UI to read and manage your papers.
|
|
116
146
|
|
|
@@ -185,7 +215,27 @@ uv run deepresearch-flow paper db serve \
|
|
|
185
215
|
</details>
|
|
186
216
|
|
|
187
217
|
<details>
|
|
188
|
-
<summary><strong>4.
|
|
218
|
+
<summary><strong>4. Paper DB Compare: Coverage Audit</strong></summary>
|
|
219
|
+
|
|
220
|
+
Compare two datasets (A/B) to find missing PDFs, markdowns, translations, or JSON items, with match metadata.
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
uv run deepresearch-flow paper db compare \
|
|
224
|
+
--input-a ./a.json \
|
|
225
|
+
--md-root-b ./md_root \
|
|
226
|
+
--output-csv ./compare.csv
|
|
227
|
+
|
|
228
|
+
# Compare translated markdowns by language
|
|
229
|
+
uv run deepresearch-flow paper db compare \
|
|
230
|
+
--md-translated-root-a ./translated_a \
|
|
231
|
+
--md-translated-root-b ./translated_b \
|
|
232
|
+
--lang zh
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
</details>
|
|
236
|
+
|
|
237
|
+
<details>
|
|
238
|
+
<summary><strong>5. Recognize: OCR Post-Processing</strong></summary>
|
|
189
239
|
|
|
190
240
|
Tools to clean up raw outputs from OCR engines like MinerU.
|
|
191
241
|
|
|
@@ -193,6 +243,10 @@ Tools to clean up raw outputs from OCR engines like MinerU.
|
|
|
193
243
|
- Unpack Images: extract Base64 images back to files.
|
|
194
244
|
- Organize: flatten nested OCR output directories.
|
|
195
245
|
- Fix: apply OCR fixes and rumdl formatting during organize, or as a standalone step.
|
|
246
|
+
- Fix JSON: apply the same fixes to markdown fields inside paper JSON outputs.
|
|
247
|
+
- Fix Math: validate and repair LaTeX formulas with optional LLM assistance.
|
|
248
|
+
- Fix Mermaid: validate and repair Mermaid diagrams (requires `mmdc` from mermaid-cli).
|
|
249
|
+
- Recommended order: `fix` -> `fix-math` -> `fix-mermaid` -> `fix`.
|
|
196
250
|
|
|
197
251
|
```bash
|
|
198
252
|
uv run deepresearch-flow recognize md embed --input ./raw_ocr --output ./clean_md
|
|
@@ -214,6 +268,25 @@ uv run deepresearch-flow recognize fix \
|
|
|
214
268
|
uv run deepresearch-flow recognize fix \
|
|
215
269
|
--input ./ocr_md \
|
|
216
270
|
--in-place
|
|
271
|
+
|
|
272
|
+
# Fix JSON outputs in place
|
|
273
|
+
uv run deepresearch-flow recognize fix \
|
|
274
|
+
--json \
|
|
275
|
+
--input ./paper_outputs \
|
|
276
|
+
--in-place
|
|
277
|
+
|
|
278
|
+
# Fix LaTeX formulas in markdown
|
|
279
|
+
uv run deepresearch-flow recognize fix-math \
|
|
280
|
+
--input ./docs \
|
|
281
|
+
--model openai/gpt-4o-mini \
|
|
282
|
+
--in-place
|
|
283
|
+
|
|
284
|
+
# Fix Mermaid diagrams in JSON outputs
|
|
285
|
+
uv run deepresearch-flow recognize fix-mermaid \
|
|
286
|
+
--json \
|
|
287
|
+
--input ./paper_outputs \
|
|
288
|
+
--model openai/gpt-4o-mini \
|
|
289
|
+
--in-place
|
|
217
290
|
```
|
|
218
291
|
|
|
219
292
|
</details>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "deepresearch-flow"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.4.1"
|
|
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",
|
|
@@ -59,4 +60,5 @@ include-package-data = true
|
|
|
59
60
|
"deepresearch_flow.paper.templates" = ["*.j2"]
|
|
60
61
|
"deepresearch_flow.paper.prompt_templates" = ["*.j2"]
|
|
61
62
|
"deepresearch_flow.paper.examples" = ["*.toml"]
|
|
62
|
-
"deepresearch_flow.paper.web" = ["pdfjs/**/*"]
|
|
63
|
+
"deepresearch_flow.paper.web" = ["pdfjs/**/*", "templates/**/*", "static/**/*"]
|
|
64
|
+
"deepresearch_flow.recognize" = ["*.js"]
|
|
@@ -808,3 +808,187 @@ def register_db_commands(db_group: click.Group) -> None:
|
|
|
808
808
|
raise click.ClickException(str(exc)) from exc
|
|
809
809
|
rendered = render_papers(papers, out_dir, template, output_language)
|
|
810
810
|
click.echo(f"Rendered {rendered} markdown files")
|
|
811
|
+
|
|
812
|
+
@db_group.command("compare")
|
|
813
|
+
@click.option(
|
|
814
|
+
"-ia", "--input-a", "input_paths_a", multiple=True, help="Input JSON files for side A (repeatable)"
|
|
815
|
+
)
|
|
816
|
+
@click.option(
|
|
817
|
+
"-ib", "--input-b", "input_paths_b", multiple=True, help="Input JSON files for side B (repeatable)"
|
|
818
|
+
)
|
|
819
|
+
@click.option(
|
|
820
|
+
"--pdf-root-a", "pdf_roots_a", multiple=True, help="PDF root directories for side A (repeatable)"
|
|
821
|
+
)
|
|
822
|
+
@click.option(
|
|
823
|
+
"--pdf-root-b", "pdf_roots_b", multiple=True, help="PDF root directories for side B (repeatable)"
|
|
824
|
+
)
|
|
825
|
+
@click.option(
|
|
826
|
+
"--md-root-a", "md_roots_a", multiple=True, help="Markdown root directories for side A (repeatable)"
|
|
827
|
+
)
|
|
828
|
+
@click.option(
|
|
829
|
+
"--md-root-b", "md_roots_b", multiple=True, help="Markdown root directories for side B (repeatable)"
|
|
830
|
+
)
|
|
831
|
+
@click.option(
|
|
832
|
+
"--md-translated-root-a", "md_translated_roots_a", multiple=True,
|
|
833
|
+
help="Translated Markdown root directories for side A (repeatable)"
|
|
834
|
+
)
|
|
835
|
+
@click.option(
|
|
836
|
+
"--md-translated-root-b", "md_translated_roots_b", multiple=True,
|
|
837
|
+
help="Translated Markdown root directories for side B (repeatable)"
|
|
838
|
+
)
|
|
839
|
+
@click.option("-b", "--bibtex", "bibtex_path", default=None, help="Optional BibTeX file path")
|
|
840
|
+
@click.option("--lang", "lang", default=None, help="Language code for translated comparisons (e.g., zh)")
|
|
841
|
+
@click.option(
|
|
842
|
+
"--output-csv", "output_csv", default=None, help="Path to export results as CSV"
|
|
843
|
+
)
|
|
844
|
+
@click.option(
|
|
845
|
+
"--sample-limit", "sample_limit", default=5, type=int, show_default=True,
|
|
846
|
+
help="Number of sample items to show in terminal output"
|
|
847
|
+
)
|
|
848
|
+
def compare(
|
|
849
|
+
input_paths_a: tuple[str, ...],
|
|
850
|
+
input_paths_b: tuple[str, ...],
|
|
851
|
+
pdf_roots_a: tuple[str, ...],
|
|
852
|
+
pdf_roots_b: tuple[str, ...],
|
|
853
|
+
md_roots_a: tuple[str, ...],
|
|
854
|
+
md_roots_b: tuple[str, ...],
|
|
855
|
+
md_translated_roots_a: tuple[str, ...],
|
|
856
|
+
md_translated_roots_b: tuple[str, ...],
|
|
857
|
+
bibtex_path: str | None,
|
|
858
|
+
lang: str | None,
|
|
859
|
+
output_csv: str | None,
|
|
860
|
+
sample_limit: int,
|
|
861
|
+
) -> None:
|
|
862
|
+
"""Compare two datasets and report matches and differences."""
|
|
863
|
+
from deepresearch_flow.paper.db_ops import compare_datasets
|
|
864
|
+
import csv
|
|
865
|
+
|
|
866
|
+
# Validate that at least one input is provided for each side
|
|
867
|
+
has_input_a = bool(input_paths_a or pdf_roots_a or md_roots_a or md_translated_roots_a)
|
|
868
|
+
has_input_b = bool(input_paths_b or pdf_roots_b or md_roots_b or md_translated_roots_b)
|
|
869
|
+
|
|
870
|
+
if not has_input_a:
|
|
871
|
+
raise click.ClickException(
|
|
872
|
+
"Side A must have at least one input: --input-a, --pdf-root-a, --md-root-a, or --md-translated-root-a"
|
|
873
|
+
)
|
|
874
|
+
if not has_input_b:
|
|
875
|
+
raise click.ClickException(
|
|
876
|
+
"Side B must have at least one input: --input-b, --pdf-root-b, --md-root-b, or --md-translated-root-b"
|
|
877
|
+
)
|
|
878
|
+
if (md_translated_roots_a or md_translated_roots_b) and not lang:
|
|
879
|
+
raise click.ClickException("--lang is required when comparing translated Markdown datasets")
|
|
880
|
+
|
|
881
|
+
# Run comparison
|
|
882
|
+
try:
|
|
883
|
+
results = compare_datasets(
|
|
884
|
+
json_paths_a=[Path(p) for p in input_paths_a],
|
|
885
|
+
pdf_roots_a=[Path(p) for p in pdf_roots_a],
|
|
886
|
+
md_roots_a=[Path(p) for p in md_roots_a],
|
|
887
|
+
md_translated_roots_a=[Path(p) for p in md_translated_roots_a],
|
|
888
|
+
json_paths_b=[Path(p) for p in input_paths_b],
|
|
889
|
+
pdf_roots_b=[Path(p) for p in pdf_roots_b],
|
|
890
|
+
md_roots_b=[Path(p) for p in md_roots_b],
|
|
891
|
+
md_translated_roots_b=[Path(p) for p in md_translated_roots_b],
|
|
892
|
+
bibtex_path=Path(bibtex_path) if bibtex_path else None,
|
|
893
|
+
lang=lang,
|
|
894
|
+
)
|
|
895
|
+
except ValueError as exc:
|
|
896
|
+
raise click.ClickException(str(exc)) from exc
|
|
897
|
+
|
|
898
|
+
# Calculate statistics
|
|
899
|
+
total_a = sum(1 for r in results if r.side == "A")
|
|
900
|
+
total_b = sum(1 for r in results if r.side == "B")
|
|
901
|
+
matched = sum(1 for r in results if r.side == "MATCH")
|
|
902
|
+
only_in_a = sum(1 for r in results if r.side == "A" and r.match_status == "only_in_A")
|
|
903
|
+
only_in_b = sum(1 for r in results if r.side == "B" and r.match_status == "only_in_B")
|
|
904
|
+
|
|
905
|
+
console = Console()
|
|
906
|
+
|
|
907
|
+
# Print summary table
|
|
908
|
+
summary_table = Table(title="Comparison Summary")
|
|
909
|
+
summary_table.add_column("Metric", style="cyan")
|
|
910
|
+
summary_table.add_column("Count", style="green", justify="right")
|
|
911
|
+
summary_table.add_row("Total in A", str(total_a))
|
|
912
|
+
summary_table.add_row("Total in B", str(total_b))
|
|
913
|
+
summary_table.add_row("Matched", str(matched))
|
|
914
|
+
summary_table.add_row("Only in A", str(only_in_a))
|
|
915
|
+
summary_table.add_row("Only in B", str(only_in_b))
|
|
916
|
+
console.print(summary_table)
|
|
917
|
+
|
|
918
|
+
# Print match type breakdown
|
|
919
|
+
match_types: dict[str, int] = {}
|
|
920
|
+
for r in results:
|
|
921
|
+
if r.side == "MATCH" and r.match_type:
|
|
922
|
+
match_types[r.match_type] = match_types.get(r.match_type, 0) + 1
|
|
923
|
+
|
|
924
|
+
if match_types:
|
|
925
|
+
type_table = Table(title="Match Types")
|
|
926
|
+
type_table.add_column("Type", style="cyan")
|
|
927
|
+
type_table.add_column("Count", style="green", justify="right")
|
|
928
|
+
for match_type, count in sorted(match_types.items(), key=lambda x: x[1], reverse=True):
|
|
929
|
+
type_table.add_row(match_type, str(count))
|
|
930
|
+
console.print(type_table)
|
|
931
|
+
|
|
932
|
+
# Print sample results
|
|
933
|
+
console.print("\n[bold]Sample Results:[/bold]")
|
|
934
|
+
|
|
935
|
+
# Sample matched items
|
|
936
|
+
matched_samples = [r for r in results if r.side == "MATCH"][:sample_limit]
|
|
937
|
+
if matched_samples:
|
|
938
|
+
console.print("\n[green]Matched Items:[/green]")
|
|
939
|
+
for r in matched_samples:
|
|
940
|
+
left = (r.title or "")[:60]
|
|
941
|
+
right = (r.other_title or "")[:60]
|
|
942
|
+
console.print(
|
|
943
|
+
f" • {left} ↔ {right} (type: {r.match_type}, score: {r.match_score:.2f})"
|
|
944
|
+
)
|
|
945
|
+
|
|
946
|
+
# Sample only in A
|
|
947
|
+
only_a_samples = [
|
|
948
|
+
r for r in results if r.side == "A" and r.match_status == "only_in_A"
|
|
949
|
+
][:sample_limit]
|
|
950
|
+
if only_a_samples:
|
|
951
|
+
console.print("\n[yellow]Only in A:[/yellow]")
|
|
952
|
+
for r in only_a_samples:
|
|
953
|
+
console.print(f" • {r.title[:60]}...")
|
|
954
|
+
|
|
955
|
+
# Sample only in B
|
|
956
|
+
only_b_samples = [
|
|
957
|
+
r for r in results if r.side == "B" and r.match_status == "only_in_B"
|
|
958
|
+
][:sample_limit]
|
|
959
|
+
if only_b_samples:
|
|
960
|
+
console.print("\n[yellow]Only in B:[/yellow]")
|
|
961
|
+
for r in only_b_samples:
|
|
962
|
+
console.print(f" • {r.title[:60]}...")
|
|
963
|
+
|
|
964
|
+
# Export to CSV if requested
|
|
965
|
+
if output_csv:
|
|
966
|
+
output_path = Path(output_csv)
|
|
967
|
+
output_path.parent.mkdir(parents=True, exist_ok=True)
|
|
968
|
+
|
|
969
|
+
with open(output_path, "w", newline="", encoding="utf-8") as f:
|
|
970
|
+
writer = csv.writer(f)
|
|
971
|
+
writer.writerow([
|
|
972
|
+
"Side", "Source Hash", "Title", "Match Status", "Match Type",
|
|
973
|
+
"Match Score", "Source Path", "Other Source Hash", "Other Title",
|
|
974
|
+
"Other Source Path", "Lang"
|
|
975
|
+
])
|
|
976
|
+
for r in results:
|
|
977
|
+
writer.writerow([
|
|
978
|
+
r.side,
|
|
979
|
+
r.source_hash,
|
|
980
|
+
r.title,
|
|
981
|
+
r.match_status,
|
|
982
|
+
r.match_type or "",
|
|
983
|
+
f"{r.match_score:.4f}",
|
|
984
|
+
r.source_path or "",
|
|
985
|
+
r.other_source_hash or "",
|
|
986
|
+
r.other_title or "",
|
|
987
|
+
r.other_source_path or "",
|
|
988
|
+
r.lang or "",
|
|
989
|
+
])
|
|
990
|
+
|
|
991
|
+
console.print(f"\n[green]Results exported to: {output_path}[/green]")
|
|
992
|
+
|
|
993
|
+
# Print final counts
|
|
994
|
+
console.print(f"\nTotal results: {len(results)}")
|