deepresearch-flow 0.7.2__tar.gz → 0.7.3__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.7.2/python/deepresearch_flow.egg-info → deepresearch_flow-0.7.3}/PKG-INFO +25 -6
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/README.md +24 -5
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/pyproject.toml +1 -1
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/api.py +4 -3
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/mcp_server.py +38 -13
- deepresearch_flow-0.7.3/python/deepresearch_flow/paper/snapshot/tests/test_mcp_transport.py +52 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3/python/deepresearch_flow.egg-info}/PKG-INFO +25 -6
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow.egg-info/SOURCES.txt +1 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/LICENSE +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/MANIFEST.in +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/__main__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/cli.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/cli.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/config.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/db.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/db_ops.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/extract.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/llm.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/deep_read_phi_system.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/deep_read_phi_user.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/deep_read_system.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/deep_read_user.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/eight_questions_phi_system.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/eight_questions_phi_user.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/eight_questions_system.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/eight_questions_user.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/simple_phi_system.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/simple_phi_user.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/simple_system.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/simple_user.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/three_pass_system.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompt_templates/three_pass_user.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompts.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/azure_openai.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/base.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/claude.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/dashscope.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/gemini.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/ollama.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/openai_compatible.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/render.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/schema.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/schemas/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/schemas/deep_read_phi_schema.json +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/schemas/deep_read_schema.json +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/schemas/default_paper_schema.json +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/schemas/eight_questions_schema.json +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/schemas/three_pass_schema.json +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/builder.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/common.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/identity.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/schema.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/tests/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/tests/test_identity.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/tests/test_mcp_server_schema_compat.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/text.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/unpacker.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/template_registry.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/templates/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/templates/deep_read.md.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/templates/deep_read_phi.md.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/templates/default_paper.md.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/templates/eight_questions.md.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/templates/three_pass.md.j2 +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/utils.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/app.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/constants.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/filters.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/handlers/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/handlers/api.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/handlers/pages.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/markdown.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/LICENSE +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js.map +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js.map +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js.map +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Katakana.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/LICENSE +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Roman.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/V.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/compressed.tracemonkey-pldi-09.pdf +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.css +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_add.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_done.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-check.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-comment.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-help.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-insert.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-key.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-newparagraph.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-noicon.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-note.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paperclip.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paragraph.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-pushpin.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorFreeText.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorInk.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-next.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-previous.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-download.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-openinapp.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-dark.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-icon.gif +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-firstPage.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-handTool.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-lastPage.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-selectTool.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-bookmark.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-currentOutlineItem.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-download.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorFreeText.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorInk.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorStamp.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-menuArrow.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-openFile.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageDown.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageUp.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-presentationMode.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-print.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-search.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-sidebarToggle.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewAttachments.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewLayers.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewOutline.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewThumbnail.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomIn.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomOut.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-collapsed.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-expanded.svg +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ach/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/af/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/an/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ar/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ast/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/az/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/be/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bg/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bn/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bo/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/br/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/brx/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bs/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ca/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cak/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ckb/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cs/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cy/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/da/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/de/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/dsb/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/el/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-CA/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-GB/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-US/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eo/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-AR/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-CL/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-ES/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-MX/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/et/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eu/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fa/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ff/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fi/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fr/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fur/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fy-NL/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ga-IE/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gd/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gl/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gn/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gu-IN/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/he/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hi-IN/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hr/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hsb/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hu/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hy-AM/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hye/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ia/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/id/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/is/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/it/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ja/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ka/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kab/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kk/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/km/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kn/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ko/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lij/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lo/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/locale.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lt/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ltg/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lv/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/meh/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mk/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mr/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ms/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/my/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nb-NO/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ne-NP/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nl/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nn-NO/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/oc/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pa-IN/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pl/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-BR/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-PT/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/rm/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ro/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ru/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sat/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sc/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/scn/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sco/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/si/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sk/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/skr/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sl/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/son/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sq/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sr/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sv-SE/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/szl/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ta/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/te/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tg/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/th/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tl/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tr/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/trs/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uk/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ur/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uz/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/vi/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/wo/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/xh/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-CN/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-TW/viewer.properties +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitDingbats.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixed.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBold.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerif.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBold.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSymbol.pfb +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_FOXIT +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_LIBERATION +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.css +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.html +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js.map +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/query.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/static/css/main.css +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/static/js/detail.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/static/js/index.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/static/js/outline.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/static/js/stats.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/static_assets.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/templates/base.html +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/templates/detail.html +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/templates/index.html +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/templates/stats.html +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/templates.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/text.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/recognize/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/recognize/cli.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/recognize/katex_check.js +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/recognize/markdown.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/recognize/math.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/recognize/mermaid.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/recognize/organize.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/__init__.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/cli.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/config.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/engine.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/fixers.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/placeholder.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/prompts.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/protector.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/translator/segment.py +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow.egg-info/dependency_links.txt +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow.egg-info/entry_points.txt +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow.egg-info/requires.txt +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow.egg-info/top_level.txt +0 -0
- {deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/setup.cfg +0 -0
{deepresearch_flow-0.7.2/python/deepresearch_flow.egg-info → deepresearch_flow-0.7.3}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepresearch-flow
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
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
|
|
@@ -532,6 +532,22 @@ server {
|
|
|
532
532
|
proxy_set_header X-Real-IP $remote_addr;
|
|
533
533
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
534
534
|
}
|
|
535
|
+
|
|
536
|
+
# SSE transport for MCP clients that require Server-Sent Events
|
|
537
|
+
location ^~ /mcp-sse {
|
|
538
|
+
proxy_pass http://127.0.0.1:8001;
|
|
539
|
+
proxy_http_version 1.1;
|
|
540
|
+
proxy_set_header Connection "";
|
|
541
|
+
proxy_set_header Host $host;
|
|
542
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
543
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
544
|
+
proxy_buffering off;
|
|
545
|
+
proxy_cache off;
|
|
546
|
+
proxy_read_timeout 3600s;
|
|
547
|
+
proxy_send_timeout 3600s;
|
|
548
|
+
chunked_transfer_encoding off;
|
|
549
|
+
add_header X-Accel-Buffering no;
|
|
550
|
+
}
|
|
535
551
|
}
|
|
536
552
|
|
|
537
553
|
# Static assets (separate domain)
|
|
@@ -562,12 +578,15 @@ uv run deepresearch-flow paper db api serve \
|
|
|
562
578
|
--host 0.0.0.0 --port 8001
|
|
563
579
|
```
|
|
564
580
|
|
|
565
|
-
### 3.1) MCP (FastMCP Streamable HTTP)
|
|
581
|
+
### 3.1) MCP (FastMCP Streamable HTTP + SSE)
|
|
566
582
|
|
|
567
|
-
This project exposes
|
|
583
|
+
This project exposes MCP servers mounted on the snapshot API:
|
|
568
584
|
|
|
569
|
-
-
|
|
570
|
-
-
|
|
585
|
+
- Streamable HTTP endpoint: `http://<host>:8001/mcp`
|
|
586
|
+
- SSE endpoint: `http://<host>:8001/mcp-sse`
|
|
587
|
+
- Transport behavior:
|
|
588
|
+
- `/mcp`: Streamable HTTP via `POST` only (`GET` returns 405)
|
|
589
|
+
- `/mcp-sse`: SSE-enabled transport (supports `GET` handshake)
|
|
571
590
|
- Protocol header: optional `mcp-protocol-version` (`2025-03-26` or `2025-06-18`)
|
|
572
591
|
- Static reads: summary/source/translation are served as **text content** by reading snapshot static assets (local-first via `PAPER_DB_STATIC_EXPORT_DIR`, HTTP fallback via `PAPER_DB_STATIC_BASE` / `PAPER_DB_STATIC_BASE_URL`)
|
|
573
592
|
|
|
@@ -959,7 +978,7 @@ docker run --rm -p 8899:8899 \
|
|
|
959
978
|
```
|
|
960
979
|
|
|
961
980
|
Notes:
|
|
962
|
-
- nginx listens on 8899 and proxies `/api
|
|
981
|
+
- nginx listens on 8899 and proxies `/api`, `/mcp`, and `/mcp-sse` to the internal API at `127.0.0.1:8000`.
|
|
963
982
|
- Mount your snapshot DB to `/db/papers.db` inside the container.
|
|
964
983
|
- Mount snapshot static assets to `/static` when serving assets from this container (default `PAPER_DB_STATIC_BASE` is `/static`).
|
|
965
984
|
- If `PAPER_DB_STATIC_BASE` is a full URL (e.g. `https://static.example.com`), nginx still serves the frontend locally, while API responses use that external static base for asset links.
|
|
@@ -469,6 +469,22 @@ server {
|
|
|
469
469
|
proxy_set_header X-Real-IP $remote_addr;
|
|
470
470
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
471
471
|
}
|
|
472
|
+
|
|
473
|
+
# SSE transport for MCP clients that require Server-Sent Events
|
|
474
|
+
location ^~ /mcp-sse {
|
|
475
|
+
proxy_pass http://127.0.0.1:8001;
|
|
476
|
+
proxy_http_version 1.1;
|
|
477
|
+
proxy_set_header Connection "";
|
|
478
|
+
proxy_set_header Host $host;
|
|
479
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
480
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
481
|
+
proxy_buffering off;
|
|
482
|
+
proxy_cache off;
|
|
483
|
+
proxy_read_timeout 3600s;
|
|
484
|
+
proxy_send_timeout 3600s;
|
|
485
|
+
chunked_transfer_encoding off;
|
|
486
|
+
add_header X-Accel-Buffering no;
|
|
487
|
+
}
|
|
472
488
|
}
|
|
473
489
|
|
|
474
490
|
# Static assets (separate domain)
|
|
@@ -499,12 +515,15 @@ uv run deepresearch-flow paper db api serve \
|
|
|
499
515
|
--host 0.0.0.0 --port 8001
|
|
500
516
|
```
|
|
501
517
|
|
|
502
|
-
### 3.1) MCP (FastMCP Streamable HTTP)
|
|
518
|
+
### 3.1) MCP (FastMCP Streamable HTTP + SSE)
|
|
503
519
|
|
|
504
|
-
This project exposes
|
|
520
|
+
This project exposes MCP servers mounted on the snapshot API:
|
|
505
521
|
|
|
506
|
-
-
|
|
507
|
-
-
|
|
522
|
+
- Streamable HTTP endpoint: `http://<host>:8001/mcp`
|
|
523
|
+
- SSE endpoint: `http://<host>:8001/mcp-sse`
|
|
524
|
+
- Transport behavior:
|
|
525
|
+
- `/mcp`: Streamable HTTP via `POST` only (`GET` returns 405)
|
|
526
|
+
- `/mcp-sse`: SSE-enabled transport (supports `GET` handshake)
|
|
508
527
|
- Protocol header: optional `mcp-protocol-version` (`2025-03-26` or `2025-06-18`)
|
|
509
528
|
- Static reads: summary/source/translation are served as **text content** by reading snapshot static assets (local-first via `PAPER_DB_STATIC_EXPORT_DIR`, HTTP fallback via `PAPER_DB_STATIC_BASE` / `PAPER_DB_STATIC_BASE_URL`)
|
|
510
529
|
|
|
@@ -896,7 +915,7 @@ docker run --rm -p 8899:8899 \
|
|
|
896
915
|
```
|
|
897
916
|
|
|
898
917
|
Notes:
|
|
899
|
-
- nginx listens on 8899 and proxies `/api
|
|
918
|
+
- nginx listens on 8899 and proxies `/api`, `/mcp`, and `/mcp-sse` to the internal API at `127.0.0.1:8000`.
|
|
900
919
|
- Mount your snapshot DB to `/db/papers.db` inside the container.
|
|
901
920
|
- Mount snapshot static assets to `/static` when serving assets from this container (default `PAPER_DB_STATIC_BASE` is `/static`).
|
|
902
921
|
- If `PAPER_DB_STATIC_BASE` is a full URL (e.g. `https://static.example.com`), nginx still serves the frontend locally, while API responses use that external static base for asset links.
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/api.py
RENAMED
|
@@ -908,7 +908,7 @@ def create_app(
|
|
|
908
908
|
# Lazy import to avoid circular dependency
|
|
909
909
|
from deepresearch_flow.paper.snapshot.mcp_server import (
|
|
910
910
|
McpSnapshotConfig,
|
|
911
|
-
|
|
911
|
+
create_mcp_apps,
|
|
912
912
|
resolve_static_export_dir,
|
|
913
913
|
)
|
|
914
914
|
|
|
@@ -919,7 +919,7 @@ def create_app(
|
|
|
919
919
|
limits=limits or ApiLimits(),
|
|
920
920
|
origin_allowlist=cors_allowed_origins or ["*"],
|
|
921
921
|
)
|
|
922
|
-
|
|
922
|
+
mcp_apps, mcp_lifespan = create_mcp_apps(mcp_config)
|
|
923
923
|
|
|
924
924
|
routes = [
|
|
925
925
|
Route("/api/v1/config", _api_config, methods=["GET"]),
|
|
@@ -931,7 +931,8 @@ def create_app(
|
|
|
931
931
|
Route("/api/v1/facets/{facet:str}/{facet_id:str}/stats", _api_facet_stats, methods=["GET"]),
|
|
932
932
|
Route("/api/v1/facets/{facet:str}/by-value/{value:str}/papers", _api_facet_by_value_papers, methods=["GET"]),
|
|
933
933
|
Route("/api/v1/facets/{facet:str}/by-value/{value:str}/stats", _api_facet_by_value_stats, methods=["GET"]),
|
|
934
|
-
Mount("/mcp", app=
|
|
934
|
+
Mount("/mcp", app=mcp_apps["streamable-http"]),
|
|
935
|
+
Mount("/mcp-sse", app=mcp_apps["sse"]),
|
|
935
936
|
]
|
|
936
937
|
|
|
937
938
|
# Pass MCP lifespan to ensure session manager initializes properly
|
|
@@ -5,7 +5,7 @@ import json
|
|
|
5
5
|
import os
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
import re
|
|
8
|
-
from typing import Any
|
|
8
|
+
from typing import Any, Literal
|
|
9
9
|
|
|
10
10
|
import httpx
|
|
11
11
|
from starlette.applications import Starlette
|
|
@@ -76,14 +76,13 @@ class McpSnapshotConfig:
|
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
class McpRequestGuardMiddleware(BaseHTTPMiddleware):
|
|
79
|
-
def __init__(self, app, *, origin_allowlist: list[str]) -> None:
|
|
79
|
+
def __init__(self, app, *, origin_allowlist: list[str], allowed_methods: set[str] | None = None) -> None:
|
|
80
80
|
super().__init__(app)
|
|
81
81
|
self._allowlist = [origin.lower() for origin in origin_allowlist]
|
|
82
|
+
self._allowed_methods = {method.upper() for method in (allowed_methods or {"POST", "OPTIONS"})}
|
|
82
83
|
|
|
83
84
|
async def dispatch(self, request: Request, call_next): # type: ignore[override]
|
|
84
|
-
if request.method
|
|
85
|
-
return Response("Method Not Allowed", status_code=405)
|
|
86
|
-
if request.method not in {"POST", "OPTIONS"}:
|
|
85
|
+
if request.method.upper() not in self._allowed_methods:
|
|
87
86
|
return Response("Method Not Allowed", status_code=405)
|
|
88
87
|
origin = request.headers.get("origin")
|
|
89
88
|
if origin and not self._is_allowed_origin(origin):
|
|
@@ -108,23 +107,49 @@ def configure(config: McpSnapshotConfig) -> None:
|
|
|
108
107
|
_CONFIG = config
|
|
109
108
|
|
|
110
109
|
|
|
111
|
-
def
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
110
|
+
def _allowed_methods_for_transport(transport: Literal["streamable-http", "sse"]) -> set[str]:
|
|
111
|
+
if transport == "sse":
|
|
112
|
+
return {"GET", "POST", "OPTIONS"}
|
|
113
|
+
return {"POST", "OPTIONS"}
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def create_mcp_transport_app(
|
|
117
|
+
config: McpSnapshotConfig,
|
|
118
|
+
*,
|
|
119
|
+
transport: Literal["streamable-http", "sse"] = "streamable-http",
|
|
120
|
+
) -> tuple[Starlette, Any]:
|
|
121
|
+
"""Create MCP app for a specific transport with transport-aware method guard."""
|
|
117
122
|
configure(config)
|
|
118
|
-
mcp_app = mcp.http_app(path="/", stateless_http=
|
|
123
|
+
mcp_app = mcp.http_app(path="/", transport=transport, stateless_http=(transport == "streamable-http"))
|
|
119
124
|
wrapped = Starlette(
|
|
120
125
|
routes=[Mount("/", app=mcp_app)],
|
|
121
126
|
middleware=[
|
|
122
|
-
Middleware(
|
|
127
|
+
Middleware(
|
|
128
|
+
McpRequestGuardMiddleware,
|
|
129
|
+
origin_allowlist=config.origin_allowlist,
|
|
130
|
+
allowed_methods=_allowed_methods_for_transport(transport),
|
|
131
|
+
),
|
|
123
132
|
],
|
|
124
133
|
)
|
|
125
134
|
return wrapped, mcp_app.lifespan
|
|
126
135
|
|
|
127
136
|
|
|
137
|
+
def create_mcp_apps(config: McpSnapshotConfig) -> tuple[dict[str, Starlette], Any]:
|
|
138
|
+
"""Create streamable-http and sse MCP apps.
|
|
139
|
+
|
|
140
|
+
Returns:
|
|
141
|
+
A tuple of (apps_by_transport, lifespan_context).
|
|
142
|
+
"""
|
|
143
|
+
streamable_app, lifespan = create_mcp_transport_app(config, transport="streamable-http")
|
|
144
|
+
sse_app, _ = create_mcp_transport_app(config, transport="sse")
|
|
145
|
+
return {"streamable-http": streamable_app, "sse": sse_app}, lifespan
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
def create_mcp_app(config: McpSnapshotConfig) -> tuple[Starlette, Any]:
|
|
149
|
+
"""Backward-compatible helper returning streamable-http MCP app."""
|
|
150
|
+
return create_mcp_transport_app(config, transport="streamable-http")
|
|
151
|
+
|
|
152
|
+
|
|
128
153
|
def _get_config() -> McpSnapshotConfig:
|
|
129
154
|
if _CONFIG is None:
|
|
130
155
|
raise RuntimeError("MCP server not configured")
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import tempfile
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
import unittest
|
|
6
|
+
|
|
7
|
+
from deepresearch_flow.paper.snapshot.api import create_app
|
|
8
|
+
from deepresearch_flow.paper.snapshot.common import ApiLimits
|
|
9
|
+
from deepresearch_flow.paper.snapshot.mcp_server import (
|
|
10
|
+
McpSnapshotConfig,
|
|
11
|
+
_allowed_methods_for_transport,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class TestMcpTransport(unittest.TestCase):
|
|
16
|
+
@classmethod
|
|
17
|
+
def setUpClass(cls) -> None:
|
|
18
|
+
cls.tmpdir = tempfile.TemporaryDirectory()
|
|
19
|
+
cls.snapshot_db = Path(cls.tmpdir.name) / "snapshot.db"
|
|
20
|
+
cls.snapshot_db.touch()
|
|
21
|
+
cls.cfg = McpSnapshotConfig(
|
|
22
|
+
snapshot_db=cls.snapshot_db,
|
|
23
|
+
static_base_url="",
|
|
24
|
+
static_export_dir=None,
|
|
25
|
+
limits=ApiLimits(),
|
|
26
|
+
origin_allowlist=["*"],
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
@classmethod
|
|
30
|
+
def tearDownClass(cls) -> None:
|
|
31
|
+
cls.tmpdir.cleanup()
|
|
32
|
+
|
|
33
|
+
def test_streamable_transport_rejects_get(self) -> None:
|
|
34
|
+
self.assertNotIn("GET", _allowed_methods_for_transport("streamable-http"))
|
|
35
|
+
|
|
36
|
+
def test_sse_transport_allows_get(self) -> None:
|
|
37
|
+
self.assertIn("GET", _allowed_methods_for_transport("sse"))
|
|
38
|
+
|
|
39
|
+
def test_api_mounts_streamable_and_sse_endpoints(self) -> None:
|
|
40
|
+
app = create_app(
|
|
41
|
+
snapshot_db=self.snapshot_db,
|
|
42
|
+
static_base_url="",
|
|
43
|
+
cors_allowed_origins=["*"],
|
|
44
|
+
limits=ApiLimits(),
|
|
45
|
+
)
|
|
46
|
+
mount_paths = sorted(getattr(route, "path", "") for route in app.routes)
|
|
47
|
+
self.assertIn("/mcp", mount_paths)
|
|
48
|
+
self.assertIn("/mcp-sse", mount_paths)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
if __name__ == "__main__":
|
|
52
|
+
unittest.main()
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3/python/deepresearch_flow.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepresearch-flow
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3
|
|
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
|
|
@@ -532,6 +532,22 @@ server {
|
|
|
532
532
|
proxy_set_header X-Real-IP $remote_addr;
|
|
533
533
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
534
534
|
}
|
|
535
|
+
|
|
536
|
+
# SSE transport for MCP clients that require Server-Sent Events
|
|
537
|
+
location ^~ /mcp-sse {
|
|
538
|
+
proxy_pass http://127.0.0.1:8001;
|
|
539
|
+
proxy_http_version 1.1;
|
|
540
|
+
proxy_set_header Connection "";
|
|
541
|
+
proxy_set_header Host $host;
|
|
542
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
543
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
544
|
+
proxy_buffering off;
|
|
545
|
+
proxy_cache off;
|
|
546
|
+
proxy_read_timeout 3600s;
|
|
547
|
+
proxy_send_timeout 3600s;
|
|
548
|
+
chunked_transfer_encoding off;
|
|
549
|
+
add_header X-Accel-Buffering no;
|
|
550
|
+
}
|
|
535
551
|
}
|
|
536
552
|
|
|
537
553
|
# Static assets (separate domain)
|
|
@@ -562,12 +578,15 @@ uv run deepresearch-flow paper db api serve \
|
|
|
562
578
|
--host 0.0.0.0 --port 8001
|
|
563
579
|
```
|
|
564
580
|
|
|
565
|
-
### 3.1) MCP (FastMCP Streamable HTTP)
|
|
581
|
+
### 3.1) MCP (FastMCP Streamable HTTP + SSE)
|
|
566
582
|
|
|
567
|
-
This project exposes
|
|
583
|
+
This project exposes MCP servers mounted on the snapshot API:
|
|
568
584
|
|
|
569
|
-
-
|
|
570
|
-
-
|
|
585
|
+
- Streamable HTTP endpoint: `http://<host>:8001/mcp`
|
|
586
|
+
- SSE endpoint: `http://<host>:8001/mcp-sse`
|
|
587
|
+
- Transport behavior:
|
|
588
|
+
- `/mcp`: Streamable HTTP via `POST` only (`GET` returns 405)
|
|
589
|
+
- `/mcp-sse`: SSE-enabled transport (supports `GET` handshake)
|
|
571
590
|
- Protocol header: optional `mcp-protocol-version` (`2025-03-26` or `2025-06-18`)
|
|
572
591
|
- Static reads: summary/source/translation are served as **text content** by reading snapshot static assets (local-first via `PAPER_DB_STATIC_EXPORT_DIR`, HTTP fallback via `PAPER_DB_STATIC_BASE` / `PAPER_DB_STATIC_BASE_URL`)
|
|
573
592
|
|
|
@@ -959,7 +978,7 @@ docker run --rm -p 8899:8899 \
|
|
|
959
978
|
```
|
|
960
979
|
|
|
961
980
|
Notes:
|
|
962
|
-
- nginx listens on 8899 and proxies `/api
|
|
981
|
+
- nginx listens on 8899 and proxies `/api`, `/mcp`, and `/mcp-sse` to the internal API at `127.0.0.1:8000`.
|
|
963
982
|
- Mount your snapshot DB to `/db/papers.db` inside the container.
|
|
964
983
|
- Mount snapshot static assets to `/static` when serving assets from this container (default `PAPER_DB_STATIC_BASE` is `/static`).
|
|
965
984
|
- If `PAPER_DB_STATIC_BASE` is a full URL (e.g. `https://static.example.com`), nginx still serves the frontend locally, while API responses use that external static base for asset links.
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow.egg-info/SOURCES.txt
RENAMED
|
@@ -64,6 +64,7 @@ python/deepresearch_flow/paper/snapshot/unpacker.py
|
|
|
64
64
|
python/deepresearch_flow/paper/snapshot/tests/__init__.py
|
|
65
65
|
python/deepresearch_flow/paper/snapshot/tests/test_identity.py
|
|
66
66
|
python/deepresearch_flow/paper/snapshot/tests/test_mcp_server_schema_compat.py
|
|
67
|
+
python/deepresearch_flow/paper/snapshot/tests/test_mcp_transport.py
|
|
67
68
|
python/deepresearch_flow/paper/templates/__init__.py
|
|
68
69
|
python/deepresearch_flow/paper/templates/deep_read.md.j2
|
|
69
70
|
python/deepresearch_flow/paper/templates/deep_read_phi.md.j2
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/db_ops.py
RENAMED
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/extract.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/providers/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/render.py
RENAMED
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/snapshot/text.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/__init__.py
RENAMED
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/app.py
RENAMED
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/constants.py
RENAMED
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/filters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/markdown.py
RENAMED
|
File without changes
|
{deepresearch_flow-0.7.2 → deepresearch_flow-0.7.3}/python/deepresearch_flow/paper/web/pdfjs/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|