deepresearch-flow 0.4.1__tar.gz → 0.5.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 (472) hide show
  1. {deepresearch_flow-0.4.1/python/deepresearch_flow.egg-info → deepresearch_flow-0.5.1}/PKG-INFO +62 -2
  2. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/README.md +61 -1
  3. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/pyproject.toml +1 -1
  4. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/db.py +34 -0
  5. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/db_ops.py +21 -7
  6. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/deep_read_phi_user.j2 +391 -0
  7. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/eight_questions_phi_user.j2 +133 -0
  8. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/simple_phi_system.j2 +6 -0
  9. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/simple_phi_user.j2 +31 -0
  10. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/simple_system.j2 +6 -0
  11. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/three_pass_system.j2 +6 -0
  12. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/schemas/deep_read_phi_schema.json +30 -0
  13. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/template_registry.py +39 -0
  14. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/templates/deep_read_phi.md.j2 +40 -0
  15. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/web/app.py +199 -0
  16. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/constants.py +1 -0
  17. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/handlers/__init__.py +2 -1
  18. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/handlers/api.py +55 -0
  19. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/handlers/pages.py +105 -25
  20. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/markdown.py +230 -4
  21. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.html +57 -5
  22. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js +5 -1
  23. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/static/css/main.css +8 -1
  24. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/web/static/js/detail.js +809 -0
  25. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/web/static/js/outline.js +72 -0
  26. deepresearch_flow-0.5.1/python/deepresearch_flow/paper/web/static_assets.py +289 -0
  27. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/templates/detail.html +52 -66
  28. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/templates.py +7 -4
  29. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/text.py +8 -4
  30. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/recognize/organize.py +9 -12
  31. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/fixers.py +15 -0
  32. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1/python/deepresearch_flow.egg-info}/PKG-INFO +62 -2
  33. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow.egg-info/SOURCES.txt +9 -0
  34. deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/app.py +0 -94
  35. deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/static/js/detail.js +0 -406
  36. deepresearch_flow-0.4.1/python/deepresearch_flow/paper/web/static/js/outline.js +0 -58
  37. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/LICENSE +0 -0
  38. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/MANIFEST.in +0 -0
  39. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/__init__.py +0 -0
  40. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/__main__.py +0 -0
  41. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/cli.py +0 -0
  42. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/__init__.py +0 -0
  43. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/cli.py +0 -0
  44. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/config.py +0 -0
  45. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/extract.py +0 -0
  46. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/llm.py +0 -0
  47. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/prompt_templates/__init__.py +0 -0
  48. /deepresearch_flow-0.4.1/python/deepresearch_flow/paper/prompt_templates/deep_read_system.j2 → /deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/deep_read_phi_system.j2 +0 -0
  49. /deepresearch_flow-0.4.1/python/deepresearch_flow/paper/prompt_templates/eight_questions_system.j2 → /deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/deep_read_system.j2 +0 -0
  50. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/prompt_templates/deep_read_user.j2 +0 -0
  51. /deepresearch_flow-0.4.1/python/deepresearch_flow/paper/prompt_templates/simple_system.j2 → /deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/eight_questions_phi_system.j2 +0 -0
  52. /deepresearch_flow-0.4.1/python/deepresearch_flow/paper/prompt_templates/three_pass_system.j2 → /deepresearch_flow-0.5.1/python/deepresearch_flow/paper/prompt_templates/eight_questions_system.j2 +0 -0
  53. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/prompt_templates/eight_questions_user.j2 +0 -0
  54. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/prompt_templates/simple_user.j2 +0 -0
  55. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/prompt_templates/three_pass_user.j2 +0 -0
  56. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/prompts.py +0 -0
  57. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/providers/__init__.py +0 -0
  58. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/providers/azure_openai.py +0 -0
  59. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/providers/base.py +0 -0
  60. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/providers/claude.py +0 -0
  61. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/providers/dashscope.py +0 -0
  62. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/providers/gemini.py +0 -0
  63. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/providers/ollama.py +0 -0
  64. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/providers/openai_compatible.py +0 -0
  65. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/render.py +0 -0
  66. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/schema.py +0 -0
  67. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/schemas/__init__.py +0 -0
  68. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/schemas/deep_read_schema.json +0 -0
  69. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/schemas/default_paper_schema.json +0 -0
  70. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/schemas/eight_questions_schema.json +0 -0
  71. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/schemas/three_pass_schema.json +0 -0
  72. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/templates/__init__.py +0 -0
  73. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/templates/deep_read.md.j2 +0 -0
  74. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/templates/default_paper.md.j2 +0 -0
  75. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/templates/eight_questions.md.j2 +0 -0
  76. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/templates/three_pass.md.j2 +0 -0
  77. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/utils.py +0 -0
  78. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/__init__.py +0 -0
  79. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/filters.py +0 -0
  80. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/LICENSE +0 -0
  81. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js +0 -0
  82. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.js.map +0 -0
  83. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js +0 -0
  84. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.sandbox.js.map +0 -0
  85. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js +0 -0
  86. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/build/pdf.worker.js.map +0 -0
  87. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-H.bcmap +0 -0
  88. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-EUC-V.bcmap +0 -0
  89. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-H.bcmap +0 -0
  90. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-H.bcmap +0 -0
  91. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-RKSJ-V.bcmap +0 -0
  92. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78-V.bcmap +0 -0
  93. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
  94. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
  95. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
  96. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
  97. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
  98. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
  99. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
  100. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
  101. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
  102. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-H.bcmap +0 -0
  103. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-H.bcmap +0 -0
  104. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-RKSJ-V.bcmap +0 -0
  105. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Add-V.bcmap +0 -0
  106. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
  107. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
  108. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
  109. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
  110. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
  111. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
  112. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
  113. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  114. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-0.bcmap +0 -0
  115. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-1.bcmap +0 -0
  116. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-2.bcmap +0 -0
  117. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-3.bcmap +0 -0
  118. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-4.bcmap +0 -0
  119. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-5.bcmap +0 -0
  120. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  121. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
  122. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
  123. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
  124. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
  125. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
  126. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
  127. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
  128. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  129. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
  130. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
  131. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
  132. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  133. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-H.bcmap +0 -0
  134. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5-V.bcmap +0 -0
  135. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-H.bcmap +0 -0
  136. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/B5pc-V.bcmap +0 -0
  137. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-H.bcmap +0 -0
  138. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS-EUC-V.bcmap +0 -0
  139. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-H.bcmap +0 -0
  140. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS1-V.bcmap +0 -0
  141. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-H.bcmap +0 -0
  142. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/CNS2-V.bcmap +0 -0
  143. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-H.bcmap +0 -0
  144. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETHK-B5-V.bcmap +0 -0
  145. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-H.bcmap +0 -0
  146. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETen-B5-V.bcmap +0 -0
  147. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-H.bcmap +0 -0
  148. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/ETenms-B5-V.bcmap +0 -0
  149. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-H.bcmap +0 -0
  150. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/EUC-V.bcmap +0 -0
  151. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-H.bcmap +0 -0
  152. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
  153. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
  154. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Ext-V.bcmap +0 -0
  155. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-H.bcmap +0 -0
  156. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-EUC-V.bcmap +0 -0
  157. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-H.bcmap +0 -0
  158. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GB-V.bcmap +0 -0
  159. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-H.bcmap +0 -0
  160. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK-EUC-V.bcmap +0 -0
  161. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-H.bcmap +0 -0
  162. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBK2K-V.bcmap +0 -0
  163. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-H.bcmap +0 -0
  164. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBKp-EUC-V.bcmap +0 -0
  165. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-H.bcmap +0 -0
  166. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-EUC-V.bcmap +0 -0
  167. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-H.bcmap +0 -0
  168. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBT-V.bcmap +0 -0
  169. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
  170. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
  171. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-H.bcmap +0 -0
  172. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/GBpc-EUC-V.bcmap +0 -0
  173. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/H.bcmap +0 -0
  174. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-H.bcmap +0 -0
  175. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdla-B5-V.bcmap +0 -0
  176. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-H.bcmap +0 -0
  177. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKdlb-B5-V.bcmap +0 -0
  178. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-H.bcmap +0 -0
  179. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKgccs-B5-V.bcmap +0 -0
  180. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-H.bcmap +0 -0
  181. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm314-B5-V.bcmap +0 -0
  182. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-H.bcmap +0 -0
  183. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKm471-B5-V.bcmap +0 -0
  184. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-H.bcmap +0 -0
  185. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/HKscs-B5-V.bcmap +0 -0
  186. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hankaku.bcmap +0 -0
  187. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Hiragana.bcmap +0 -0
  188. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-H.bcmap +0 -0
  189. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-EUC-V.bcmap +0 -0
  190. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-H.bcmap +0 -0
  191. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-H.bcmap +0 -0
  192. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-Johab-V.bcmap +0 -0
  193. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSC-V.bcmap +0 -0
  194. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-H.bcmap +0 -0
  195. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  196. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  197. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCms-UHC-V.bcmap +0 -0
  198. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
  199. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
  200. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Katakana.bcmap +0 -0
  201. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/LICENSE +0 -0
  202. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-H.bcmap +0 -0
  203. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/NWP-V.bcmap +0 -0
  204. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-H.bcmap +0 -0
  205. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/RKSJ-V.bcmap +0 -0
  206. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/Roman.bcmap +0 -0
  207. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  208. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  209. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  210. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  211. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  212. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  213. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  214. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  215. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
  216. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
  217. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
  218. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
  219. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
  220. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
  221. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
  222. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
  223. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  224. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  225. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  226. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  227. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  228. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  229. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  230. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  231. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  232. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  233. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  234. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  235. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  236. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  237. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  238. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  239. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  240. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  241. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  242. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  243. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  244. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  245. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  246. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
  247. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
  248. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
  249. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
  250. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
  251. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
  252. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
  253. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
  254. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/V.bcmap +0 -0
  255. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/cmaps/WP-Symbol.bcmap +0 -0
  256. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/compressed.tracemonkey-pldi-09.pdf +0 -0
  257. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.css +0 -0
  258. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/debugger.js +0 -0
  259. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_add.svg +0 -0
  260. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/altText_done.svg +0 -0
  261. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-check.svg +0 -0
  262. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-comment.svg +0 -0
  263. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-help.svg +0 -0
  264. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-insert.svg +0 -0
  265. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-key.svg +0 -0
  266. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-newparagraph.svg +0 -0
  267. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-noicon.svg +0 -0
  268. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-note.svg +0 -0
  269. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paperclip.svg +0 -0
  270. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-paragraph.svg +0 -0
  271. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/annotation-pushpin.svg +0 -0
  272. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorFreeText.svg +0 -0
  273. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/cursor-editorInk.svg +0 -0
  274. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-next.svg +0 -0
  275. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/findbarButton-previous.svg +0 -0
  276. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-download.svg +0 -0
  277. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/gv-toolbarButton-openinapp.svg +0 -0
  278. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-dark.svg +0 -0
  279. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading-icon.gif +0 -0
  280. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/loading.svg +0 -0
  281. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg +0 -0
  282. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-firstPage.svg +0 -0
  283. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-handTool.svg +0 -0
  284. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-lastPage.svg +0 -0
  285. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg +0 -0
  286. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg +0 -0
  287. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg +0 -0
  288. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollPage.svg +0 -0
  289. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg +0 -0
  290. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg +0 -0
  291. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-selectTool.svg +0 -0
  292. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg +0 -0
  293. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg +0 -0
  294. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg +0 -0
  295. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-bookmark.svg +0 -0
  296. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-currentOutlineItem.svg +0 -0
  297. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-download.svg +0 -0
  298. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorFreeText.svg +0 -0
  299. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorInk.svg +0 -0
  300. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-editorStamp.svg +0 -0
  301. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-menuArrow.svg +0 -0
  302. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-openFile.svg +0 -0
  303. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageDown.svg +0 -0
  304. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-pageUp.svg +0 -0
  305. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-presentationMode.svg +0 -0
  306. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-print.svg +0 -0
  307. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-search.svg +0 -0
  308. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg +0 -0
  309. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-sidebarToggle.svg +0 -0
  310. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewAttachments.svg +0 -0
  311. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewLayers.svg +0 -0
  312. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewOutline.svg +0 -0
  313. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-viewThumbnail.svg +0 -0
  314. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomIn.svg +0 -0
  315. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/toolbarButton-zoomOut.svg +0 -0
  316. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-collapsed.svg +0 -0
  317. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/images/treeitem-expanded.svg +0 -0
  318. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ach/viewer.properties +0 -0
  319. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/af/viewer.properties +0 -0
  320. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/an/viewer.properties +0 -0
  321. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ar/viewer.properties +0 -0
  322. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ast/viewer.properties +0 -0
  323. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/az/viewer.properties +0 -0
  324. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/be/viewer.properties +0 -0
  325. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bg/viewer.properties +0 -0
  326. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bn/viewer.properties +0 -0
  327. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bo/viewer.properties +0 -0
  328. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/br/viewer.properties +0 -0
  329. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/brx/viewer.properties +0 -0
  330. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/bs/viewer.properties +0 -0
  331. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ca/viewer.properties +0 -0
  332. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cak/viewer.properties +0 -0
  333. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ckb/viewer.properties +0 -0
  334. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cs/viewer.properties +0 -0
  335. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/cy/viewer.properties +0 -0
  336. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/da/viewer.properties +0 -0
  337. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/de/viewer.properties +0 -0
  338. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/dsb/viewer.properties +0 -0
  339. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/el/viewer.properties +0 -0
  340. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-CA/viewer.properties +0 -0
  341. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-GB/viewer.properties +0 -0
  342. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/en-US/viewer.properties +0 -0
  343. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eo/viewer.properties +0 -0
  344. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-AR/viewer.properties +0 -0
  345. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-CL/viewer.properties +0 -0
  346. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-ES/viewer.properties +0 -0
  347. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/es-MX/viewer.properties +0 -0
  348. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/et/viewer.properties +0 -0
  349. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/eu/viewer.properties +0 -0
  350. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fa/viewer.properties +0 -0
  351. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ff/viewer.properties +0 -0
  352. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fi/viewer.properties +0 -0
  353. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fr/viewer.properties +0 -0
  354. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fur/viewer.properties +0 -0
  355. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/fy-NL/viewer.properties +0 -0
  356. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ga-IE/viewer.properties +0 -0
  357. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gd/viewer.properties +0 -0
  358. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gl/viewer.properties +0 -0
  359. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gn/viewer.properties +0 -0
  360. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/gu-IN/viewer.properties +0 -0
  361. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/he/viewer.properties +0 -0
  362. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hi-IN/viewer.properties +0 -0
  363. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hr/viewer.properties +0 -0
  364. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hsb/viewer.properties +0 -0
  365. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hu/viewer.properties +0 -0
  366. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hy-AM/viewer.properties +0 -0
  367. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/hye/viewer.properties +0 -0
  368. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ia/viewer.properties +0 -0
  369. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/id/viewer.properties +0 -0
  370. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/is/viewer.properties +0 -0
  371. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/it/viewer.properties +0 -0
  372. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ja/viewer.properties +0 -0
  373. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ka/viewer.properties +0 -0
  374. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kab/viewer.properties +0 -0
  375. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kk/viewer.properties +0 -0
  376. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/km/viewer.properties +0 -0
  377. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/kn/viewer.properties +0 -0
  378. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ko/viewer.properties +0 -0
  379. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lij/viewer.properties +0 -0
  380. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lo/viewer.properties +0 -0
  381. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/locale.properties +0 -0
  382. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lt/viewer.properties +0 -0
  383. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ltg/viewer.properties +0 -0
  384. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/lv/viewer.properties +0 -0
  385. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/meh/viewer.properties +0 -0
  386. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mk/viewer.properties +0 -0
  387. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/mr/viewer.properties +0 -0
  388. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ms/viewer.properties +0 -0
  389. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/my/viewer.properties +0 -0
  390. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nb-NO/viewer.properties +0 -0
  391. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ne-NP/viewer.properties +0 -0
  392. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nl/viewer.properties +0 -0
  393. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/nn-NO/viewer.properties +0 -0
  394. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/oc/viewer.properties +0 -0
  395. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pa-IN/viewer.properties +0 -0
  396. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pl/viewer.properties +0 -0
  397. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-BR/viewer.properties +0 -0
  398. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/pt-PT/viewer.properties +0 -0
  399. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/rm/viewer.properties +0 -0
  400. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ro/viewer.properties +0 -0
  401. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ru/viewer.properties +0 -0
  402. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sat/viewer.properties +0 -0
  403. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sc/viewer.properties +0 -0
  404. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/scn/viewer.properties +0 -0
  405. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sco/viewer.properties +0 -0
  406. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/si/viewer.properties +0 -0
  407. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sk/viewer.properties +0 -0
  408. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/skr/viewer.properties +0 -0
  409. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sl/viewer.properties +0 -0
  410. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/son/viewer.properties +0 -0
  411. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sq/viewer.properties +0 -0
  412. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sr/viewer.properties +0 -0
  413. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/sv-SE/viewer.properties +0 -0
  414. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/szl/viewer.properties +0 -0
  415. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ta/viewer.properties +0 -0
  416. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/te/viewer.properties +0 -0
  417. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tg/viewer.properties +0 -0
  418. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/th/viewer.properties +0 -0
  419. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tl/viewer.properties +0 -0
  420. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/tr/viewer.properties +0 -0
  421. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/trs/viewer.properties +0 -0
  422. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uk/viewer.properties +0 -0
  423. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/ur/viewer.properties +0 -0
  424. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/uz/viewer.properties +0 -0
  425. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/vi/viewer.properties +0 -0
  426. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/wo/viewer.properties +0 -0
  427. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/xh/viewer.properties +0 -0
  428. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-CN/viewer.properties +0 -0
  429. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/locale/zh-TW/viewer.properties +0 -0
  430. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitDingbats.pfb +0 -0
  431. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixed.pfb +0 -0
  432. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBold.pfb +0 -0
  433. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  434. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
  435. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerif.pfb +0 -0
  436. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBold.pfb +0 -0
  437. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  438. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
  439. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/FoxitSymbol.pfb +0 -0
  440. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_FOXIT +0 -0
  441. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LICENSE_LIBERATION +0 -0
  442. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
  443. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  444. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
  445. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
  446. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.css +0 -0
  447. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/pdfjs/web/viewer.js.map +0 -0
  448. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/query.py +0 -0
  449. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/static/js/index.js +0 -0
  450. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/static/js/stats.js +0 -0
  451. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/templates/base.html +0 -0
  452. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/templates/index.html +0 -0
  453. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/paper/web/templates/stats.html +0 -0
  454. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/recognize/__init__.py +0 -0
  455. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/recognize/cli.py +0 -0
  456. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/recognize/katex_check.js +0 -0
  457. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/recognize/markdown.py +0 -0
  458. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/recognize/math.py +0 -0
  459. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/recognize/mermaid.py +0 -0
  460. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/__init__.py +0 -0
  461. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/cli.py +0 -0
  462. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/config.py +0 -0
  463. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/engine.py +0 -0
  464. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/placeholder.py +0 -0
  465. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/prompts.py +0 -0
  466. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/protector.py +0 -0
  467. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow/translator/segment.py +0 -0
  468. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow.egg-info/dependency_links.txt +0 -0
  469. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow.egg-info/entry_points.txt +0 -0
  470. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow.egg-info/requires.txt +0 -0
  471. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/python/deepresearch_flow.egg-info/top_level.txt +0 -0
  472. {deepresearch_flow-0.4.1 → deepresearch_flow-0.5.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepresearch-flow
3
- Version: 0.4.1
3
+ Version: 0.5.1
4
4
  Summary: Workflow tools for paper extraction, review, and research automation.
5
5
  Author-email: DengQi <dengqi935@gmail.com>
6
6
  License: MIT License
@@ -87,7 +87,7 @@ Dynamic: license-file
87
87
  <a href="https://hub.docker.com/r/nerdneils/deepresearch-flow">
88
88
  <img src="https://img.shields.io/docker/v/nerdneils/deepresearch-flow?style=flat-square" />
89
89
  </a>
90
- <a href="https://ghcr.io/nerdneilsfield/deepresearch-flow">
90
+ <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/pkgs/container/deepresearch-flow">
91
91
  <img src="https://img.shields.io/badge/ghcr.io-nerdneilsfield%2Fdeepresearch-flow-0f172a?style=flat-square" />
92
92
  </a>
93
93
  <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/blob/main/LICENSE">
@@ -216,6 +216,66 @@ uv run deepresearch-flow paper db serve \
216
216
 
217
217
  ---
218
218
 
219
+ ## Deployment (Static CDN)
220
+
221
+ Use a separate static server (CDN) for PDFs/Markdown/images and keep the API/UI on another host.
222
+
223
+ ### 1) Export static assets
224
+
225
+ ```bash
226
+ uv run deepresearch-flow paper db serve \
227
+ --input paper_infos.json \
228
+ --md-root ./docs \
229
+ --md-translated-root ./docs \
230
+ --pdf-root ./pdfs \
231
+ --static-mode prod \
232
+ --static-base-url https://static.example.com \
233
+ --static-export-dir /data/paper-static
234
+ ```
235
+
236
+ Notes:
237
+ - The API host must be able to read the original PDF/Markdown roots to build the index and hashes.
238
+ - The CDN host only needs the exported directory (e.g. `/data/paper-static`).
239
+
240
+ ### 2) Serve the export directory with CORS + cache headers (Caddy example)
241
+
242
+ ```caddyfile
243
+ :8002 {
244
+ root * /data/paper-static
245
+ encode zstd gzip
246
+
247
+ @static path /pdf/* /md/* /md_translate/* /images/*
248
+ header @static {
249
+ Access-Control-Allow-Origin *
250
+ Access-Control-Allow-Methods GET,HEAD,OPTIONS
251
+ Access-Control-Allow-Headers *
252
+ Cache-Control "public, max-age=31536000, immutable"
253
+ }
254
+
255
+ @options method OPTIONS
256
+ respond @options 204
257
+
258
+ file_server
259
+ }
260
+ ```
261
+
262
+ ### 3) Start the API/UI with static base
263
+
264
+ ```bash
265
+ export PAPER_DB_STATIC_BASE_URL="https://static.example.com"
266
+ export PAPER_DB_STATIC_MODE="prod"
267
+ export PAPER_DB_STATIC_EXPORT_DIR="/data/paper-static"
268
+ export PAPER_DB_PDFJS_CDN_BASE_URL="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.0.379"
269
+
270
+ uv run deepresearch-flow paper db serve \
271
+ --input paper_infos.json \
272
+ --md-root ./docs \
273
+ --md-translated-root ./docs \
274
+ --pdf-root ./pdfs
275
+ ```
276
+
277
+ ---
278
+
219
279
  ## Comprehensive Guide
220
280
 
221
281
  <details>
@@ -25,7 +25,7 @@
25
25
  <a href="https://hub.docker.com/r/nerdneils/deepresearch-flow">
26
26
  <img src="https://img.shields.io/docker/v/nerdneils/deepresearch-flow?style=flat-square" />
27
27
  </a>
28
- <a href="https://ghcr.io/nerdneilsfield/deepresearch-flow">
28
+ <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/pkgs/container/deepresearch-flow">
29
29
  <img src="https://img.shields.io/badge/ghcr.io-nerdneilsfield%2Fdeepresearch-flow-0f172a?style=flat-square" />
30
30
  </a>
31
31
  <a href="https://github.com/nerdneilsfield/ai-deepresearch-flow/blob/main/LICENSE">
@@ -154,6 +154,66 @@ uv run deepresearch-flow paper db serve \
154
154
 
155
155
  ---
156
156
 
157
+ ## Deployment (Static CDN)
158
+
159
+ Use a separate static server (CDN) for PDFs/Markdown/images and keep the API/UI on another host.
160
+
161
+ ### 1) Export static assets
162
+
163
+ ```bash
164
+ uv run deepresearch-flow paper db serve \
165
+ --input paper_infos.json \
166
+ --md-root ./docs \
167
+ --md-translated-root ./docs \
168
+ --pdf-root ./pdfs \
169
+ --static-mode prod \
170
+ --static-base-url https://static.example.com \
171
+ --static-export-dir /data/paper-static
172
+ ```
173
+
174
+ Notes:
175
+ - The API host must be able to read the original PDF/Markdown roots to build the index and hashes.
176
+ - The CDN host only needs the exported directory (e.g. `/data/paper-static`).
177
+
178
+ ### 2) Serve the export directory with CORS + cache headers (Caddy example)
179
+
180
+ ```caddyfile
181
+ :8002 {
182
+ root * /data/paper-static
183
+ encode zstd gzip
184
+
185
+ @static path /pdf/* /md/* /md_translate/* /images/*
186
+ header @static {
187
+ Access-Control-Allow-Origin *
188
+ Access-Control-Allow-Methods GET,HEAD,OPTIONS
189
+ Access-Control-Allow-Headers *
190
+ Cache-Control "public, max-age=31536000, immutable"
191
+ }
192
+
193
+ @options method OPTIONS
194
+ respond @options 204
195
+
196
+ file_server
197
+ }
198
+ ```
199
+
200
+ ### 3) Start the API/UI with static base
201
+
202
+ ```bash
203
+ export PAPER_DB_STATIC_BASE_URL="https://static.example.com"
204
+ export PAPER_DB_STATIC_MODE="prod"
205
+ export PAPER_DB_STATIC_EXPORT_DIR="/data/paper-static"
206
+ export PAPER_DB_PDFJS_CDN_BASE_URL="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.0.379"
207
+
208
+ uv run deepresearch-flow paper db serve \
209
+ --input paper_infos.json \
210
+ --md-root ./docs \
211
+ --md-translated-root ./docs \
212
+ --pdf-root ./pdfs
213
+ ```
214
+
215
+ ---
216
+
157
217
  ## Comprehensive Guide
158
218
 
159
219
  <details>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "deepresearch-flow"
3
- version = "0.4.1"
3
+ version = "0.5.1"
4
4
  description = "Workflow tools for paper extraction, review, and research automation."
5
5
  readme = { file = "README.md", content-type = "text/markdown" }
6
6
  license = { file = "LICENSE" }
@@ -600,6 +600,32 @@ def register_db_commands(db_group: click.Group) -> None:
600
600
  )
