flowapy 0.3.0__tar.gz → 0.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. {flowapy-0.3.0 → flowapy-0.4.0}/.pre-commit-config.yaml +10 -2
  2. {flowapy-0.3.0 → flowapy-0.4.0}/PKG-INFO +1 -1
  3. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/README.md +11 -9
  4. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/LICENSES.md +9 -2
  5. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/aggregation.json +12 -12
  6. flowapy-0.4.0/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/main.md +738 -0
  7. flowapy-0.4.0/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/main.pdf +0 -0
  8. flowapy-0.3.0/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/markdown.md → flowapy-0.4.0/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/merged.md +95 -71
  9. flowapy-0.4.0/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/supplements/000_HUMU-40-2146-s001.pdf +0 -0
  10. flowapy-0.4.0/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/supplements/000_HUMU-40-2146-s001.pdf.md +513 -0
  11. flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/markdown.md → flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/main.md +58 -56
  12. flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/main.pdf +0 -0
  13. flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/merged.md +247 -0
  14. flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/supplements/000_Image_1.PDF +0 -0
  15. flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/supplements/000_Image_1.PDF.md +9 -0
  16. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/components/literature/PaperStatusGroup.tsx +1 -1
  17. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/aggregate.ts +1 -1
  18. flowapy-0.4.0/examples/demo/src/lib/paperInvalidation.ts +96 -0
  19. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/papers.ts +7 -3
  20. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/papers/[doi]/markdown.ts +8 -5
  21. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/papers/[doi]/pdf.ts +37 -8
  22. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/papers/[doi]/supplements.ts +43 -19
  23. flowapy-0.4.0/examples/demo/test/paper-invalidation.test.ts +139 -0
  24. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/papers-pdf-upload.test.ts +92 -1
  25. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/papers-route.test.ts +1 -1
  26. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/papers-supplements.test.ts +92 -5
  27. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/papers.test.ts +12 -1
  28. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/tests/test_resolve.py +3 -3
  29. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/package.json +1 -1
  30. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/artifact.ts +6 -4
  31. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/storage-keys.ts +5 -1
  32. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/yaml.ts +1 -1
  33. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/paper-cache.test.ts +15 -5
  34. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/package.json +1 -1
  35. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/markdown-viewer/MarkdownHighlightViewer.tsx +4 -3
  36. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/markdown-viewer/types.ts +1 -1
  37. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/styles.css +1 -1
  38. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/EvidenceViewerShell.test.tsx +2 -2
  39. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/EvidenceViewerShell.tsx +1 -1
  40. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/citation-resolver.ts +3 -3
  41. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/types.ts +1 -1
  42. {flowapy-0.3.0 → flowapy-0.4.0}/pyproject.toml +1 -1
  43. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/aggregate.py +4 -4
  44. flowapy-0.4.0/src/flowa/assemble.py +207 -0
  45. flowapy-0.4.0/src/flowa/convert.py +320 -0
  46. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/download.py +38 -104
  47. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/extract.py +18 -7
  48. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/resolve.py +17 -16
  49. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/storage.py +65 -9
  50. {flowapy-0.3.0 → flowapy-0.4.0}/tests/test_assemble.py +58 -17
  51. flowapy-0.4.0/tests/test_convert.py +181 -0
  52. flowapy-0.4.0/tests/test_download.py +92 -0
  53. {flowapy-0.3.0 → flowapy-0.4.0}/tests/test_resolve.py +3 -3
  54. {flowapy-0.3.0 → flowapy-0.4.0}/uv.lock +1 -1
  55. flowapy-0.3.0/examples/demo/src/lib/paperInvalidation.ts +0 -52
  56. flowapy-0.3.0/examples/demo/test/paper-invalidation.test.ts +0 -90
  57. flowapy-0.3.0/src/flowa/assemble.py +0 -132
  58. flowapy-0.3.0/src/flowa/convert.py +0 -203
  59. flowapy-0.3.0/tests/test_download.py +0 -51
  60. {flowapy-0.3.0 → flowapy-0.4.0}/.github/dependabot.yml +0 -0
  61. {flowapy-0.3.0 → flowapy-0.4.0}/.github/workflows/dependabot-auto-merge.yml +0 -0
  62. {flowapy-0.3.0 → flowapy-0.4.0}/.github/workflows/lint.yaml +0 -0
  63. {flowapy-0.3.0 → flowapy-0.4.0}/.github/workflows/release-chat-service.yaml +0 -0
  64. {flowapy-0.3.0 → flowapy-0.4.0}/.github/workflows/release-flowapy.yaml +0 -0
  65. {flowapy-0.3.0 → flowapy-0.4.0}/.github/workflows/release-react-viewer.yaml +0 -0
  66. {flowapy-0.3.0 → flowapy-0.4.0}/.gitignore +0 -0
  67. {flowapy-0.3.0 → flowapy-0.4.0}/.markdownlint.json +0 -0
  68. {flowapy-0.3.0 → flowapy-0.4.0}/.nvmrc +0 -0
  69. {flowapy-0.3.0 → flowapy-0.4.0}/.prettierignore +0 -0
  70. {flowapy-0.3.0 → flowapy-0.4.0}/Dockerfile +0 -0
  71. {flowapy-0.3.0 → flowapy-0.4.0}/LICENSE +0 -0
  72. {flowapy-0.3.0 → flowapy-0.4.0}/README.md +0 -0
  73. {flowapy-0.3.0 → flowapy-0.4.0}/docs/images/viewer.png +0 -0
  74. {flowapy-0.3.0 → flowapy-0.4.0}/examples/.gitkeep +0 -0
  75. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/.env.example +0 -0
  76. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/.gitignore +0 -0
  77. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1002%2Fhumu.23878.json +0 -0
  78. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1016%2Fj.ymgmr.2024.101163.json +0 -0
  79. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1038%2Fs41598-022-25914-8.json +0 -0
  80. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs12881-019-0878-8.json +0 -0
  81. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-021-01817-1.json +0 -0
  82. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-021-02146-z.json +0 -0
  83. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-023-02848-6.json +0 -0
  84. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13052-019-0692-0.json +0 -0
  85. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffcvm.2022.1061384.json +0 -0
  86. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffcvm.2023.1261172.json +0 -0
  87. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffimmu.2024.1336599.json +0 -0
  88. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffped.2021.729824.json +0 -0
  89. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffphar.2022.903488.json +0 -0
  90. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3390%2Fijns11010016.json +0 -0
  91. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3390%2Fijns6020031.json +0 -0
  92. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/query.json +0 -0
  93. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/runs/cfc0186a7b7e46eb802a516b86ec207f/progress.jsonl +0 -0
  94. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/variant_details.json +0 -0
  95. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1002%2Fajmg.a.61481/metadata.json +0 -0
  96. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/merged.pdf +0 -0
  97. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/metadata.json +0 -0
  98. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/pdf_index.pkl.zst +0 -0
  99. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1016%2Fj.ejmg.2020.103997/metadata.json +0 -0
  100. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1016%2Fj.nmd.2022.02.002/metadata.json +0 -0
  101. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1016%2Fj.tjog.2022.07.008/metadata.json +0 -0
  102. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/source.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/main.md +0 -0
  103. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/main.pdf +0 -0
  104. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/merged.md +0 -0
  105. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/metadata.json +0 -0
  106. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/pdf_index.pkl.zst +0 -0
  107. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/supplements/000_mmc1.docx +0 -0
  108. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/source.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/main.md +0 -0
  109. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/main.pdf +0 -0
  110. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/merged.md +0 -0
  111. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/metadata.json +0 -0
  112. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/pdf_index.pkl.zst +0 -0
  113. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/supplements/000_41598_2022_25914_MOESM1_ESM.docx +0 -0
  114. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1093%2Fhmg%2Fddz218/metadata.json +0 -0
  115. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1136%2Fjmg-2022-108675/metadata.json +0 -0
  116. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/main.md +0 -0
  117. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/main.pdf +0 -0
  118. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/metadata.json +0 -0
  119. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/pdf_index.pkl.zst +0 -0
  120. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/main.md +0 -0
  121. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/main.pdf +0 -0
  122. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/metadata.json +0 -0
  123. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/pdf_index.pkl.zst +0 -0
  124. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/main.md +0 -0
  125. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/main.pdf +0 -0
  126. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/metadata.json +0 -0
  127. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/pdf_index.pkl.zst +0 -0
  128. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/main.md +0 -0
  129. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/main.pdf +0 -0
  130. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/metadata.json +0 -0
  131. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/pdf_index.pkl.zst +0 -0
  132. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/main.md +0 -0
  133. /flowapy-0.3.0/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/main.pdf +0 -0
  134. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/metadata.json +0 -0
  135. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/pdf_index.pkl.zst +0 -0
  136. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/main.md +0 -0
  137. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/main.pdf +0 -0
  138. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/metadata.json +0 -0
  139. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/pdf_index.pkl.zst +0 -0
  140. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/source.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/main.md +0 -0
  141. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/main.pdf +0 -0
  142. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/merged.md +0 -0
  143. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/metadata.json +0 -0
  144. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/pdf_index.pkl.zst +0 -0
  145. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/supplements/000_Table1.docx +0 -0
  146. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/main.md +0 -0
  147. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/main.pdf +0 -0
  148. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/metadata.json +0 -0
  149. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/pdf_index.pkl.zst +0 -0
  150. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/merged.pdf +0 -0
  151. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/metadata.json +0 -0
  152. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/pdf_index.pkl.zst +0 -0
  153. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/main.md +0 -0
  154. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/main.pdf +0 -0
  155. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/metadata.json +0 -0
  156. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/pdf_index.pkl.zst +0 -0
  157. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3390%2Fijns11010016/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3390%2Fijns11010016/main.md +0 -0
  158. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3390%2Fijns11010016/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3390%2Fijns11010016/main.pdf +0 -0
  159. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/metadata.json +0 -0
  160. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/pdf_index.pkl.zst +0 -0
  161. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3390%2Fijns6020031/markdown.md → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3390%2Fijns6020031/main.md +0 -0
  162. /flowapy-0.3.0/examples/demo/fixtures/papers/10.3390%2Fijns6020031/source.pdf → /flowapy-0.4.0/examples/demo/fixtures/papers/10.3390%2Fijns6020031/main.pdf +0 -0
  163. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/metadata.json +0 -0
  164. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/pdf_index.pkl.zst +0 -0
  165. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/next-env.d.ts +0 -0
  166. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/next.config.mjs +0 -0
  167. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/package.json +0 -0
  168. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/postcss.config.cjs +0 -0
  169. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/public/favicon.svg +0 -0
  170. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/scripts/chat-service.ts +0 -0
  171. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/scripts/copy-pdfjs-assets.ts +0 -0
  172. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/scripts/exercise-llm.ts +0 -0
  173. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/scripts/start.ts +0 -0
  174. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/components/literature/LiteratureView.tsx +0 -0
  175. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/components/literature/ProgressLog.tsx +0 -0
  176. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/components/literature/matchFilename.ts +0 -0
  177. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/db/migrate.ts +0 -0
  178. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/db/schema.sql +0 -0
  179. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/chatSessionClient.ts +0 -0
  180. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/citationResolverClient.ts +0 -0
  181. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/demoConfig.ts +0 -0
  182. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/progressEvents.ts +0 -0
  183. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/runs.ts +0 -0
  184. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/triageBackendClient.ts +0 -0
  185. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/triageDb.ts +0 -0
  186. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/lib/variantId.ts +0 -0
  187. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/_app.tsx +0 -0
  188. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/aggregate/[variantId]/[category].ts +0 -0
  189. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/edit-drafts/[variantId]/[category]/[version].ts +0 -0
  190. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/edit-drafts/[variantId]/[category]/index.ts +0 -0
  191. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/papers/index.ts +0 -0
  192. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/runs/[variantId]/[runId]/progress.ts +0 -0
  193. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/runs/index.ts +0 -0
  194. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/runs/latest.ts +0 -0
  195. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/triage/claim.ts +0 -0
  196. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/triage/comment.ts +0 -0
  197. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/triage/paper-done.ts +0 -0
  198. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/api/triage/snapshot/[variantId]/[category]/[version].ts +0 -0
  199. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/index.tsx +0 -0
  200. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/variants/[variantId].tsx +0 -0
  201. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/pages/viewer/[variantId]/[category].tsx +0 -0
  202. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/src/styles/globals.css +0 -0
  203. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/tailwind.config.ts +0 -0
  204. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/LiteratureView.test.tsx +0 -0
  205. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/ProgressLog.test.tsx +0 -0
  206. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/aggregate.test.ts +0 -0
  207. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/chat-service.test.ts +0 -0
  208. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/index-page.test.tsx +0 -0
  209. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/matchFilename.test.ts +0 -0
  210. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/progress-route.test.ts +0 -0
  211. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/runs-latest-route.test.ts +0 -0
  212. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/runs-route.test.ts +0 -0
  213. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/runs.test.ts +0 -0
  214. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/setup.ts +0 -0
  215. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/triage.test.ts +0 -0
  216. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/test/variantId.test.ts +0 -0
  217. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/tsconfig.json +0 -0
  218. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo/vitest.config.ts +0 -0
  219. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/README.md +0 -0
  220. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/pyproject.toml +0 -0
  221. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/src/demo_gateway/__init__.py +0 -0
  222. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/src/demo_gateway/config.py +0 -0
  223. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/src/demo_gateway/main.py +0 -0
  224. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/src/demo_gateway/progress.py +0 -0
  225. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/src/demo_gateway/runs.py +0 -0
  226. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/tests/__init__.py +0 -0
  227. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/tests/conftest.py +0 -0
  228. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/tests/test_main.py +0 -0
  229. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/tests/test_progress.py +0 -0
  230. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/tests/test_runs.py +0 -0
  231. {flowapy-0.3.0 → flowapy-0.4.0}/examples/demo-gateway/uv.lock +0 -0
  232. {flowapy-0.3.0 → flowapy-0.4.0}/package.json +0 -0
  233. {flowapy-0.3.0 → flowapy-0.4.0}/packages/.gitkeep +0 -0
  234. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/Dockerfile +0 -0
  235. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/LICENSE +0 -0
  236. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/README.md +0 -0
  237. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/audit.ts +0 -0
  238. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/auth/jwt.ts +0 -0
  239. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/auth/oidc.ts +0 -0
  240. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/chat.ts +0 -0
  241. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/cli.ts +0 -0
  242. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/config.ts +0 -0
  243. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/index.ts +0 -0
  244. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/instrumentation.ts +0 -0
  245. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/llm/anthropic.ts +0 -0
  246. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/llm/bedrock.ts +0 -0
  247. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/llm/factory.ts +0 -0
  248. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/llm/google-gla.ts +0 -0
  249. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/llm/google-vertex.ts +0 -0
  250. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/llm/interface.ts +0 -0
  251. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/llm/openai.ts +0 -0
  252. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/prompts.ts +0 -0
  253. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/server.ts +0 -0
  254. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/session.ts +0 -0
  255. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/storage/factory.ts +0 -0
  256. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/storage/fs.ts +0 -0
  257. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/storage/gcs.ts +0 -0
  258. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/storage/interface.ts +0 -0
  259. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/storage/s3.ts +0 -0
  260. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/telemetry.ts +0 -0
  261. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/src/text.ts +0 -0
  262. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/chat.test.ts +0 -0
  263. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/generic-prompt.test.ts +0 -0
  264. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/llm-factory.test.ts +0 -0
  265. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/oidc.test.ts +0 -0
  266. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/storage-fs.test.ts +0 -0
  267. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/storage-gcs.test.ts +0 -0
  268. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/storage-s3.test.ts +0 -0
  269. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/text.test.ts +0 -0
  270. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/test/yaml.test.ts +0 -0
  271. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/tsconfig.build.json +0 -0
  272. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/tsconfig.json +0 -0
  273. {flowapy-0.3.0 → flowapy-0.4.0}/packages/chat-service/vitest.config.ts +0 -0
  274. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/LICENSE +0 -0
  275. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/README.md +0 -0
  276. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/citations/sanitize.test.ts +0 -0
  277. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/citations/sanitize.ts +0 -0
  278. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/citations/types.ts +0 -0
  279. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/index.ts +0 -0
  280. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/llm-content/LlmContent.test.tsx +0 -0
  281. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/llm-content/LlmContent.tsx +0 -0
  282. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/markdown-viewer/MarkdownHighlightViewer.test.tsx +0 -0
  283. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/markdown-viewer/offsets.test.ts +0 -0
  284. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/markdown-viewer/offsets.ts +0 -0
  285. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/markdown-viewer/plugins.test.tsx +0 -0
  286. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/markdown-viewer/plugins.ts +0 -0
  287. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/pdf-viewer/PdfHighlightViewer.test.tsx +0 -0
  288. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/pdf-viewer/PdfHighlightViewer.tsx +0 -0
  289. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/pdf-viewer/types.ts +0 -0
  290. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/ChatDrawer.test.tsx +0 -0
  291. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/ChatDrawer.tsx +0 -0
  292. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/ChatSection.tsx +0 -0
  293. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/ClaimList.tsx +0 -0
  294. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/FocusCard.tsx +0 -0
  295. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/MessageParts.tsx +0 -0
  296. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/PaperHeader.tsx +0 -0
  297. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/PaperRail.test.tsx +0 -0
  298. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/PaperRail.tsx +0 -0
  299. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/ReasoningStep.tsx +0 -0
  300. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/SynthesisPanel.tsx +0 -0
  301. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/ToolStep.tsx +0 -0
  302. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/backend.ts +0 -0
  303. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/citation-utils.test.ts +0 -0
  304. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/citation-utils.ts +0 -0
  305. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/claim-refs.test.ts +0 -0
  306. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/claim-refs.ts +0 -0
  307. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/keyboard.test.ts +0 -0
  308. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/keyboard.ts +0 -0
  309. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/store.test.ts +0 -0
  310. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/store.ts +0 -0
  311. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/trace-format.test.ts +0 -0
  312. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/src/triage/trace-format.ts +0 -0
  313. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/tailwind.config.ts +0 -0
  314. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/tsconfig.json +0 -0
  315. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/tsup.config.ts +0 -0
  316. {flowapy-0.3.0 → flowapy-0.4.0}/packages/react-viewer/vitest.config.ts +0 -0
  317. {flowapy-0.3.0 → flowapy-0.4.0}/pnpm-lock.yaml +0 -0
  318. {flowapy-0.3.0 → flowapy-0.4.0}/pnpm-workspace.yaml +0 -0
  319. {flowapy-0.3.0 → flowapy-0.4.0}/prompts/generic/aggregation_edit_prompt.txt +0 -0
  320. {flowapy-0.3.0 → flowapy-0.4.0}/prompts/generic/aggregation_edit_schema.ts +0 -0
  321. {flowapy-0.3.0 → flowapy-0.4.0}/prompts/generic/aggregation_prompt.txt +0 -0
  322. {flowapy-0.3.0 → flowapy-0.4.0}/prompts/generic/aggregation_schema.py +0 -0
  323. {flowapy-0.3.0 → flowapy-0.4.0}/prompts/generic/extraction_prompt.txt +0 -0
  324. {flowapy-0.3.0 → flowapy-0.4.0}/prompts/generic/extraction_schema.py +0 -0
  325. {flowapy-0.3.0 → flowapy-0.4.0}/prompts/generic/transcription_prompt.txt +0 -0
  326. {flowapy-0.3.0 → flowapy-0.4.0}/prompts/package.json +0 -0
  327. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/__init__.py +0 -0
  328. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/artifact.py +0 -0
  329. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/cli.py +0 -0
  330. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/clinvar.py +0 -0
  331. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/content_validation.py +0 -0
  332. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/http_retry.py +0 -0
  333. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/models.py +0 -0
  334. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/normalize.py +0 -0
  335. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/pdf_index_cache.py +0 -0
  336. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/progress.py +0 -0
  337. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/prompts/__init__.py +0 -0
  338. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/py.typed +0 -0
  339. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/query.py +0 -0
  340. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/run.py +0 -0
  341. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/schema.py +0 -0
  342. {flowapy-0.3.0 → flowapy-0.4.0}/src/flowa/settings.py +0 -0
  343. {flowapy-0.3.0 → flowapy-0.4.0}/tests/__init__.py +0 -0
  344. {flowapy-0.3.0 → flowapy-0.4.0}/tests/test_content_validation.py +0 -0
  345. {flowapy-0.3.0 → flowapy-0.4.0}/tests/test_pdf_index_cache.py +0 -0
  346. {flowapy-0.3.0 → flowapy-0.4.0}/tests/test_progress.py +0 -0
  347. {flowapy-0.3.0 → flowapy-0.4.0}/tests/test_prompts.py +0 -0
  348. {flowapy-0.3.0 → flowapy-0.4.0}/tsconfig.base.json +0 -0
