deepresearch-flow 0.5.1__tar.gz → 0.6.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.
Files changed (484) hide show
  1. deepresearch_flow-0.6.1/PKG-INFO +849 -0
  2. deepresearch_flow-0.6.1/README.md +787 -0
  3. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/pyproject.toml +11 -11
  4. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/cli.py +63 -0
  5. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/config.py +87 -12
  6. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/db.py +2147 -0
  7. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/db_ops.py +124 -19
  8. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/extract.py +2271 -0
  9. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/deep_read_phi_system.j2 +2 -0
  10. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/deep_read_phi_user.j2 +5 -0
  11. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/deep_read_system.j2 +2 -0
  12. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/prompt_templates/deep_read_user.j2 +314 -0
  13. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/eight_questions_phi_system.j2 +1 -0
  14. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/eight_questions_phi_user.j2 +2 -0
  15. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/eight_questions_system.j2 +2 -0
  16. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/eight_questions_user.j2 +4 -0
  17. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/simple_phi_system.j2 +2 -0
  18. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/simple_system.j2 +2 -0
  19. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/simple_user.j2 +2 -0
  20. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/providers/azure_openai.py +45 -3
  21. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/providers/openai_compatible.py +45 -3
  22. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/schemas/deep_read_phi_schema.json +1 -0
  23. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/schemas/deep_read_schema.json +1 -0
  24. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/schemas/default_paper_schema.json +6 -0
  25. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/schemas/eight_questions_schema.json +1 -0
  26. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/snapshot/__init__.py +4 -0
  27. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/snapshot/api.py +941 -0
  28. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/snapshot/builder.py +965 -0
  29. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/snapshot/identity.py +239 -0
  30. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/snapshot/schema.py +245 -0
  31. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/snapshot/tests/__init__.py +2 -0
  32. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/snapshot/tests/test_identity.py +123 -0
  33. deepresearch_flow-0.6.1/python/deepresearch_flow/paper/snapshot/text.py +154 -0
  34. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/template_registry.py +1 -0
  35. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/templates/deep_read.md.j2 +4 -0
  36. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/templates/deep_read_phi.md.j2 +4 -0
  37. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/templates/default_paper.md.j2 +4 -0
  38. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/templates/eight_questions.md.j2 +4 -0
  39. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/app.py +10 -3
  40. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/recognize/cli.py +380 -103
  41. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/recognize/markdown.py +31 -7
  42. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/recognize/math.py +47 -12
  43. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/recognize/mermaid.py +320 -10
  44. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/recognize/organize.py +29 -7
  45. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/cli.py +71 -20
  46. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/engine.py +220 -81
  47. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/prompts.py +19 -2
  48. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/protector.py +15 -3
  49. deepresearch_flow-0.6.1/python/deepresearch_flow.egg-info/PKG-INFO +849 -0
  50. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow.egg-info/SOURCES.txt +8 -0
  51. deepresearch_flow-0.6.1/python/deepresearch_flow.egg-info/requires.txt +20 -0
  52. deepresearch_flow-0.5.1/PKG-INFO +0 -440
  53. deepresearch_flow-0.5.1/README.md +0 -378
  54. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/db.py +0 -1028
  55. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/extract.py +0 -877
  56. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/deep_read_user.j2 +0 -82
  57. deepresearch_flow-0.5.1/python/deepresearch_flow.egg-info/PKG-INFO +0 -440
  58. deepresearch_flow-0.5.1/python/deepresearch_flow.egg-info/requires.txt +0 -20
  59. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/LICENSE +0 -0
  60. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/MANIFEST.in +0 -0
  61. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/__init__.py +0 -0
  62. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/__main__.py +0 -0
  63. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/cli.py +0 -0
  64. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/__init__.py +0 -0
  65. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/llm.py +0 -0
  66. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/__init__.py +0 -0
  67. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/simple_phi_user.j2 +0 -0
  68. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/three_pass_system.j2 +0 -0
  69. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompt_templates/three_pass_user.j2 +0 -0
  70. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/prompts.py +0 -0
  71. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/providers/__init__.py +0 -0
  72. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/providers/base.py +0 -0
  73. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/providers/claude.py +0 -0
  74. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/providers/dashscope.py +0 -0
  75. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/providers/gemini.py +0 -0
  76. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/providers/ollama.py +0 -0
  77. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/render.py +0 -0
  78. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/schema.py +0 -0
  79. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/schemas/__init__.py +0 -0
  80. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/schemas/three_pass_schema.json +0 -0
  81. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/templates/__init__.py +0 -0
  82. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/templates/three_pass.md.j2 +0 -0
  83. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/utils.py +0 -0
  84. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/__init__.py +0 -0
  85. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/constants.py +0 -0
  86. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/filters.py +0 -0
  87. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/handlers/__init__.py +0 -0
  88. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/handlers/api.py +0 -0
  89. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/handlers/pages.py +0 -0
  90. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/markdown.py +0 -0
  91. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/LICENSE +0 -0
  92. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js +0 -0
  93. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js.map +0 -0
  94. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js +0 -0
  95. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js.map +0 -0
  96. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js +0 -0
  97. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js.map +0 -0
  98. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
  99. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
  100. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-H.bcmap +0 -0
  101. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
  102. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
  103. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-V.bcmap +0 -0
  104. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
  105. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
  106. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
  107. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
  108. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
  109. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
  110. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
  111. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
  112. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
  113. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-H.bcmap +0 -0
  114. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
  115. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
  116. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-V.bcmap +0 -0
  117. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
  118. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
  119. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
  120. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
  121. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
  122. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
  123. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
  124. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  125. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
  126. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
  127. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
  128. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
  129. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
  130. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
  131. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  132. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
  133. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
  134. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
  135. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
  136. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
  137. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
  138. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
  139. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  140. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
  141. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
  142. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
  143. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  144. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-H.bcmap +0 -0
  145. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-V.bcmap +0 -0
  146. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
  147. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
  148. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
  149. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
  150. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
  151. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
  152. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
  153. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-V.bcmap +0 -0
  154. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
  155. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
  156. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
  157. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
  158. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-H.bcmap +0 -0
  159. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
  160. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
  161. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
  162. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
  163. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
  164. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
  165. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
  166. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
  167. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
  168. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-H.bcmap +0 -0
  169. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-V.bcmap +0 -0
  170. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
  171. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
  172. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
  173. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
  174. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
  175. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
  176. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
  177. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
  178. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
  179. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
  180. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
  181. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
  182. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
  183. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
  184. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/H.bcmap +0 -0
  185. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
  186. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
  187. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
  188. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
  189. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
  190. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
  191. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
  192. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
  193. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
  194. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
  195. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
  196. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
  197. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
  198. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
  199. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
  200. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
  201. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
  202. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
  203. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
  204. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
  205. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
  206. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  207. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  208. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
  209. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
  210. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
  211. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Katakana.bcmap +0 -0
  212. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/LICENSE +0 -0
  213. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
  214. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
  215. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
  216. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
  217. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Roman.bcmap +0 -0
  218. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  219. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  220. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  221. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  222. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  223. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  224. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  225. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  226. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
  227. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
  228. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
  229. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
  230. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
  231. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
  232. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
  233. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
  234. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  235. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  236. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  237. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  238. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  239. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  240. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  241. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  242. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  243. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  244. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  245. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  246. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  247. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  248. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  249. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  250. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  251. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  252. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  253. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  254. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  255. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  256. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  257. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
  258. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
  259. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
  260. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
  261. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
  262. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
  263. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
  264. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
  265. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/V.bcmap +0 -0
  266. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
  267. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/compressed.tracemonkey-pldi-09.pdf +0 -0
  268. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.css +0 -0
  269. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.js +0 -0
  270. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_add.svg +0 -0
  271. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_done.svg +0 -0
  272. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-check.svg +0 -0
  273. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-comment.svg +0 -0
  274. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-help.svg +0 -0
  275. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-insert.svg +0 -0
  276. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-key.svg +0 -0
  277. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-newparagraph.svg +0 -0
  278. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-noicon.svg +0 -0
  279. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-note.svg +0 -0
  280. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paperclip.svg +0 -0
  281. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paragraph.svg +0 -0
  282. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-pushpin.svg +0 -0
  283. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorFreeText.svg +0 -0
  284. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorInk.svg +0 -0
  285. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-next.svg +0 -0
  286. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-previous.svg +0 -0
  287. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-download.svg +0 -0
  288. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-openinapp.svg +0 -0
  289. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-dark.svg +0 -0
  290. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-icon.gif +0 -0
  291. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading.svg +0 -0
  292. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg +0 -0
  293. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-firstPage.svg +0 -0
  294. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-handTool.svg +0 -0
  295. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-lastPage.svg +0 -0
  296. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg +0 -0
  297. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg +0 -0
  298. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg +0 -0
  299. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg +0 -0
  300. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg +0 -0
  301. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg +0 -0
  302. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-selectTool.svg +0 -0
  303. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg +0 -0
  304. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg +0 -0
  305. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg +0 -0
  306. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-bookmark.svg +0 -0
  307. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-currentOutlineItem.svg +0 -0
  308. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-download.svg +0 -0
  309. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorFreeText.svg +0 -0
  310. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorInk.svg +0 -0
  311. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorStamp.svg +0 -0
  312. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-menuArrow.svg +0 -0
  313. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-openFile.svg +0 -0
  314. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageDown.svg +0 -0
  315. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageUp.svg +0 -0
  316. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-presentationMode.svg +0 -0
  317. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-print.svg +0 -0
  318. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-search.svg +0 -0
  319. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg +0 -0
  320. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-sidebarToggle.svg +0 -0
  321. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewAttachments.svg +0 -0
  322. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewLayers.svg +0 -0
  323. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewOutline.svg +0 -0
  324. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewThumbnail.svg +0 -0
  325. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomIn.svg +0 -0
  326. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomOut.svg +0 -0
  327. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-collapsed.svg +0 -0
  328. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-expanded.svg +0 -0
  329. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ach/viewer.properties +0 -0
  330. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/af/viewer.properties +0 -0
  331. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/an/viewer.properties +0 -0
  332. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ar/viewer.properties +0 -0
  333. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ast/viewer.properties +0 -0
  334. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/az/viewer.properties +0 -0
  335. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/be/viewer.properties +0 -0
  336. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bg/viewer.properties +0 -0
  337. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bn/viewer.properties +0 -0
  338. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bo/viewer.properties +0 -0
  339. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/br/viewer.properties +0 -0
  340. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/brx/viewer.properties +0 -0
  341. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bs/viewer.properties +0 -0
  342. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ca/viewer.properties +0 -0
  343. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cak/viewer.properties +0 -0
  344. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ckb/viewer.properties +0 -0
  345. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cs/viewer.properties +0 -0
  346. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cy/viewer.properties +0 -0
  347. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/da/viewer.properties +0 -0
  348. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/de/viewer.properties +0 -0
  349. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/dsb/viewer.properties +0 -0
  350. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/el/viewer.properties +0 -0
  351. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-CA/viewer.properties +0 -0
  352. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-GB/viewer.properties +0 -0
  353. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-US/viewer.properties +0 -0
  354. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eo/viewer.properties +0 -0
  355. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-AR/viewer.properties +0 -0
  356. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-CL/viewer.properties +0 -0
  357. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-ES/viewer.properties +0 -0
  358. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-MX/viewer.properties +0 -0
  359. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/et/viewer.properties +0 -0
  360. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eu/viewer.properties +0 -0
  361. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fa/viewer.properties +0 -0
  362. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ff/viewer.properties +0 -0
  363. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fi/viewer.properties +0 -0
  364. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fr/viewer.properties +0 -0
  365. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fur/viewer.properties +0 -0
  366. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fy-NL/viewer.properties +0 -0
  367. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ga-IE/viewer.properties +0 -0
  368. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gd/viewer.properties +0 -0
  369. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gl/viewer.properties +0 -0
  370. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gn/viewer.properties +0 -0
  371. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gu-IN/viewer.properties +0 -0
  372. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/he/viewer.properties +0 -0
  373. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hi-IN/viewer.properties +0 -0
  374. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hr/viewer.properties +0 -0
  375. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hsb/viewer.properties +0 -0
  376. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hu/viewer.properties +0 -0
  377. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hy-AM/viewer.properties +0 -0
  378. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hye/viewer.properties +0 -0
  379. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ia/viewer.properties +0 -0
  380. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/id/viewer.properties +0 -0
  381. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/is/viewer.properties +0 -0
  382. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/it/viewer.properties +0 -0
  383. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ja/viewer.properties +0 -0
  384. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ka/viewer.properties +0 -0
  385. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kab/viewer.properties +0 -0
  386. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kk/viewer.properties +0 -0
  387. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/km/viewer.properties +0 -0
  388. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kn/viewer.properties +0 -0
  389. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ko/viewer.properties +0 -0
  390. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lij/viewer.properties +0 -0
  391. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lo/viewer.properties +0 -0
  392. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/locale.properties +0 -0
  393. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lt/viewer.properties +0 -0
  394. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ltg/viewer.properties +0 -0
  395. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lv/viewer.properties +0 -0
  396. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/meh/viewer.properties +0 -0
  397. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mk/viewer.properties +0 -0
  398. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mr/viewer.properties +0 -0
  399. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ms/viewer.properties +0 -0
  400. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/my/viewer.properties +0 -0
  401. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nb-NO/viewer.properties +0 -0
  402. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ne-NP/viewer.properties +0 -0
  403. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nl/viewer.properties +0 -0
  404. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nn-NO/viewer.properties +0 -0
  405. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/oc/viewer.properties +0 -0
  406. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pa-IN/viewer.properties +0 -0
  407. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pl/viewer.properties +0 -0
  408. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-BR/viewer.properties +0 -0
  409. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-PT/viewer.properties +0 -0
  410. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/rm/viewer.properties +0 -0
  411. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ro/viewer.properties +0 -0
  412. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ru/viewer.properties +0 -0
  413. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sat/viewer.properties +0 -0
  414. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sc/viewer.properties +0 -0
  415. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/scn/viewer.properties +0 -0
  416. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sco/viewer.properties +0 -0
  417. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/si/viewer.properties +0 -0
  418. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sk/viewer.properties +0 -0
  419. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/skr/viewer.properties +0 -0
  420. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sl/viewer.properties +0 -0
  421. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/son/viewer.properties +0 -0
  422. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sq/viewer.properties +0 -0
  423. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sr/viewer.properties +0 -0
  424. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sv-SE/viewer.properties +0 -0
  425. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/szl/viewer.properties +0 -0
  426. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ta/viewer.properties +0 -0
  427. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/te/viewer.properties +0 -0
  428. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tg/viewer.properties +0 -0
  429. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/th/viewer.properties +0 -0
  430. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tl/viewer.properties +0 -0
  431. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tr/viewer.properties +0 -0
  432. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/trs/viewer.properties +0 -0
  433. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uk/viewer.properties +0 -0
  434. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ur/viewer.properties +0 -0
  435. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uz/viewer.properties +0 -0
  436. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/vi/viewer.properties +0 -0
  437. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/wo/viewer.properties +0 -0
  438. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/xh/viewer.properties +0 -0
  439. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-CN/viewer.properties +0 -0
  440. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-TW/viewer.properties +0 -0
  441. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitDingbats.pfb +0 -0
  442. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixed.pfb +0 -0
  443. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBold.pfb +0 -0
  444. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  445. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
  446. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerif.pfb +0 -0
  447. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBold.pfb +0 -0
  448. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  449. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
  450. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSymbol.pfb +0 -0
  451. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_FOXIT +0 -0
  452. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_LIBERATION +0 -0
  453. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
  454. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  455. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
  456. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
  457. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.css +0 -0
  458. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.html +0 -0
  459. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js +0 -0
  460. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js.map +0 -0
  461. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/query.py +0 -0
  462. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/static/css/main.css +0 -0
  463. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/static/js/detail.js +0 -0
  464. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/static/js/index.js +0 -0
  465. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/static/js/outline.js +0 -0
  466. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/static/js/stats.js +0 -0
  467. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/static_assets.py +0 -0
  468. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/templates/base.html +0 -0
  469. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/templates/detail.html +0 -0
  470. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/templates/index.html +0 -0
  471. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/templates/stats.html +0 -0
  472. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/templates.py +0 -0
  473. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/paper/web/text.py +0 -0
  474. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/recognize/__init__.py +0 -0
  475. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/recognize/katex_check.js +0 -0
  476. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/__init__.py +0 -0
  477. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/config.py +0 -0
  478. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/fixers.py +0 -0
  479. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/placeholder.py +0 -0
  480. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow/translator/segment.py +0 -0
  481. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow.egg-info/dependency_links.txt +0 -0
  482. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow.egg-info/entry_points.txt +0 -0
  483. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/python/deepresearch_flow.egg-info/top_level.txt +0 -0
  484. {deepresearch_flow-0.5.1 → deepresearch_flow-0.6.1}/setup.cfg +0 -0