601
601
  @click.option("--cache-dir", "cache_dir", default=None, help="Cache directory for merged inputs")
602
602
  @click.option("--no-cache", "no_cache", is_flag=True, help="Disable cache for db serve")
603
+ @click.option(
604
+ "--static-base-url",
605
+ "static_base_url",
606
+ default=None,
607
+ help="Static asset base URL (e.g. https://static.example.com)",
608
+ )
609
+ @click.option(
610
+ "--static-mode",
611
+ "static_mode",
612
+ type=click.Choice(["auto", "dev", "prod"]),
613
+ default="auto",
614
+ show_default=True,
615
+ help="Static asset mode (dev uses local assets, prod uses static base URL)",
616
+ )
617
+ @click.option(
618
+ "--static-export-dir",
619
+ "static_export_dir",
620
+ default=None,
621
+ help="Optional export directory for hashed static assets",
622
+ )
623
+ @click.option(
624
+ "--pdfjs-cdn-base-url",
625
+ "pdfjs_cdn_base_url",
626
+ default=None,
627
+ help="PDF.js CDN base URL (defaults to jsDelivr)",
628
+ )
603
629
  @click.option("--host", default="127.0.0.1", show_default=True, help="Bind host")
604
630
  @click.option("--port", default=8000, type=int, show_default=True, help="Bind port")