@@ -113,6 +113,14 @@ repos:
113
113
  # demo-gateway is its own uv project (separate venv + ruff/mypy config),
114
114
  # so these cd in and run that project's pinned tools, mirroring the pytest
115
115
  # hook below.
116
+ #
117
+ # demo-gateway installs flowapy as an editable path dep (`path = "../.."`),
118
+ # so a change to `src/flowa/` can break its mypy/pytest gates even when no
119
+ # demo-gateway file is touched. The type+behaviour gates therefore also
120
+ # fire on `src/flowa/**.py`; the formatters don't, since ruff only inspects
121
+ # demo-gateway's own files. (Without this, a flowapy-only commit skips these
122
+ # locally — pre-commit runs hooks against staged files — and the break only
123
+ # surfaces in CI's `--all-files` run.)
116
124
  - id: ruff-format-demo-gateway
117
125
  name: ruff format (demo-gateway)
118
126
  entry: bash -c 'cd examples/demo-gateway && uv run --no-sync ruff format --check src/ tests/'
@@ -130,10 +138,10 @@ repos:
130
138
  entry: bash -c 'cd examples/demo-gateway && uv run --no-sync mypy src/ tests/'
131
139
  language: system
132
140
  pass_filenames: false
133
- files: ^examples/demo-gateway/.*\.py$
141
+ files: ^(examples/demo-gateway/.*|src/flowa/.*)\.py$
134
142
  - id: pytest-demo-gateway