@@ -0,0 +1,849 @@
1
+ Metadata-Version: 2.4
2
+ Name: deepresearch-flow
3
+ Version: 0.6.1
4
+ Summary: Workflow tools for paper extraction, review, and research automation.
5
+ Author-email: DengQi <dengqi935@gmail.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2025 DengQi
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://github.com/nerdneilsfield/ai-deepresearch-flow
29
+ Project-URL: Repository, https://github.com/nerdneilsfield/ai-deepresearch-flow
30
+ Project-URL: Issues, https://github.com/nerdneilsfield/ai-deepresearch-flow/issues
31
+ Keywords: research,papers,pdf,ocr,llm,workflow
32
+ Classifier: Development Status :: 3 - Alpha
33
+ Classifier: Intended Audience :: Science/Research
34
+ Classifier: License :: OSI Approved :: MIT License
35
+ Classifier: Programming Language :: Python :: 3
36
+ Classifier: Programming Language :: Python :: 3 :: Only
37
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
38
+ Requires-Python: >=3.12
39
+ Description-Content-Type: text/markdown
40
+ License-File: LICENSE
41
+ Requires-Dist: anthropic>=0.77.0
42
+ Requires-Dist: click>=8.1.7
43
+ Requires-Dist: coloredlogs>=15.0.1
44
+ Requires-Dist: dashscope>=1.25.10
45
+ Requires-Dist: google-auth>=2.48.0
46
+ Requires-Dist: google-genai>=1.60.0
47
+ Requires-Dist: httpx>=0.27.0
48
+ Requires-Dist: jinja2>=3.1.3
49
+ Requires-Dist: json-repair>=0.55.1
50
+ Requires-Dist: jsonschema>=4.26.0
51
+ Requires-Dist: markdown-it-py>=3.0.0
52
+ Requires-Dist: mdit-py-plugins>=0.4.0
53
+ Requires-Dist: pypdf>=6.6.2
54
+ Requires-Dist: pylatexenc>=2.10
55
+ Requires-Dist: pybtex>=0.24.0
56
+ Requires-Dist: rich>=14.3.1
57
+ Requires-Dist: rumdl>=0.1.6
58
+ Requires-Dist: starlette>=0.52.1
59
+ Requires-Dist: tqdm>=4.66.4
60
+ Requires-Dist: uvicorn>=0.27.1
61
+ Dynamic: license-file
62
+
63
+ <p align="center">
64
+ <img src=".github/assets/logo.png" width="140" alt="ai-deepresearch-flow logo" />
65
+ </p>
66
+
67
+ <h3 align="center">ai-deepresearch-flow</h3>
68
+
69
+ <p align="center">
70
+ <em>From documents to deep research insight — automatically.</em>
71
+ </p>
72
+
73
+ <p align="center">
74
+ <a href="README.md">English</a> | <a href="README_ZH.md">中文</a>
75
+ </p>
76
+
77
+ <p align="center">
78
+ <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/actions">
79
+ <img src="https://img.shields.io/github/actions/workflow/status/nerdneilsfield/ai-deepresearch-flow/push-to-pypi.yml?style=flat-square" />
80
+ </a>
81
+ <a href="https://pypi.org/project/deepresearch-flow/">
82
+ <img src="https://img.shields.io/pypi/v/deepresearch-flow?style=flat-square" />
83
+ </a>
84
+ <a href="https://pypi.org/project/deepresearch-flow/">
85
+ <img src="https://img.shields.io/pypi/pyversions/deepresearch-flow?style=flat-square" />
86
+ </a>
87
+ <a href="https://hub.docker.com/r/nerdneils/deepresearch-flow">
88
+ <img src="https://img.shields.io/docker/v/nerdneils/deepresearch-flow?style=flat-square" />
89
+ </a>
90
+ <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/pkgs/container/deepresearch-flow">
91
+ <img src="https://img.shields.io/badge/ghcr.io-nerdneilsfield%2Fdeepresearch-flow-0f172a?style=flat-square" />
92
+ </a>
93
+ <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/blob/main/LICENSE">
94
+ <img src="https://img.shields.io/github/license/nerdneilsfield/ai-deepresearch-flow?style=flat-square" />
95
+ </a>
96
+ <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/stargazers">
97
+ <img src="https://img.shields.io/github/stars/nerdneilsfield/ai-deepresearch-flow?style=flat-square" />
98
+ </a>
99
+ <a href="https://pypi.org/project/deepresearch-flow">
100
+ <img alt="PyPI - Version" src="https://img.shields.io/pypi/v/deepresearch-flow">
101
+ </a>
102
+ <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/issues">
103
+ <img src="https://img.shields.io/github/issues/nerdneilsfield/ai-deepresearch-flow?style=flat-square" />
104
+ </a>
105
+ </p>
106
+
107
+ ---
108
+
109
+ ## The Core Pain Points
110
+
111
+ - **OCR Chaos**: Raw markdown from OCR tools is often broken -- tables drift, formulas break, and references are non-clickable.
112
+ - **Translation Nightmares**: Translating technical papers often destroys code blocks, LaTeX formulas, and table structures.
113
+ - **Information Overload**: Extracting structured insights (authors, venues, summaries) from hundreds of PDFs manually is impossible.
114
+ - **Context Switching**: Managing PDFs, summaries, and translations in different windows kills focus.
115
+
116
+ ## The Solution
117
+
118
+ DeepResearch Flow provides a unified pipeline to **Repair**, **Translate**, **Extract**, and **Serve** your research library.
119
+
120
+ ## Key Features
121
+
122
+ - **Smart Extraction**: Turn unstructured Markdown into schema-enforced JSON (summaries, metadata, Q&A) using LLMs (OpenAI, Claude, Gemini, etc.).
123
+ - **Precision Translation**: Translate OCR Markdown to Chinese/Japanese (`.zh.md`, `.ja.md`) while **freezing** formulas, code, tables, and references. No more broken layout.
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
+ - **Snapshot + API Serve**: Build a production-ready SQLite snapshot with static assets, then serve a read-only JSON API for a separate frontend.
126
+ - **Coverage Compare**: Compare JSON/PDF/Markdown/Translated datasets to find missing artifacts and export CSV reports.
127
+ - **Matched Export**: Extract matched JSON or translated Markdown after coverage checks.
128
+ - **OCR Post-Processing**: Automatically fix broken references (`[1]` -> `[^1]`), merge split paragraphs, and standardize layouts.
129
+
130
+ ---
131
+
132
+ ## Quick Start
133
+
134
+ ### 1) Installation
135
+
136
+ ```bash
137
+ # Recommended: using uv for speed
138
+ uv pip install deepresearch-flow
139
+
140
+ # Or standard pip
141
+ pip install deepresearch-flow
142
+ ```
143
+
144
+ ### 2) Configuration
145
+
146
+ Set up your LLM providers. We support OpenAI, Claude, Gemini, Ollama, and more.
147
+
148
+ ```bash
149
+ cp config.example.toml config.toml
150
+ # Edit config.toml to add your API keys (e.g., env:OPENAI_API_KEY)
151
+ ```
152
+
153
+ Multiple keys per provider are supported. Keys rotate per request and enter a short cooldown on retryable errors.
154
+ You can also provide quota metadata per key:
155
+
156
+ ```toml
157
+ api_keys = [
158
+ "env:OPENAI_API_KEY",
159
+ { key = "env:OPENAI_API_KEY_2", quota_duration = 18000, reset_time = "2026-01-23 18:04:25 +0800 CST", quota_error_tokens = ["exceed", "quota"] }
160
+ ]
161
+ ```
162
+
163
+ ### 3) The "Zero to Hero" Workflow
164
+
165
+ #### Step 1: Extract Insights
166
+
167
+ Scan a folder of markdown files and extract structured summaries.
168
+
169
+ ```bash
170
+ uv run deepresearch-flow paper extract \
171
+ --input ./docs \
172
+ --model openai/gpt-4o-mini \
173
+ --prompt-template deep_read
174
+ ```
175
+
176
+ <p align="center">
177
+ <img src=".github/assets/extract.png" width="70%" alt="extract" />
178
+ </p>
179
+
180
+ #### Step 1.1: Verify & Retry Missing Fields
181
+
182
+ Validate extracted JSON against the template schema and retry only the missing items.
183
+
184
+ ```bash
185
+ uv run deepresearch-flow paper db verify \
186
+ --input-json ./paper_infos.json \
187
+ --prompt-template deep_read \
188
+ --output-json ./paper_verify.json
189
+
190
+ uv run deepresearch-flow paper extract \
191
+ --input ./docs \
192
+ --model openai/gpt-4o-mini \
193
+ --prompt-template deep_read \
194
+ --retry-list-json ./paper_verify.json
195
+ ```
196
+
197
+ <p align="center">
198
+ <img src=".github/assets/verify.png" width="70%" alt="verify" />
199
+ </p>
200
+
201
+ #### Step 2: Translate Safely
202
+
203
+ Translate papers to Chinese, protecting LaTeX and tables.
204
+
205
+ ```bash
206
+ uv run deepresearch-flow translator translate \
207
+ --input ./docs \
208
+ --target-lang zh \
209
+ --model openai/gpt-4o-mini \
210
+ --fix-level moderate
211
+ ```
212
+
213
+ #### Step 3: Repair OCR Outputs (Recommended)
214
+
215
+ Recommended sequence to stabilize markdown before serving:
216
+
217
+ ```bash
218
+ # 1) Fix OCR markdown (auto-detects JSON if inputs are .json)
219
+ uv run deepresearch-flow recognize fix \
220
+ --input ./docs \
221
+ --in-place
222
+ ```
223
+
224
+ <p align="center">
225
+ <img src=".github/assets/fix.png" width="70%" alt="fix" />
226
+ </p>
227
+
228
+ ```bash
229
+ # 2) Fix LaTeX formulas
230
+ uv run deepresearch-flow recognize fix-math \
231
+ --input ./docs \
232
+ --model openai/gpt-4o-mini \
233
+ --in-place
234
+ ```
235
+
236
+ <p align="center">
237
+ <img src=".github/assets/fix-math.png" width="70%" alt="fix math" />
238
+ </p>
239
+
240
+ ```bash
241
+ # 3) Fix Mermaid diagrams
242
+ uv run deepresearch-flow recognize fix-mermaid \
243
+ --input ./paper_outputs \
244
+ --json \
245
+ --model openai/gpt-4o-mini \
246
+ --in-place
247
+ ```
248
+
249
+ <p align="center">
250
+ <img src=".github/assets/fix-mermaid.png" width="70%" alt="fix mermaid" />
251
+ </p>
252
+
253
+ ```bash
254
+ # (optional) Retry failed formulas/diagrams only
255
+ uv run deepresearch-flow recognize fix-math \
256
+ --input ./docs \
257
+ --model openai/gpt-4o-mini \
258
+ --retry-failed
259
+
260
+ uv run deepresearch-flow recognize fix-mermaid \
261
+ --input ./paper_outputs \
262
+ --json \
263
+ --model openai/gpt-4o-mini \
264
+ --retry-failed
265
+ ```
266
+
267
+ <p align="center">
268
+ <img src=".github/assets/fix-retry-failed.png" width="70%" alt="fix retry failed" />
269
+ </p>
270
+
271
+ ```bash
272
+ # 4) Fix again to normalize formatting
273
+ uv run deepresearch-flow recognize fix \
274
+ --input ./docs \
275
+ --in-place
276
+ ```
277
+
278
+ #### Step 4: Serve Your Database
279
+
280
+ Launch a local UI to read and manage your papers.
281
+
282
+ ```bash
283
+ uv run deepresearch-flow paper db serve \
284
+ --input paper_infos.json \
285
+ --md-root ./docs \
286
+ --md-translated-root ./docs \
287
+ --host 127.0.0.1
288
+ ```
289
+
290
+ #### Step 4.5: Build Snapshot + Serve API + Frontend (Recommended)
291
+
292
+ Build a production snapshot (SQLite + static assets), serve a read-only API, and run the frontend.
293
+
294
+ ```bash
295
+ # 1) Build snapshot + static export
296
+ uv run deepresearch-flow paper db snapshot build \
297
+ --input ./paper_infos.json \
298
+ --bibtex ./papers.bib \
299
+ --md-root ./docs \
300
+ --md-translated-root ./docs \
301
+ --pdf-root ./pdfs \
302
+ --output-db ./dist/paper_snapshot.db \
303
+ --static-export-dir ./dist/paper-static
304
+
305
+ # 2) Serve static assets (CORS required for ZIP export)
306
+ npx http-server ./dist/paper-static -p 8002 --cors
307
+
308
+ # 3) Serve API (read-only)
309
+ PAPER_DB_STATIC_BASE_URL=http://127.0.0.1:8002 \
310
+ uv run deepresearch-flow paper db api serve \
311
+ --snapshot-db ./dist/paper_snapshot.db \
312
+ --cors-origin http://127.0.0.1:5173 \
313
+ --host 127.0.0.1 --port 8001
314
+
315
+ # 4) Run frontend
316
+ cd frontend
317
+ npm install
318
+ VITE_PAPER_DB_API_BASE=http://127.0.0.1:8001/api/v1 \
319
+ VITE_PAPER_DB_STATIC_BASE=http://127.0.0.1:8002 \
320
+ npm run dev
321
+ ```
322
+
323
+ ---
324
+
325
+ ## Incremental PDF Library Workflow
326
+
327
+ This workflow keeps a growing PDF library in sync without reprocessing everything.
328
+
329
+ ```bash
330
+ # 1) Compare processed JSON vs new PDF library to find missing PDFs
331
+ uv run deepresearch-flow paper db compare \
332
+ --input-a ./paper_infos.json \
333
+ --pdf-root-b ./pdfs_new \
334
+ --output-only-in-b ./pdfs_todo.txt
335
+
336
+ # 2) Stage the missing PDFs for OCR
337
+ uv run deepresearch-flow paper db transfer-pdfs \
338
+ --input-list ./pdfs_todo.txt \
339
+ --output-dir ./pdfs_todo \
340
+ --copy
341
+
342
+ # (optional) use --move instead of --copy
343
+ # uv run deepresearch-flow paper db transfer-pdfs --input-list ./pdfs_todo.txt --output-dir ./pdfs_todo --move
344
+
345
+ # 3) OCR the missing PDFs (use your OCR tool; write markdowns to ./md_todo)
346
+
347
+ # 4) Export matched existing assets against the new PDF library
348
+ uv run deepresearch-flow paper db extract \
349
+ --input-json ./paper_infos.json \
350
+ --pdf-root ./pdfs_new \
351
+ --output-json ./paper_infos_matched.json
352
+
353
+ uv run deepresearch-flow paper db extract \
354
+ --md-source-root ./mds \
355
+ --output-md-root ./mds_matched \
356
+ --pdf-root ./pdfs_new
357
+
358
+ uv run deepresearch-flow paper db extract \
359
+ --md-translated-root ./translated \
360
+ --output-md-translated-root ./translated_matched \
361
+ --pdf-root ./pdfs_new \
362
+ --lang zh
363
+
364
+ # 5) Translate + extract summaries for the new OCR markdowns
365
+ uv run deepresearch-flow translator translate \
366
+ --input ./md_todo \
367
+ --target-lang zh \
368
+ --model openai/gpt-4o-mini
369
+
370
+ uv run deepresearch-flow paper extract \
371
+ --input ./md_todo \
372
+ --model openai/gpt-4o-mini
373
+
374
+ # 6) Merge and serve the new library (multi-input)
375
+ uv run deepresearch-flow paper db serve \
376
+ --input ./paper_infos_matched.json \
377
+ --input ./paper_infos_new.json \
378
+ --md-root ./mds_matched \
379
+ --md-root ./md_todo \
380
+ --md-translated-root ./translated_matched \
381
+ --md-translated-root ./md_todo \
382
+ --pdf-root ./pdfs_new
383
+ ```
384
+
385
+ ## Merge Paper JSONs
386
+
387
+ ```bash
388
+ # Merge multiple libraries using the same template
389
+ uv run deepresearch-flow paper db merge library \
390
+ --inputs ./paper_infos_a.json \
391
+ --inputs ./paper_infos_b.json \
392
+ --output ./paper_infos_merged.json
393
+
394
+ # Merge multiple templates from the same library (first input wins on shared fields)
395
+ uv run deepresearch-flow paper db merge templates \
396
+ --inputs ./simple.json \
397
+ --inputs ./deep_read.json \
398
+ --output ./paper_infos_templates.json
399
+ ```
400
+
401
+ Note: `paper db merge` is now split into `merge library` and `merge templates`.
402
+
403
+ ### Merge multiple databases (PDF + Markdown + BibTeX)
404
+
405
+ ```bash
406
+ # 1) Copy PDFs into a single folder
407
+ rsync -av ./pdfs_a/ ./pdfs_merged/
408
+ rsync -av ./pdfs_b/ ./pdfs_merged/
409
+
410
+ # 2) Copy Markdown folders into a single folder
411
+ rsync -av ./md_a/ ./md_merged/
412
+ rsync -av ./md_b/ ./md_merged/
413
+
414
+ # 3) Merge JSON libraries
415
+ uv run deepresearch-flow paper db merge library \
416
+ --inputs ./paper_infos_a.json \
417
+ --inputs ./paper_infos_b.json \
418
+ --output ./paper_infos_merged.json
419
+
420
+ # 4) Merge BibTeX files
421
+ uv run deepresearch-flow paper db merge bibtex \
422
+ -i ./library_a.bib \
423
+ -i ./library_b.bib \
424
+ -o ./library_merged.bib
425
+ ```
426
+
427
+ ### Merge BibTeX files
428
+
429
+ ```bash
430
+ uv run deepresearch-flow paper db merge bibtex \
431
+ -i ./library_a.bib \
432
+ -i ./library_b.bib \
433
+ -o ./library_merged.bib
434
+ ```
435
+
436
+ Duplicate keys keep the entry with the most fields; ties keep the first input order.
437
+
438
+ ### Recommended: Merge templates then filter by BibTeX
439
+
440
+ ```bash
441
+ # 1) Merge templates for the same library
442
+ uv run deepresearch-flow paper db merge templates \
443
+ --inputs ./deep_read.json \
444
+ --inputs ./simple.json \
445
+ --output ./all.json
446
+
447
+ # 2) Filter the merged set with BibTeX
448
+ uv run deepresearch-flow paper db extract \
449
+ --input-bibtex ./library.bib \
450
+ --json ./all.json \
451
+ --output-json ./library_filtered.json \
452
+ --output-csv ./library_filtered.csv
453
+ ```
454
+
455
+ ## Deployment (Static CDN)
456
+
457
+ The recommended production setup is **front/back separation**:
458
+
459
+ - **Static CDN** hosts PDFs/Markdown/images/summaries.
460
+ - **API server** serves a read-only snapshot DB.
461
+ - **Frontend** is a separate static app (Vite build or any static host).
462
+
463
+ <p align="center">
464
+ <img src=".github/assets/frontend.png" width="80%" alt="frontend" />
465
+ </p>
466
+
467
+ ### 1) Build snapshot + static export
468
+
469
+ ```bash
470
+ uv run deepresearch-flow paper db snapshot build \
471
+ --input ./paper_infos.json \
472
+ --bibtex ./papers.bib \
473
+ --md-root ./docs \
474
+ --md-translated-root ./docs \
475
+ --pdf-root ./pdfs \
476
+ --output-db ./dist/paper_snapshot.db \
477
+ --static-export-dir /data/paper-static
478
+ ```
479
+
480
+ Notes:
481
+ - The build host must be able to read the original PDF/Markdown roots.
482
+ - The CDN only needs the exported directory (e.g. `/data/paper-static`).
483
+
484
+ ### 2) Serve static assets with CORS + cache headers (Caddy example)
485
+
486
+ ```caddyfile
487
+ :8002 {
488
+ root * /data/paper-static
489
+ encode zstd gzip
490
+
491
+ @static path /pdf/* /md/* /md_translate/* /images/*
492
+ header @static {
493
+ Access-Control-Allow-Origin *
494
+ Access-Control-Allow-Methods GET,HEAD,OPTIONS
495
+ Access-Control-Allow-Headers *
496
+ Cache-Control "public, max-age=31536000, immutable"
497
+ }
498
+
499
+ @options method OPTIONS
500
+ respond @options 204
501
+
502
+ file_server
503
+ }
504
+ ```
505
+
506
+ ### 2.1) Nginx example (API + frontend on one domain, static on another)
507
+
508
+ ```nginx
509
+ # Frontend + API (same domain)
510
+ server {
511
+ listen 80;
512
+ server_name frontend.example.com;
513
+
514
+ root /var/www/paper-frontend;
515
+ index index.html;
516
+
517
+ location / {
518
+ try_files $uri /index.html;
519
+ }
520
+
521
+ location /api/ {
522
+ proxy_pass http://127.0.0.1:8001/;
523
+ proxy_set_header Host $host;
524
+ proxy_set_header X-Real-IP $remote_addr;
525
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
526
+ }
527
+ }
528
+
529
+ # Static assets (separate domain)
530
+ server {
531
+ listen 80;
532
+ server_name static.example.com;
533
+
534
+ root /data/paper-static;
535
+
536
+ location / {
537
+ add_header Access-Control-Allow-Origin *;
538
+ add_header Access-Control-Allow-Methods "GET,HEAD,OPTIONS";
539
+ add_header Access-Control-Allow-Headers "*";
540
+ add_header Cache-Control "public, max-age=31536000, immutable";
541
+ try_files $uri =404;
542
+ }
543
+ }
544
+ ```
545
+
546
+ ### 3) Start the API server (read-only)
547
+
548
+ ```bash
549
+ export PAPER_DB_STATIC_BASE_URL="https://static.example.com"
550
+
551
+ uv run deepresearch-flow paper db api serve \
552
+ --snapshot-db /data/paper_snapshot.db \
553
+ --cors-origin https://frontend.example.com \
554
+ --host 0.0.0.0 --port 8001
555
+ ```
556
+
557
+ ### 4) Frontend (static build or dev)
558
+
559
+ ```bash
560
+ cd frontend
561
+ npm install
562
+
563
+ # Dev
564
+ VITE_PAPER_DB_API_BASE=https://api.example.com/api/v1 \
565
+ VITE_PAPER_DB_STATIC_BASE=https://static.example.com \
566
+ npm run dev
567
+
568
+ # Build for static hosting
569
+ VITE_PAPER_DB_API_BASE=https://api.example.com/api/v1 \
570
+ VITE_PAPER_DB_STATIC_BASE=https://static.example.com \
571
+ npm run build
572
+ ```
573
+
574
+ ---
575
+
576
+ ## Comprehensive Guide
577
+
578
+ <details>
579
+ <summary><strong>1. Translator: OCR-Safe Translation</strong></summary>
580
+
581
+ The translator module is built for scientific documents. It uses a node-based architecture to ensure stability.
582
+
583
+ - Structure Protection: automatically detects and "freezes" code blocks, LaTeX (`$$...$$`), HTML tables, and images before sending text to the LLM.
584
+ - OCR Repair: use `--fix-level` to merge broken paragraphs and convert text references (`[1]`) to clickable Markdown footnotes (`[^1]`).
585
+ - Context-Aware: supports retries for failed chunks and falls back gracefully.
586
+ - Group Concurrency: use `--group-concurrency` to run multiple translation groups in parallel per document.
587
+
588
+ ```bash
589
+ # Translate with structure protection and OCR repairs
590
+ uv run deepresearch-flow translator translate \
591
+ --input ./paper.md \
592
+ --target-lang ja \
593
+ --fix-level aggressive \
594
+ --group-concurrency 4 \
595
+ --model claude/claude-3-5-sonnet-20240620
596
+ ```
597
+
598
+ </details>
599
+
600
+ <details>
601
+ <summary><strong>2. Paper Extract: Structured Knowledge</strong></summary>
602
+
603
+ Turn loose markdown files into a queryable database.
604
+
605
+ - Templates: built-in prompts like `simple`, `eight_questions`, and `deep_read` guide the LLM to extract specific insights.
606
+ - Async and throttled: precise control over concurrency (`--max-concurrency`), rate limits (`--sleep-every`), and request timeout (`--timeout`).
607
+ - Incremental: skips already processed files; resumes from where you left off.
608
+ - Stage resume: multi-stage templates persist per-module outputs; use `--force-stage <name>` to rerun a module.
609
+ - Stage DAG: enable `--stage-dag` (or `extract.stage_dag = true`) for dependency-aware parallelism; DAG mode only passes dependency outputs to a stage and `--dry-run` prints the per-stage plan.
610
+ - Diagram hints: `deep_read` can emit inferred diagrams labeled `[Inferred]`; use `recognize fix-mermaid` on rendered markdown if needed.
611
+ - Stage focus: multi-stage runs emphasize the active module and summarize others to reduce context overload.
612
+ - Range filter: use `--start-idx/--end-idx` to slice inputs; range applies before `--retry-failed`/`--retry-failed-stages` (`--end-idx -1` = last item).
613
+ - Retry failed stages: use `--retry-failed-stages` to re-run only failed stages (multi-stage templates); missing stages are forced to run. Retry runs keep existing results and only update retried items.
614
+
615
+ ```bash
616
+ uv run deepresearch-flow paper extract \
617
+ --input ./library \
618
+ --output paper_data.json \
619
+ --template-dir ./my-custom-prompts \
620
+ --max-concurrency 10 \
621
+ --timeout 180
622
+
623
+ # Extract items 0..99, then retry only failed ones from that range
624
+ uv run deepresearch-flow paper extract \
625
+ --input ./library \
626
+ --start-idx 0 \
627
+ --end-idx 100 \
628
+ --retry-failed \
629
+ --model claude/claude-3-5-sonnet-20240620
630
+
631
+ # Retry only failed stages in multi-stage templates
632
+ uv run deepresearch-flow paper extract \
633
+ --input ./library \
634
+ --retry-failed-stages \
635
+ --model claude/claude-3-5-sonnet-20240620
636
+ ```
637
+
638
+ </details>
639
+
640
+ <details>
641
+ <summary><strong>4. Recognize Fix: Repair Math and Mermaid</strong></summary>
642
+
643
+ Fix broken LaTeX formulas and Mermaid diagrams in markdown or JSON outputs.
644
+
645
+ - Retry Failed: use `--retry-failed` with the prior `--report` output to reprocess only failed formulas/diagrams.
646
+
647
+ ```bash
648
+ uv run deepresearch-flow recognize fix-math \
649
+ --input ./docs \
650
+ --in-place \
651
+ --model claude/claude-3-5-sonnet-20240620 \
652
+ --report ./fix-math-errors.json \
653
+ --retry-failed
654
+
655
+ uv run deepresearch-flow recognize fix-mermaid \
656
+ --input ./docs \
657
+ --in-place \
658
+ --model claude/claude-3-5-sonnet-20240620 \
659
+ --report ./fix-mermaid-errors.json \
660
+ --retry-failed
661
+ ```
662
+
663
+ </details>
664
+
665
+ <details>
666
+ <summary><strong>3. Database and UI: Your Personal ArXiv</strong></summary>
667
+
668
+ The db serve command creates a local research station.
669
+
670
+ - Split View: read the original PDF/Markdown on the left and the Summary/Translation on the right.
671
+ - Full Text Search: search by title, author, year, or content tags (`tag:fpga year:2023..2024`).
672
+ - Stats: visualize publication trends and keyword frequencies.
673
+ - PDF Viewer: built-in PDF.js viewer prevents cross-origin issues with local files.
674
+
675
+ ```bash
676
+ uv run deepresearch-flow paper db serve \
677
+ --input paper_infos.json \
678
+ --pdf-root ./pdfs \
679
+ --cache-dir .cache/db
680
+ ```
681
+
682
+ </details>
683
+
684
+ <details>
685
+ <summary><strong>4. Paper DB Compare: Coverage Audit</strong></summary>
686
+
687
+ Compare two datasets (A/B) to find missing PDFs, markdowns, translations, or JSON items, with match metadata.
688
+
689
+ ```bash
690
+ uv run deepresearch-flow paper db compare \
691
+ --input-a ./a.json \
692
+ --md-root-b ./md_root \
693
+ --output-csv ./compare.csv
694
+
695
+ # Compare translated markdowns by language
696
+ uv run deepresearch-flow paper db compare \
697
+ --md-translated-root-a ./translated_a \
698
+ --md-translated-root-b ./translated_b \
699
+ --lang zh
700
+ ```
701
+
702
+ </details>
703
+
704
+ <details>
705
+ <summary><strong>5. Paper DB Extract: Matched Export</strong></summary>
706
+
707
+ Extract matched JSON entries or translated Markdown after coverage comparison.
708
+
709
+ ```bash
710
+ uv run deepresearch-flow paper db extract \
711
+ --json ./processed.json \
712
+ --input-bibtex ./refs.bib \
713
+ --pdf-root ./pdfs \
714
+ --output-json ./matched.json \
715
+ --output-csv ./extract.csv
716
+
717
+ # Use a JSON reference list to filter the target JSON
718
+ uv run deepresearch-flow paper db extract \
719
+ --json ./processed.json \
720
+ --input-json ./reference.json \
721
+ --pdf-root ./pdfs \
722
+ --output-json ./matched.json \
723
+ --output-csv ./extract.csv
724
+
725
+ # Extract translated markdowns by language
726
+ uv run deepresearch-flow paper db extract \
727
+ --md-root ./md_root \
728
+ --md-translated-root ./translated \
729
+ --lang zh \
730
+ --output-md-translated-root ./translated_matched \
731
+ --output-csv ./extract.csv
732
+ ```
733
+
734
+ </details>
735
+
736
+ <details>
737
+ <summary><strong>6. Recognize: OCR Post-Processing</strong></summary>
738
+
739
+ Tools to clean up raw outputs from OCR engines like MinerU.
740
+
741
+ - Embed Images: convert local image links to Base64 for a portable single-file Markdown.
742
+ - Unpack Images: extract Base64 images back to files.
743
+ - Organize: flatten nested OCR output directories.
744
+ - Fix: apply OCR fixes and rumdl formatting during organize, or as a standalone step.
745
+ - Fix JSON: apply the same fixes to markdown fields inside paper JSON outputs.
746
+ - Fix Math: validate and repair LaTeX formulas with optional LLM assistance.
747
+ - Fix Mermaid: validate and repair Mermaid diagrams (requires `mmdc` from mermaid-cli).
748
+ - Recommended order: `fix` -> `fix-math` -> `fix-mermaid` -> `fix`.
749
+
750
+ ```bash
751
+ uv run deepresearch-flow recognize md embed --input ./raw_ocr --output ./clean_md
752
+ ```
753
+
754
+ ```bash
755
+ # Organize MinerU output and apply OCR fixes
756
+ uv run deepresearch-flow recognize organize \
757
+ --input ./mineru_outputs \
758
+ --output-simple ./ocr_md \
759
+ --fix
760
+
761
+ # Fix and format existing markdown outputs
762
+ uv run deepresearch-flow recognize fix \
763
+ --input ./ocr_md \
764
+ --output ./ocr_md_fixed
765
+
766
+ # Fix in place
767
+ uv run deepresearch-flow recognize fix \
768
+ --input ./ocr_md \
769
+ --in-place
770
+
771
+ # Fix JSON outputs in place
772
+ uv run deepresearch-flow recognize fix \
773
+ --json \
774
+ --input ./paper_outputs \
775
+ --in-place
776
+
777
+ # Fix LaTeX formulas in markdown
778
+ uv run deepresearch-flow recognize fix-math \
779
+ --input ./docs \
780
+ --model openai/gpt-4o-mini \
781
+ --in-place
782
+
783
+ # Fix Mermaid diagrams in JSON outputs
784
+ uv run deepresearch-flow recognize fix-mermaid \
785
+ --json \
786
+ --input ./paper_outputs \
787
+ --model openai/gpt-4o-mini \
788
+ --in-place
789
+ ```
790
+
791
+ </details>
792
+
793
+ ---
794
+
795
+ ## Docker Support
796
+
797
+ Don't want to manage Python environments?
798
+
799
+ ```bash
800
+ docker run --rm -v $(pwd):/app -it ghcr.io/nerdneilsfield/deepresearch-flow:latest --help
801
+ ```
802
+
803
+ Deploy image (API + frontend via nginx):
804
+
805
+ ```bash
806
+ docker run --rm -p 8899:8899 \
807
+ -v $(pwd)/paper_snapshot.db:/db/papers.db \
808
+ -v $(pwd)/paper-static:/static \
809
+ ghcr.io/nerdneilsfield/deepresearch-flow:deploy-latest
810
+ ```
811
+
812
+ Notes:
813
+ - nginx listens on 8899 and proxies `/api` to the internal API at `127.0.0.1:8000`.
814
+ - Mount your snapshot DB to `/db/papers.db` inside the container.
815
+ - Mount snapshot static assets to `/static` when serving assets from this container (default `PAPER_DB_STATIC_BASE` is `/static`).
816
+ - 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.
817
+
818
+ Docker Compose example (two modes):
819
+
820
+ ```bash
821
+ docker compose -f scripts/docker/docker-compose.example.yml --profile local-static up
822
+ # or
823
+ docker compose -f scripts/docker/docker-compose.example.yml --profile external-static up
824
+ ```
825
+
826
+ External static assets example:
827
+
828
+ ```bash
829
+ docker run --rm -p 8899:8899 \
830
+ -v $(pwd)/paper_snapshot.db:/db/papers.db \
831
+ -e PAPER_DB_STATIC_BASE=https://static.example.com \
832
+ ghcr.io/nerdneilsfield/deepresearch-flow:deploy-latest
833
+ ```
834
+
835
+ ## Configuration
836
+
837
+ The config.toml is your control center. It supports:
838
+
839
+ - Multiple Providers: mix and match OpenAI, DeepSeek (DashScope), Gemini, Claude, and Ollama.
840
+ - Model Routing: explicit routing to specific models (`--model provider/model_name`).
841
+ - Environment Variables: keep secrets safe using `env:VAR_NAME` syntax.
842
+
843
+ See `config.example.toml` for a full reference.
844
+
845
+ ---
846
+
847
+ <p align="center">
848
+ Built with love for the Open Science community.
849
+ </p>