605
631
  @click.option(
@@ -617,6 +643,10 @@ def register_db_commands(db_group: click.Group) -> None:
617
643
  pdf_roots: tuple[str, ...],
618
644
  cache_dir: str | None,
619
645
  no_cache: bool,
646
+ static_base_url: str | None,
647
+ static_mode: str,
648
+ static_export_dir: str | None,
649
+ pdfjs_cdn_base_url: str | None,
620
650
  host: str,
621
651
  port: int,
622
652
  fallback_language: str,
@@ -635,6 +665,10 @@ def register_db_commands(db_group: click.Group) -> None:
635
665
  pdf_roots=[Path(root) for root in pdf_roots],
636
666
  cache_dir=Path(cache_dir) if cache_dir else None,
637
667
  use_cache=not no_cache,
668
+ static_base_url=static_base_url,
669
+ static_mode=static_mode,
670
+ static_export_dir=Path(static_export_dir) if static_export_dir else None,
671
+ pdfjs_cdn_base_url=pdfjs_cdn_base_url,
638
672
  )
639
673
  except Exception as exc:
640
674
  raise click.ClickException(str(exc)) from exc
@@ -1193,6 +1193,7 @@ def _merge_paper_inputs(inputs: list[dict[str, Any]]) -> list[dict[str, Any]]:
1193
1193
  merged: list[dict[str, Any]] = []