135
143
  name: pytest (demo-gateway)
136
144
  entry: bash -c 'cd examples/demo-gateway && uv run --no-sync pytest tests/'
137
145
  language: system
138
146
  pass_filenames: false
139
- files: ^examples/demo-gateway/.*\.py$
147
+ files: ^(examples/demo-gateway/.*|src/flowa/.*)\.py$
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flowapy
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Variant literature assessment pipeline with AI extraction
5
5
  Project-URL: Homepage, https://github.com/populationgenomics/flowa
6
6
  Project-URL: Source, https://github.com/populationgenomics/flowa
@@ -166,10 +166,12 @@ VARIANT=NM_001035_3-c_14174A_G
166
166
  rm -f assessments/$VARIANT/aggregation.json \
167
167
  assessments/$VARIANT/aggregation_raw.json
168
168
  rm -rf assessments/$VARIANT/extractions/ assessments/$VARIANT/runs/
169
- # Re-runs flowa.convert (which uses anchorite for PDF chunking and
170
- # builds pdf_index.pkl.zst). Drop this line to reuse the cached markdown
171
- # + index and only redo extract + aggregate.
172
- rm -f papers/*/markdown.md papers/*/convert_raw.json papers/*/pdf_index.pkl.zst
169
+ # Re-runs flowa.convert (which transcribes each PDF, builds merged.pdf when
170
+ # there are PDF supplements, and builds pdf_index.pkl.zst). Drop this line to
171
+ # reuse the cached transcriptions + index and only redo extract + aggregate.
172
+ rm -f papers/*/main.md papers/*/merged.md papers/*/merged.pdf \
173
+ papers/*/convert_raw.json papers/*/pdf_index.pkl.zst \
174
+ papers/*/supplements/*.pdf.md
173
175
  ```
174
176
 
175
177
  Then drive the pipeline. The demo's `scripts/start.ts` translates the
@@ -207,11 +209,11 @@ and not needed by anything downstream.
207
209
 
208
210
  For papers whose source license blocks redistribution (CC-BY-NC-ND,
209
211
  paywalled; see `fixtures/LICENSES.md` for the rule), do **not** delete
210
- the whole `papers/{encodedDoi}/` directory — only delete `source.pdf`,
211
- `markdown.md`, `convert_raw.json`, and `pdf_index.pkl.zst`. The
212
- `pdf_index.pkl.zst` embeds the PDF's extracted text (anchorite's char
213
- index), so it carries the same copyright as `source.pdf` and must not
214
- ship in the open-source repo. Keep `metadata.json` (the bibliographic
212
+ the whole `papers/{encodedDoi}/` directory — only delete `main.pdf`,
213
+ `merged.pdf`, `main.md`, `merged.md`, `convert_raw.json`, `pdf_index.pkl.zst`,
214
+ and the `supplements/` directory. The `pdf_index.pkl.zst` embeds the PDF's
215
+ extracted text (anchorite's char index), so it carries the same copyright as
216
+ `main.pdf` and must not ship in the open-source repo. Keep `metadata.json` (the bibliographic
215
217
  fields are factual data, not copyrightable) but replace its `abstract`
216
218
  field with a sentinel string, so the omission reads as deliberate (not
217
219
  a missing-data bug) when the literature view renders the row:
@@ -2,7 +2,7 @@
2
2
 
3
3
  The fixture under `examples/demo/fixtures/papers/` ships three kinds of entries, all keyed by the encoded DOI:
4
4
 
5
- 1. **Full-content papers** (15) — `source.pdf` + `markdown.md` + `metadata.json`. The pipeline downloaded the PDF from PMC, converted it to Markdown, and ran extraction. Three also carry `source.md` (the PDF transcription) and a `supplements/` directory of xlsx/docx supplements, which are converted and appended into `markdown.md`. All are CC-BY (any version) or CC0, so the PDF, the derivative Markdown, and the supplements are redistributable provided attribution is preserved (entries below).
5
+ 1. **Full-content papers** (15) — `main.pdf` + `main.md` + `metadata.json` + `pdf_index.pkl.zst`. The pipeline downloaded the main PDF from PMC, transcribed it to Markdown (`main.md`), and ran extraction. Papers with supplements also carry a `supplements/` directory and an assembled `merged.md` (`main.md` + the supplement transcriptions/conversions): **3** carry an xlsx/docx (office) supplement, and **2** carry a separate PDF supplement (which is additionally concatenated into a derived `merged.pdf` and transcribed). All are CC-BY (any version) or CC0, so the PDFs, the derivative Markdown, and the supplements are redistributable provided attribution is preserved (entries below).
6
6
  2. **Metadata-only, license-restricted** (5) — only `metadata.json`; the source paper is paywalled or under a no-derivatives / non-commercial licence (e.g. CC-BY-NC-ND). The `abstract` field is replaced with a sentinel string explaining the omission, since the abstract is the author's prose and is subject to publisher copyright. Bibliographic facts (DOI, PMID, title, authors, journal, date) are not copyrightable and ship as-is.
7
7
  3. **Metadata-only, CC-BY not in PMC** (1) — only `metadata.json`; the source paper IS CC-BY-licensed but PMC's OA subset doesn't carry it, so flowa's PMC-only download path silently skipped it. Abstract is preserved (CC-BY permits redistribution); PDF/Markdown are absent. A curator running the demo locally can fetch the PDF from the journal site.
8
8
 
@@ -101,6 +101,7 @@ For all three kinds, the demo's literature page renders the row from `metadata.j
101
101
  - **DOI:** [10.1002/humu.23878](https://doi.org/10.1002/humu.23878)
102
102
  - **PMID:** 31342611
103
103
  - **License:** [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
104
+ - **Supplement:** `supplements/000_HUMU-40-2146-s001.pdf` (supplementary data PDF; inherits the article's CC-BY 4.0).
104
105
 
105
106
  ### `10.1186%2Fs12881-019-0878-8/`
106
107
 
@@ -147,12 +148,18 @@ For all three kinds, the demo's literature page renders the row from `metadata.j
147
148
  - **DOI:** [10.3389/fped.2021.729824](https://doi.org/10.3389/fped.2021.729824)
148
149
  - **PMID:** 34966699
149
150
  - **License:** [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
151
+ - **Supplement:** `supplements/000_Image_1.PDF` (supplementary figure PDF; inherits the article's CC-BY 4.0).
150
152
 
151
153
  ### Derivative artifacts
152
154
 
153
155
  For each full-content paper the fixture also ships the pipeline's derivatives:
154
156
 
155
- - `markdown.md` — Markdown extracted from the PDF by the conversion stage.
157
+ - `main.md` — the main PDF transcribed to Markdown by the conversion stage.
158
+ - `merged.md` — present only for papers with supplements: `main.md` + the
159
+ PDF-supplement transcriptions + the converted office supplements.
160
+ - `merged.pdf` — present only for the two papers with a PDF supplement: `main.pdf`
161
+ concatenated with the supplement PDF (what the viewer renders + the index is built from).
162
+ - `pdf_index.pkl.zst` — the anchorite PDF index (embeds the PDF's extracted text).
156
163
  - `metadata.json` — bibliographic metadata (DOI, PMID, title, authors, etc.).
157
164
 
158
165
  These derivatives are released under the same CC-BY licence as the underlying PDFs.
@@ -416,8 +416,8 @@
416
416
  }
417
417
  ],
418
418
  "markdown_anchor": {
419
- "start": 110375,
420
- "end": 110422
419
+ "start": 110789,
420
+ "end": 110836
421
421
  }
422
422
  }
423
423
  }
@@ -454,8 +454,8 @@
454
454
  }
455
455
  ],
456
456
  "markdown_anchor": {
457
- "start": 26931,
458
- "end": 27066
457
+ "start": 36529,
458
+ "end": 36664
459
459
  }
460
460
  }
461
461
  }
@@ -485,8 +485,8 @@
485
485
  }
486
486
  ],
487
487
  "markdown_anchor": {
488
- "start": 53026,
489
- "end": 53074
488
+ "start": 53390,
489
+ "end": 53438
490
490
  }
491
491
  }
492
492
  }
@@ -551,8 +551,8 @@
551
551
  }
552
552
  ],
553
553
  "markdown_anchor": {
554
- "start": 65886,
555
- "end": 66324
554
+ "start": 66258,
555
+ "end": 66696
556
556
  }
557
557
  }
558
558
  }
@@ -624,8 +624,8 @@
624
624
  }
625
625
  ],
626
626
  "markdown_anchor": {
627
- "start": 54842,
628
- "end": 55327
627
+ "start": 55216,
628
+ "end": 55701
629
629
  }
630
630
  }
631
631
  }
@@ -2810,8 +2810,8 @@
2810
2810
  }
2811
2811
  ],
2812
2812
  "markdown_anchor": {
2813
- "start": 6305,
2814
- "end": 6462
2813
+ "start": 6304,
2814
+ "end": 6461
2815
2815
  }
2816
2816
  }
2817
2817
  },