1194
1194
  threshold = 0.95
1195
1195
  prefix_len = 5
1196
+ source_hash_index: dict[str, int] = {}
1196
1197
  bibtex_exact: dict[str, set[int]] = {}
1197
1198
  bibtex_prefix: dict[str, set[int]] = {}
1198
1199
  paper_exact: dict[str, set[int]] = {}
@@ -1226,16 +1227,22 @@ def _merge_paper_inputs(inputs: list[dict[str, Any]]) -> list[dict[str, Any]]:
1226
1227
  for paper in papers:
1227
1228
  if not isinstance(paper, dict):
1228
1229
  raise ValueError("Input papers must be objects")
1230
+ source_hash = paper.get("source_hash")
1231
+ source_hash_key = str(source_hash) if source_hash else None
1229
1232
  bib_title = _extract_bibtex_title(paper)
1230
1233
  paper_title = _extract_paper_title(paper)
1231
1234
  match = None
1232
1235
  match_idx = None
1233
- for idx in candidate_ids(bib_title, paper_title):
1234
- candidate = merged[idx]
1235
- if _titles_match(candidate, paper, threshold=threshold):
1236
- match = candidate
1237
- match_idx = idx
1238
- break
1236
+ if source_hash_key and source_hash_key in source_hash_index:
1237
+ match_idx = source_hash_index[source_hash_key]
1238
+ match = merged[match_idx]
1239
+ else:
1240
+ for idx in candidate_ids(bib_title, paper_title):
1241
+ candidate = merged[idx]
1242
+ if _titles_match(candidate, paper, threshold=threshold):
1243
+ match = candidate
1244
+ match_idx = idx
1245
+ break
1239
1246
  if match is None:
1240
1247
  group = {
1241
1248
  "templates": {template_tag: paper},
@@ -1244,6 +1251,8 @@ def _merge_paper_inputs(inputs: list[dict[str, Any]]) -> list[dict[str, Any]]:
1244
1251
  _add_merge_titles(group, paper)
1245
1252
  merged.append(group)
1246
1253
  group_idx = len(merged) - 1
1254
+ if source_hash_key:
1255
+ source_hash_index[source_hash_key] = group_idx
1247
1256
  if bib_title:
1248
1257
  add_index(bib_title, bibtex_exact, bibtex_prefix, group_idx)
1249
1258
  if paper_title:
@@ -1256,15 +1265,20 @@ def _merge_paper_inputs(inputs: list[dict[str, Any]]) -> list[dict[str, Any]]:
1256
1265
  order.append(template_tag)
1257
1266
  _add_merge_titles(match, paper)
1258
1267
  if match_idx is not None:
1268
+ if source_hash_key:
1269
+ source_hash_index[source_hash_key] = match_idx
1259
1270
  if bib_title:
1260
1271
  add_index(bib_title, bibtex_exact, bibtex_prefix, match_idx)
1261
1272
  if paper_title:
1262
1273
  add_index(paper_title, paper_exact, paper_prefix, match_idx)
1263
1274
 
1275
+ preferred_defaults = ("simple", "simple_phi")
1264
1276
  for group in merged:
1265
1277
  templates = group.get("templates") or {}
1266
1278
  order = group.get("template_order") or list(templates.keys())
1267
- default_tag = "simple" if "simple" in order else (order[0] if order else None)
1279
+ default_tag = next((tag for tag in preferred_defaults if tag in order), None)
1280
+ if default_tag is None:
1281
+ default_tag = order[0] if order else None
1268
1282
  group["default_template"] = default_tag
1269
1283
  if default_tag and default_tag in templates:
1270
1284
  base = templates[default_tag]
@@ -0,0 +1,391 @@
1
+ Template: deep_read_phi
2
+
3
+ {% if stage_name %}
4
+ 当前阶段:{{ stage_name }}。
5
+ 请仅输出 JSON,包含字段:{{ stage_fields | join(", ") }}。
6
+ 输出语言:{{ output_language }}。请使用该语言输出(zh 时使用中文,保留必要英文术语)。
7
+ 如需引用此前结果,可参考以下已完成模块(JSON):{{ previous_outputs }}
8
+ {% else %}
9
+ 注意:本工具是单次输出。请一次性完成 M1..M6,并填入 JSON 字段 module_m1..module_m6。
10
+ 每个模块字段内部使用 Markdown 编排(标题、列表等)。
11
+ 禁止第一人称(不出现“我/我们/本人”)。
12
+ 关键结论需要注明来自论文的定位(章节/图/表/公式编号)。
13
+ 每轮末尾要求输出的三行仍需保留,但不要中途停止输出。
14
+ 输出语言:{{ output_language }}。请使用该语言输出(zh 时使用中文,保留必要英文术语)。
15
+ {% endif %}
16
+
17
+ ---
18
+
19
+ # 通用哲学论文阅读器 Prompt(6轮|Three-Pass融合|C1~C7融合|审稿式Checklist|Exhibit Mining|Mermaid避坑|M1产出markmap)
20
+
21
+ 你是一个用于“精读哲学/伦理学论文”的高级语言模型。目标是把一篇论文变成可复现、可检查、可引用的结构化成果:争点 → 概念 → 论题 → 论证链 → 反对意见 → 回应 → 评价 → 可直接写作输出。
22
+ 外层严格 6 轮输出;每轮只输出该轮模块内容。
23
+
24
+ ========================
25
+ 0) 会话配置(用户可填;缺失则用默认)
26
+ ========================
27
+ 【论文材料】
28
+ - PDF或正文:{已提供/未提供}
29
+ - 是否有页码/小节编号:{有/无}
30
+ - 论文题目/作者/年份/出处(若已知):
31
+
32
+ 【用户目标】
33
+ - 目标(多选):快速理解 / 写综述 / 写书评 / 课堂讨论 / 写 rebuttal / 做研究延伸 / 考试
34
+ - 用户背景:对该领域熟悉度(0-5);熟悉的传统(功利/康德/德性/契约/建构/实在论/诠释学等)
35
+
36
+ 【输出偏好】
37
+ - 输出语言:中文(保留必要英文术语)
38
+ - 禁止第一人称:是(默认)
39
+ - 引用定位粒度:至少到小节(例如 Sect. 5.2);若能给页码则给页码
40
+ - 是否需要联网核验:默认关闭;仅在用户明确要求“核对出版信息/引文/对手观点转述”等时开启
41
+ - MERMAID_MODE:safe(默认)/ full
42
+ - safe:优先稳定不报错(牺牲花哨)
43
+ - full:允许边标签/更复杂形状(但更可能报错)
44
+
45
+ ========================
46
+ 1) 总体硬约束(必须遵守)
47
+ ========================
48
+ (1) 全程中文;必要英文术语/短引除外。
49
+ (2) 禁止第一人称:不出现“我/我们/本人”。
50
+ (3) 作者-评估分离:所有关键点都必须拆成两块:
51
+ - 【作者文本】只写作者明确承诺的内容(允许短引,但每段≤25词/句)。
52
+ - 【分析与评估】才允许补隐含前提、提出反例、比较流派、给批判与建议。
53
+ (4) 证据定位:每条关键定义/关键主张/关键论证节点都必须给定位(小节+页码若可得)。
54
+ - 若无页码/小节编号:用“段落锚点”定位(摘取该段开头8-12个词作为锚点)并标【锚点定位】。
55
+ - 若无法定位:标【未定位】并说明原因(材料缺失/无目录/扫描质量等)。
56
+ (5) 不确定性标注:凡是原文未明说、只能合理推断的内容必须标【推测】;无法核验标【证据不足】。
57
+ (6) 每轮末尾必须输出三行:
58
+ 【已完成模块】…
59
+ 【下一轮将输出】…
60
+ 【需要用户提供/确认的输入(如有)】…
61
+ (7) 每轮必须至少输出 1 张图:
62
+ - M1 必须输出 1 个 markmap(论文大纲脑图),且建议再输出 1 个 Mermaid(结构或证据流)。
63
+ - M2~M6 必须输出 Mermaid(按 MERMAID_MODE 规则)。
64
+
65
+ ========================
66
+ 2) Mermaid 中文易报错避坑规范(强制)
67
+ ========================
68
+ 默认使用 MERMAID_MODE=safe。除非用户明确要求 full,否则一律按 safe 输出。
69
+
70
+ 【共同规则(safe与full都必须)】
71
+ - 节点 ID 必须只用 ASCII:A1, N2, P3, O4, R5…(禁止中文/空格/连字符-)
72
+ - 节点文字放在 [] 中:A1[这里写中文标签](不要把中文写进ID)
73
+ - 标签里避免以下字符(常见导致解析失败或跨渲染器不兼容):
74
+ - 英文双引号 " 、单引号 ' 、反引号 ` 、竖线 | 、花括号 {} 、尖括号 <> 、方括号嵌套 [[]]
75
+ - 过长的括号对 ()()以及在标签里出现未配对符号
76
+ - safe 模式下:默认不写“边上的文字标签”,即不使用 A -- 文本 --> B(兼容性最好)
77
+ - 若必须表达关系类型:优先用“节点标签短词”而不是“边标签”
78
+ - 每张 Mermaid 图必须附“图例 + 至少3个节点定位”(定位写在图外的普通文本中)
79
+
80
+ 【safe 模式模板(推荐)】
81
+ - 只用 flowchart TB/LR/TD
82
+ - 只用 --> 和 -.-> 和 ==> 三种边
83
+ - 不用边标签,不用引号,不用特殊形状
84
+
85
+ 【full 模式(用户显式要求才用)】
86
+ - 可以用边标签,但边标签建议用英文或简短拼音,避免中文导致渲染器报错
87
+ - 可以用更多形状,但仍禁止把中文塞进节点ID
88
+
89
+ ========================
90
+ 3) “证据载体”抽取:Exhibit Mining(哲学版图表挖掘)
91
+ ========================
92
+ 由于哲学论文往往没有图表,证据主要在文本里。定义 Exhibit(证据载体)如下:
93
+ - 定义句/工作定义/必要充分条件
94
+ - 核心主张(thesis / sub-thesis)
95
+ - 关键论证步骤(前提、桥接原则、推理跳步)
96
+ - 思想实验/反例/案例判断
97
+ - 对手观点的转述段(尤其是被批评者)
98
+ - 反对意见(objection)与作者回应(reply)
99
+ 每个 Exhibit 都必须有:ID、类型、位置定位、原文短引(可选但推荐)、它支撑/攻击的主张节点。
100
+
101
+ ========================
102
+ 4) 六轮模块(每轮只做一轮;但每轮内部很“厚”)
103
+ ========================
104
+
105
+ ------------------------------------------------------------
106
+ M1:对齐目标 + 输入校验 + 论文地图 + Exhibit全量索引 + markmap大纲脑图
107
+ ------------------------------------------------------------
108
+ 【本轮目的】
109
+ - 对齐:读这篇论文要达成什么(理解/综述/书评/课堂讨论/研究延伸)
110
+ - 校验:材料是否足够支撑“可定位引用”
111
+ - 建图:先把论文结构与证据载体全量索引出来(不评价先索引)
112
+ - 产出:markmap 大纲脑图(强制)
113
+
114
+ 【必须执行步骤(按顺序)】
115
+ Step 1:从摘要/引言开头与结论段提取:
116
+ - 争点问题(debate question)一句话
117
+ - 主论题(thesis)一句话【暂定】
118
+ - 论文类型初判(规范伦理/元伦理/认识论/方法论/概念工程/历史诠释等)+ 依据定位
119
+ Step 2:输出“材料可复现性检查”:
120
+ - 是否有页码/小节编号;若无,声明将使用【锚点定位】
121
+ Step 3:全量索引论文结构(章节→子章节→该节任务):
122
+ - 只写该节做什么:提出定义/推进论证/处理反驳/比较对手/收束结论
123
+ Step 4:Exhibit 全量索引:
124
+ - 扫全文列出 E1..En
125
+ - 每条包含:ID、类型、位置定位、绑定主张(写成可检验句)
126
+ Step 5:输出阅读路线:
127
+ - 哪些小节最关键(Top 5),哪些可略读(并说明理由)
128
+
129
+ 【本轮输出结构(强制三层)】
130
+ - 浅层:
131
+ - 【作者文本】争点与主论题【暂定】(带定位)
132
+ - 【分析与评估】这篇属于哪类哲学写作、读它的正确姿势(不下结论)
133
+ - 中层:
134
+ - 论文结构索引表(全量)
135
+ - Exhibit 全量索引表(全量)
136
+ - 深层:
137
+ - 阅读陷阱预警(至少3条:概念多义/推理跳步/稻草人风险/关键前提争议等)
138
+ - 需要用户确认的目标/输出偏好(若配置缺失)
139
+
140
+ 【必须输出:markmap 论文大纲脑图(强制)】
141
+ ```markmap
142
+ # 论文标题(若未知则写“未提供标题”)
143
+ ## 争点(Debate Question)
144
+ ## 主论题(Thesis,暂定)
145
+ ## 结构(按章节/小节)
146
+ ### Sect. 1:……
147
+ ### Sect. 2:……
148
+ ## 关键证据载体(Exhibits)
149
+ ### E1(定义/主张/思想实验…)
150
+ ### E2 …
151
+ ## 读法路线
152
+ ### 必读(Top 5小节)
153
+ ### 可略读
154
+ ## 风险提示
155
+ ```
156
+
157
+ 【建议再输出 1 张 Mermaid(safe)用于结构树(可选但推荐)】
158
+
159
+ ```mermaid
160
+ flowchart TB
161
+ A1[引言 争点与主论题] --> A2[核心区 定义与论证]
162
+ A2 --> A3[反对意见与回应]
163
+ A3 --> A4[结论 贡献与局限]
164
+ ```
165
+
166
+ 图例 + 至少3个节点定位
167
+
168
+ 轮末尾三行并停止:
169
+ 【已完成模块】M1
170
+ 【下一轮将输出】M2 第一遍鸟瞰 + Exhibit客观打分排序
171
+ 【需要用户提供/确认的输入(如有)】(无则写“无”)
172
+
173
+ M2:第一遍鸟瞰(Three-Pass第1遍)+ C1/C6/C7折叠 + Exhibit打分(H2精神)
174
+
175
+ 【本轮目的】
176
+ 用“5-10分钟风格”回答:这篇在争什么、贡献是什么、清晰度怎样、值不值得深读。
177
+ 同时把 Exhibit 做客观重要性打分并排序,确定后续深读焦点。
178
+
179
+ 【必须产出五件套(哲学版)】
180
+ 类别(论文类型)+ 依据定位。
181
+ 上下文:在回应哪类批评/争论(只基于文中线索;超出则【推测】)。
182
+ 正确性直觉检查:关键前提是否看起来站得住(只初筛)。
183
+ 贡献:3-5条(可检验表达,每条定位)。
184
+ 清晰度:定义是否清楚、论证是否线性、对手是否被公平呈现。
185
+
186
+ 【必须回答(融合C1/C6/C7)】
187
+ 争点问题句式化。
188
+ 忠实摘要(150-200字)+ 5条要点(每条定位)。
189
+ 阅读建议:新手/写综述/写书评各应读哪些小节。
190
+
191
+ 【必须完成 Exhibit 客观打分(H2精神)并排序】
192
+ 对每个 Exhibit 按同一规则打分 0-10:
193
+ - 贡献中心度(0-3)
194
+ - 支撑力度(0-3)
195
+ - 写作复用价值(0-2)
196
+ - 信息密度(0-1)
197
+ - 误读风险(-0-1)
198
+ 输出:排序清单 + Top 5。
199
+
200
+ 【必须输出 Mermaid:争点→论题→贡献/风险(safe)】
201
+
202
+ ```mermaid
203
+ flowchart LR
204
+ Q1[争点问题] --> T1[主论题]
205
+ T1 --> K1[贡献1]
206
+ T1 --> K2[贡献2]
207
+ T1 -.-> R1[风险1]
208
+ T1 -.-> R2[风险2]
209
+ ```
210
+
211
+ 图例 + 至少3个节点定位(Q1/T1/K1)。
212
+
213
+ 轮末尾:
214
+ 【已完成模块】M2
215
+ 【下一轮将输出】M3 概念与术语工程 + 辩论谱系(相关工作哲学版)
216
+ 【需要用户提供/确认的输入(如有)】(无则写“无”)
217
+
218
+ M3:概念与术语工程 + 辩论谱系(融合术语表F + 相关工作C2哲学版)
219
+
220
+ 【本轮目的】
221
+ 把概念钉死:术语表、概念依赖、概念滑移风险。
222
+ 在“辩论地图”里定位作者:最强对手/最相近路线/正交路线(只基于论文明确提及;缺失标【证据不足】)。
223
+
224
+ 【必须执行步骤】
225
+ Step 1:抽取 12-25 个关键术语(按重要性排序)。
226
+ Step 2:每个术语输出四件套:
227
+ - 定义(原文转述+定位)
228
+ - 功能(它在论证里连接哪些节点)
229
+ - 混淆项(作者是否区分)
230
+ - 稳定性:稳定/【滑移风险】(给证据定位)
231
+ Step 3:输出“概念依赖图”(哪些概念依赖哪些定义/区分)。
232
+ Step 4:输出“辩论谱系三分法”(哲学版相关工作):
233
+ - 最强对手观点(steelman;若论文没展开则标【推测】)
234
+ - 最相近路线(方法或目标相近)
235
+ - 正交路线(换框架解决同争点)
236
+ 注意:只能基于论文明确提到的人名/学派/文献;超出标【证据不足】。
237
+
238
+ 【必须输出 Mermaid:概念依赖图(safe)】
239
+
240
+ ```mermaid
241
+ flowchart LR
242
+ C1[核心概念1] ==> C3[核心概念3]
243
+ C2[核心概念2] ==> C3
244
+ C3 ==> T1[主论题相关]
245
+ C4[滑移风险概念] -.-> T1
246
+ ```
247
+
248
+ 图例 + 至少3个依赖关系定位。
249
+
250
+ 轮末尾:
251
+ 【已完成模块】M3
252
+ 【下一轮将输出】M4 论证重建(Argument Map)+ Top Exhibits 深读(上半)
253
+ 【需要用户提供/确认的输入(如有)】(无则写“无”)
254
+
255
+ M4:论证重建(Three-Pass第2遍核心)+ Argument Map + Top Exhibits 深读(上半)
256
+
257
+ 【本轮目的】
258
+ 把论文从线性叙述变成“可检查的论证结构”:主结论→子结论→前提→桥接原则→推理类型。
259
+ 深读 Top Exhibits 的前一半(建议2-3个)。
260
+
261
+ 【必须执行步骤】
262
+ Step 1:锁定主结论 MC(一句话+定位)。
263
+ Step 2:抽取 2-5 个关键子结论 SC(每条定位)。
264
+ Step 3:为每个 SC 抽取前提与桥接原则:
265
+ - 定义性前提 / 描述性前提 / 规范性前提 / 方法论前提 / 桥接原则
266
+ - 标注推理类型:演绎/类比/溯因/反证/概念分析/定义推出
267
+ Step 4:输出“论证台账(Argument Ledger)”:每个节点一行:
268
+ ID、内容、类型、证据类型(直觉/思想实验/概念区分/文献)、定位、脆弱点提示。
269
+ Step 5:画 Mermaid 论证图(支持边/反驳边;若论文未显式反驳则标“未显式”)。
270
+ Step 6:Top Exhibits 深读(上半,2-3个),每个 Exhibit 统一结构:
271
+ - 绑定的 claim/节点ID
272
+ - 原文短引(可选)+ 转述(必须)+ 定位
273
+ - 它能直接支持的结论(禁止过度解读)
274
+ - 隐含前提/误读风险
275
+ - 写作复用:给一条“可直接引用的转述句”
276
+
277
+ 【必须输出 Mermaid:论证图(safe)】
278
+
279
+ ```mermaid
280
+ flowchart TD
281
+ MC[主结论] <-- SC1[子结论1]
282
+ MC <-- SC2[子结论2]
283
+ SC1 <-- P1[前提1]
284
+ SC1 <-- B1[桥接原则]
285
+ O1[论文内反对] -.-> SC1
286
+ R1[作者回应] --> O1
287
+ ```
288
+
289
+ 图例 + 至少3个节点定位(MC/SC1/任一Exhibit)。
290
+
291
+ 轮末尾:
292
+ 【已完成模块】M4
293
+ 【下一轮将输出】M5 深度审视(Three-Pass第3遍)+ objection mining + Top Exhibits 深读(下半)
294
+ 【需要用户提供/确认的输入(如有)】(无则写“无”)
295
+
296
+ M5:深度审视(Three-Pass第3遍)+ objection mining + 失败模式/反例压力测试 + Top Exhibits 深读(下半)
297
+
298
+ 【本轮目的】
299
+ 像审稿一样做压力测试:有效性、前提负担、概念偷换、反例、对手公平性、失败模式与补救。
300
+ 把 objections 与 replies 系统化,并加入外加反对。
301
+ 深读剩余 Top Exhibits(下半)。
302
+
303
+ 【必须包含五件套(哲学版可复现重建)】
304
+ - 最小论证骨架:P1..Pn ⟹ C(每条定位、类型标注)
305
+ - 假设清单:显式 + 隐含(每条说明:不接受会导致哪个节点塌)
306
+ - 失败模式(至少3类):
307
+ 1) 概念滑移导致论证不再同一对象
308
+ 2) 桥接原则争议过大(从案例/直觉到原则跃迁)
309
+ 3) 对手被弱化或关键反例未覆盖
310
+ - 审稿式强弱点评估:强点/弱点/可补救(绑定节点或 Exhibit)
311
+ - 下一步研究:3个可执行 follow-up(做什么/为什么/风险/需要补哪类文献或论证)
312
+
313
+ 【必须完成 objection mining(系统版)】
314
+ - 抽取论文显式 objections:O1..Ok(每条定位)
315
+ - 对应作者回应:R1..Rk(每条定位)
316
+ - 外加反对至少3条(标【外加反对】并指向论证节点)
317
+ - 每条给三评分:严重性(1-5)/回应充分性(1-5)/回应代价(文字)
318
+
319
+ 【必须做至少3类压力测试】
320
+ - 【外加反例/思想实验】对关键定义或桥接原则施压
321
+ - 【概念偷换测试】用“含义A/含义B”重读关键术语,看论证是否变形
322
+ - 【钢人化对手】把对手观点写成更强版本,检查作者回应是否仍成立
323
+
324
+ 【必须输出 Mermaid:反对-回应树(safe)】
325
+
326
+ ```mermaid
327
+ flowchart TB
328
+ X1[被攻击节点] -.-> O2[反对意见]
329
+ O2 --> R2[作者回应]
330
+ R2 -.-> Cx[回应代价]
331
+ OX[外加反对] -.-> X1
332
+ ```
333
+
334
+ 图例 + 至少3个节点定位(O2/R2/被攻击节点)。
335
+
336
+ 轮末尾:
337
+ 【已完成模块】M5
338
+ 【下一轮将输出】M6 写作级产出包(摘要/要点/讨论题/研究延伸/可选核验)
339
+ 【需要用户提供/确认的输入(如有)】(无则写“无”)
340
+
341
+ M6:写作级产出包(可直接用于综述/书评/讨论课/研究笔记)
342
+
343
+ 【本轮目的】
344
+ 把前5轮成果变成可直接粘贴使用的写作材料,同时提供后续研究与可选核验入口。
345
+
346
+ 【必须产出固定清单】
347
+ - 忠实摘要(200-350字):不夹带评价;带定位线索
348
+ - 关键要点 8-12 条:每条定位
349
+ - 最小论证骨架(P1..Pn ⟹ C):每条定位
350
+ - 评价段(150-250字):强点/弱点/最大悬念(绑定节点/Exhibit)
351
+ - 讨论课问题 6-10 个(概念澄清→有效性→反例→传统对比→方法论含义)
352
+ - 研究延伸 3 个(做什么/为什么/风险/需要补哪类材料)
353
+ - 阅读建议:不同目的(快速/综述/书评/研究)该怎么复读哪些小节
354
+
355
+ 【可选:联网核验入口(默认不执行)】
356
+ 若用户要求核验,则输出:
357
+ - 核验清单(出版信息/关键引文/对手观点原文一致性)
358
+ - 关键词与检索式建议
359
+ - 声明“需要开启联网核验模式”后再执行
360
+ 无法核验必须写【证据不足】。
361
+
362
+ 【必须输出 Mermaid:一页总结图(safe)】
363
+
364
+ ```mermaid
365
+ flowchart TB
366
+ Q1[争点] --> T1[主论题]
367
+ T1 --> C1[核心概念]
368
+ T1 --> A1[论证骨架]
369
+ A1 -.-> O1[关键反对]
370
+ O1 --> R1[回应]
371
+ T1 --> U1[开放问题]
372
+ ```
373
+
374
+ 图例 + 至少3个节点定位(T1/A1/任一Exhibit)。
375
+
376
+ 轮末尾:
377
+ 【已完成模块】M6
378
+ 【下一轮将输出】(无;若用户要求“联网核验”,进入附加模式)
379
+ 【需要用户提供/确认的输入(如有)】(无则写“无”)
380
+
381
+ ========================
382
+ 5) 开始执行
383
+
384
+ 请在 M1 中完成:对齐目标 + 输入校验 + 结构索引 + Exhibit全量索引 + markmap大纲脑图。
385
+ 完成后在 M2..M6 依次完成后续模块。
386
+
387
+ Document content:
388
+ {{ content }}
389
+
390
+ JSON Schema:
391
+ {{ schema }}