flowapy 0.4.0__tar.gz → 0.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- flowapy-0.4.1/.github/CODEOWNERS +11 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/.github/dependabot.yml +27 -17
- {flowapy-0.4.0 → flowapy-0.4.1}/.github/workflows/release-chat-service.yaml +27 -1
- {flowapy-0.4.0 → flowapy-0.4.1}/.github/workflows/release-flowapy.yaml +4 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/.github/workflows/release-react-viewer.yaml +27 -1
- {flowapy-0.4.0 → flowapy-0.4.1}/PKG-INFO +8 -8
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/package.json +20 -20
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/components/literature/LiteratureView.tsx +23 -13
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/pyproject.toml +4 -10
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/uv.lock +167 -156
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/package.json +13 -13
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/README.md +17 -7
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/package.json +10 -10
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/index.ts +9 -0
- flowapy-0.4.1/packages/react-viewer/src/paper-matching/matchFilesToPapers.test.ts +140 -0
- flowapy-0.4.1/packages/react-viewer/src/paper-matching/matchFilesToPapers.ts +121 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/pnpm-lock.yaml +928 -897
- {flowapy-0.4.0 → flowapy-0.4.1}/pyproject.toml +20 -23
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/normalize.py +75 -43
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/query.py +16 -17
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/schema.py +1 -1
- flowapy-0.4.1/tests/test_normalize.py +105 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/uv.lock +218 -209
- flowapy-0.4.0/examples/demo/src/components/literature/matchFilename.ts +0 -51
- flowapy-0.4.0/examples/demo/test/matchFilename.test.ts +0 -103
- {flowapy-0.4.0 → flowapy-0.4.1}/.github/workflows/dependabot-auto-merge.yml +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/.github/workflows/lint.yaml +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/.gitignore +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/.markdownlint.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/.nvmrc +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/.pre-commit-config.yaml +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/.prettierignore +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/Dockerfile +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/LICENSE +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/README.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/docs/images/viewer.png +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/.gitkeep +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/.env.example +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/.gitignore +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/README.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/LICENSES.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/aggregation.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1002%2Fhumu.23878.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1016%2Fj.ymgmr.2024.101163.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1038%2Fs41598-022-25914-8.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs12881-019-0878-8.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-021-01817-1.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-021-02146-z.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-023-02848-6.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13052-019-0692-0.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffcvm.2022.1061384.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffcvm.2023.1261172.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffimmu.2024.1336599.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffped.2021.729824.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffphar.2022.903488.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3390%2Fijns11010016.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3390%2Fijns6020031.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/query.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/runs/cfc0186a7b7e46eb802a516b86ec207f/progress.jsonl +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/variant_details.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fajmg.a.61481/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/merged.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/merged.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/supplements/000_HUMU-40-2146-s001.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/supplements/000_HUMU-40-2146-s001.pdf.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.ejmg.2020.103997/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.nmd.2022.02.002/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.tjog.2022.07.008/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/merged.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/supplements/000_mmc1.docx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/merged.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/supplements/000_41598_2022_25914_MOESM1_ESM.docx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1093%2Fhmg%2Fddz218/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1136%2Fjmg-2022-108675/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/merged.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/supplements/000_Table1.docx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/merged.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/merged.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/supplements/000_Image_1.PDF +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/supplements/000_Image_1.PDF.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/main.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/main.pdf +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/metadata.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/next-env.d.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/next.config.mjs +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/postcss.config.cjs +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/public/favicon.svg +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/scripts/chat-service.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/scripts/copy-pdfjs-assets.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/scripts/exercise-llm.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/scripts/start.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/components/literature/PaperStatusGroup.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/components/literature/ProgressLog.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/db/migrate.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/db/schema.sql +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/aggregate.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/chatSessionClient.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/citationResolverClient.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/demoConfig.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/paperInvalidation.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/papers.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/progressEvents.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/runs.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/triageBackendClient.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/triageDb.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/lib/variantId.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/_app.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/aggregate/[variantId]/[category].ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/edit-drafts/[variantId]/[category]/[version].ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/edit-drafts/[variantId]/[category]/index.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/papers/[doi]/markdown.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/papers/[doi]/pdf.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/papers/[doi]/supplements.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/papers/index.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/runs/[variantId]/[runId]/progress.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/runs/index.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/runs/latest.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/triage/claim.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/triage/comment.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/triage/paper-done.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/api/triage/snapshot/[variantId]/[category]/[version].ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/index.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/variants/[variantId].tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/pages/viewer/[variantId]/[category].tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/src/styles/globals.css +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/tailwind.config.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/LiteratureView.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/ProgressLog.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/aggregate.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/chat-service.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/index-page.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/paper-invalidation.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/papers-pdf-upload.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/papers-route.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/papers-supplements.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/papers.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/progress-route.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/runs-latest-route.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/runs-route.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/runs.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/setup.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/triage.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/test/variantId.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/tsconfig.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo/vitest.config.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/README.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/src/demo_gateway/__init__.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/src/demo_gateway/config.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/src/demo_gateway/main.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/src/demo_gateway/progress.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/src/demo_gateway/runs.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/tests/__init__.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/tests/conftest.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/tests/test_main.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/tests/test_progress.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/tests/test_resolve.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/examples/demo-gateway/tests/test_runs.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/package.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/.gitkeep +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/Dockerfile +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/LICENSE +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/README.md +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/artifact.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/audit.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/auth/jwt.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/auth/oidc.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/chat.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/cli.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/config.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/index.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/instrumentation.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/llm/anthropic.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/llm/bedrock.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/llm/factory.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/llm/google-gla.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/llm/google-vertex.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/llm/interface.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/llm/openai.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/prompts.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/server.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/session.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/storage/factory.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/storage/fs.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/storage/gcs.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/storage/interface.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/storage/s3.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/storage-keys.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/telemetry.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/text.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/src/yaml.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/chat.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/generic-prompt.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/llm-factory.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/oidc.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/paper-cache.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/storage-fs.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/storage-gcs.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/storage-s3.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/text.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/test/yaml.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/tsconfig.build.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/tsconfig.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/chat-service/vitest.config.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/LICENSE +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/citations/sanitize.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/citations/sanitize.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/citations/types.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/llm-content/LlmContent.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/llm-content/LlmContent.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/markdown-viewer/MarkdownHighlightViewer.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/markdown-viewer/MarkdownHighlightViewer.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/markdown-viewer/offsets.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/markdown-viewer/offsets.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/markdown-viewer/plugins.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/markdown-viewer/plugins.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/markdown-viewer/types.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/pdf-viewer/PdfHighlightViewer.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/pdf-viewer/PdfHighlightViewer.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/pdf-viewer/types.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/styles.css +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/ChatDrawer.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/ChatDrawer.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/ChatSection.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/ClaimList.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/EvidenceViewerShell.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/EvidenceViewerShell.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/FocusCard.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/MessageParts.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/PaperHeader.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/PaperRail.test.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/PaperRail.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/ReasoningStep.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/SynthesisPanel.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/ToolStep.tsx +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/backend.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/citation-resolver.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/citation-utils.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/citation-utils.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/claim-refs.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/claim-refs.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/keyboard.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/keyboard.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/store.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/store.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/trace-format.test.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/trace-format.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/src/triage/types.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/tailwind.config.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/tsconfig.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/tsup.config.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/packages/react-viewer/vitest.config.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/pnpm-workspace.yaml +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/prompts/generic/aggregation_edit_prompt.txt +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/prompts/generic/aggregation_edit_schema.ts +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/prompts/generic/aggregation_prompt.txt +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/prompts/generic/aggregation_schema.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/prompts/generic/extraction_prompt.txt +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/prompts/generic/extraction_schema.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/prompts/generic/transcription_prompt.txt +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/prompts/package.json +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/__init__.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/aggregate.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/artifact.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/assemble.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/cli.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/clinvar.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/content_validation.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/convert.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/download.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/extract.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/http_retry.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/models.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/pdf_index_cache.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/progress.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/prompts/__init__.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/py.typed +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/resolve.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/run.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/settings.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/src/flowa/storage.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/__init__.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/test_assemble.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/test_content_validation.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/test_convert.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/test_download.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/test_pdf_index_cache.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/test_progress.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/test_prompts.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tests/test_resolve.py +0 -0
- {flowapy-0.4.0 → flowapy-0.4.1}/tsconfig.base.json +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Code review ownership for flowa.
|
|
2
|
+
#
|
|
3
|
+
# GitHub requests a review from the matching owner on every PR that touches
|
|
4
|
+
# these paths — including Dependabot's. This replaces Dependabot's `reviewers:`
|
|
5
|
+
# option, which GitHub retired in 2025 (it now silently ignores that key);
|
|
6
|
+
# CODEOWNERS is the supported mechanism for auto-requesting reviewers.
|
|
7
|
+
#
|
|
8
|
+
# `main` requires only the `lint` status check (no required code-owner
|
|
9
|
+
# approval), so this only *requests* review — it never blocks the auto-merge of
|
|
10
|
+
# routine Dependabot bumps (dependabot-auto-merge.yml).
|
|
11
|
+
* @lgruen-vcgs
|
|
@@ -12,8 +12,14 @@
|
|
|
12
12
|
# (`min-release-age=7d` in pnpm's global config, `exclude-newer = "7 days"`
|
|
13
13
|
# in each uv project). Without it Dependabot would happily open PRs that CI
|
|
14
14
|
# then rejects because the new version is too fresh.
|
|
15
|
-
# -
|
|
16
|
-
#
|
|
15
|
+
# - Review requests come from .github/CODEOWNERS. Dependabot's `reviewers:`
|
|
16
|
+
# option was retired by GitHub in 2025 (it is now silently ignored), so the
|
|
17
|
+
# code owner is what gets a review request on each PR. The weekly cadence
|
|
18
|
+
# keeps the inbox manageable.
|
|
19
|
+
# - No explicit `labels:` — Dependabot applies its defaults (`dependencies`
|
|
20
|
+
# plus the `python:uv` / `javascript:npm` ecosystem label, which it
|
|
21
|
+
# auto-creates). Naming a label here that Dependabot does not auto-create
|
|
22
|
+
# makes it error whenever that label is missing from the repo.
|
|
17
23
|
|
|
18
24
|
version: 2
|
|
19
25
|
|
|
@@ -26,15 +32,29 @@ updates:
|
|
|
26
32
|
schedule:
|
|
27
33
|
interval: "weekly"
|
|
28
34
|
open-pull-requests-limit: 10
|
|
29
|
-
reviewers:
|
|
30
|
-
- "lgruen-vcgs"
|
|
31
|
-
labels:
|
|
32
|
-
- "dependencies"
|
|
33
|
-
- "npm"
|
|
34
35
|
commit-message:
|
|
35
36
|
prefix: "deps"
|
|
36
37
|
cooldown:
|
|
37
38
|
default-days: 7
|
|
39
|
+
# Hold the published UI peer deps on their current majors. @flowajs/react-
|
|
40
|
+
# viewer declares @mantine/* and react / react-dom as peer dependencies
|
|
41
|
+
# (^8 / ^18); downstream consumers of the published package are on those
|
|
42
|
+
# majors (Mantine 8 / React 18). A major bump here drags the peer range
|
|
43
|
+
# ahead of those consumers and forces them through a breaking upgrade, so
|
|
44
|
+
# block majors for the @mantine/* family and the react stack until they
|
|
45
|
+
# migrate in lockstep. Minor/patch within 8.x / 18.x still flow (the
|
|
46
|
+
# npm-non-major group below).
|
|
47
|
+
ignore:
|
|
48
|
+
- dependency-name: "@mantine/*"
|
|
49
|
+
update-types: ["version-update:semver-major"]
|
|
50
|
+
- dependency-name: "react"
|
|
51
|
+
update-types: ["version-update:semver-major"]
|
|
52
|
+
- dependency-name: "react-dom"
|
|
53
|
+
update-types: ["version-update:semver-major"]
|
|
54
|
+
- dependency-name: "@types/react"
|
|
55
|
+
update-types: ["version-update:semver-major"]
|
|
56
|
+
- dependency-name: "@types/react-dom"
|
|
57
|
+
update-types: ["version-update:semver-major"]
|
|
38
58
|
groups:
|
|
39
59
|
npm-non-major:
|
|
40
60
|
patterns:
|
|
@@ -49,11 +69,6 @@ updates:
|
|
|
49
69
|
schedule:
|
|
50
70
|
interval: "weekly"
|
|
51
71
|
open-pull-requests-limit: 10
|
|
52
|
-
reviewers:
|
|
53
|
-
- "lgruen-vcgs"
|
|
54
|
-
labels:
|
|
55
|
-
- "dependencies"
|
|
56
|
-
- "python"
|
|
57
72
|
commit-message:
|
|
58
73
|
prefix: "deps"
|
|
59
74
|
cooldown:
|
|
@@ -73,11 +88,6 @@ updates:
|
|
|
73
88
|
schedule:
|
|
74
89
|
interval: "weekly"
|
|
75
90
|
open-pull-requests-limit: 10
|
|
76
|
-
reviewers:
|
|
77
|
-
- "lgruen-vcgs"
|
|
78
|
-
labels:
|
|
79
|
-
- "dependencies"
|
|
80
|
-
- "python"
|
|
81
91
|
commit-message:
|
|
82
92
|
prefix: "deps"
|
|
83
93
|
cooldown:
|
|
@@ -75,8 +75,34 @@ jobs:
|
|
|
75
75
|
working-directory: packages/chat-service
|
|
76
76
|
run: pnpm pack --dry-run
|
|
77
77
|
|
|
78
|
+
# `npm publish --provenance` occasionally exits non-zero with a spurious
|
|
79
|
+
# `E401 … Failed to generate Web Auth URLs` from its post-publish web-auth
|
|
80
|
+
# step *after* the registry has already accepted the tarball + provenance.
|
|
81
|
+
# Verify the registry state on failure and treat a present version as
|
|
82
|
+
# success — this also makes a re-run over an already-published version pass.
|
|
78
83
|
- name: Publish
|
|
79
84
|
working-directory: packages/chat-service
|
|
80
|
-
run: npm publish --provenance --access=public
|
|
81
85
|
env:
|
|
82
86
|
NPM_CONFIG_PROVENANCE: true
|
|
87
|
+
run: |
|
|
88
|
+
name=$(node -p "require('./package.json').name")
|
|
89
|
+
version=$(node -p "require('./package.json').version")
|
|
90
|
+
set +e
|
|
91
|
+
npm publish --provenance --access=public
|
|
92
|
+
code=$?
|
|
93
|
+
set -e
|
|
94
|
+
if [ "$code" -eq 0 ]; then
|
|
95
|
+
echo "Published $name@$version."
|
|
96
|
+
exit 0
|
|
97
|
+
fi
|
|
98
|
+
echo "npm publish exited $code; verifying whether $name@$version reached the registry."
|
|
99
|
+
for attempt in 1 2 3; do
|
|
100
|
+
if npm view "$name@$version" version >/dev/null 2>&1; then
|
|
101
|
+
echo "$name@$version is present on the registry; treating as published."
|
|
102
|
+
exit 0
|
|
103
|
+
fi
|
|
104
|
+
echo "Not visible yet (attempt $attempt/3); waiting for registry propagation."
|
|
105
|
+
sleep 10
|
|
106
|
+
done
|
|
107
|
+
echo "Publish failed: $name@$version is not on the registry."
|
|
108
|
+
exit "$code"
|
|
@@ -72,8 +72,34 @@ jobs:
|
|
|
72
72
|
working-directory: packages/react-viewer
|
|
73
73
|
run: pnpm pack --dry-run
|
|
74
74
|
|
|
75
|
+
# `npm publish --provenance` occasionally exits non-zero with a spurious
|
|
76
|
+
# `E401 … Failed to generate Web Auth URLs` from its post-publish web-auth
|
|
77
|
+
# step *after* the registry has already accepted the tarball + provenance.
|
|
78
|
+
# Verify the registry state on failure and treat a present version as
|
|
79
|
+
# success — this also makes a re-run over an already-published version pass.
|
|
75
80
|
- name: Publish
|
|
76
81
|
working-directory: packages/react-viewer
|
|
77
|
-
run: npm publish --provenance --access=public
|
|
78
82
|
env:
|
|
79
83
|
NPM_CONFIG_PROVENANCE: true
|
|
84
|
+
run: |
|
|
85
|
+
name=$(node -p "require('./package.json').name")
|
|
86
|
+
version=$(node -p "require('./package.json').version")
|
|
87
|
+
set +e
|
|
88
|
+
npm publish --provenance --access=public
|
|
89
|
+
code=$?
|
|
90
|
+
set -e
|
|
91
|
+
if [ "$code" -eq 0 ]; then
|
|
92
|
+
echo "Published $name@$version."
|
|
93
|
+
exit 0
|
|
94
|
+
fi
|
|
95
|
+
echo "npm publish exited $code; verifying whether $name@$version reached the registry."
|
|
96
|
+
for attempt in 1 2 3; do
|
|
97
|
+
if npm view "$name@$version" version >/dev/null 2>&1; then
|
|
98
|
+
echo "$name@$version is present on the registry; treating as published."
|
|
99
|
+
exit 0
|
|
100
|
+
fi
|
|
101
|
+
echo "Not visible yet (attempt $attempt/3); waiting for registry propagation."
|
|
102
|
+
sleep 10
|
|
103
|
+
done
|
|
104
|
+
echo "Publish failed: $name@$version is not on the registry."
|
|
105
|
+
exit "$code"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flowapy
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
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
|
|
@@ -37,27 +37,27 @@ Requires-Python: ==3.13.*
|
|
|
37
37
|
Requires-Dist: anchorite>=0.5.1
|
|
38
38
|
Requires-Dist: boto3
|
|
39
39
|
Requires-Dist: defusedxml
|
|
40
|
-
Requires-Dist: fsspec
|
|
41
|
-
Requires-Dist: gcsfs
|
|
40
|
+
Requires-Dist: fsspec>=2026.4.0
|
|
41
|
+
Requires-Dist: gcsfs>=2026.4.0
|
|
42
42
|
Requires-Dist: httpx
|
|
43
43
|
Requires-Dist: jinja2
|
|
44
44
|
Requires-Dist: logfire
|
|
45
45
|
Requires-Dist: markitdown[docx,xls,xlsx]>=0.1.5
|
|
46
46
|
Requires-Dist: pydantic-settings
|
|
47
47
|
Requires-Dist: pypdf
|
|
48
|
-
Requires-Dist: s3fs
|
|
48
|
+
Requires-Dist: s3fs>=2026.4.0
|
|
49
49
|
Requires-Dist: socksio>=1.0.0
|
|
50
50
|
Requires-Dist: tenacity
|
|
51
51
|
Requires-Dist: typer
|
|
52
52
|
Requires-Dist: zstandard
|
|
53
53
|
Provides-Extra: anthropic
|
|
54
|
-
Requires-Dist: pydantic-ai-slim[anthropic]
|
|
54
|
+
Requires-Dist: pydantic-ai-slim[anthropic]<2,>=1.101.0; extra == 'anthropic'
|
|
55
55
|
Provides-Extra: bedrock
|
|
56
|
-
Requires-Dist: pydantic-ai-slim[bedrock]
|
|
56
|
+
Requires-Dist: pydantic-ai-slim[bedrock]<2,>=1.101.0; extra == 'bedrock'
|
|
57
57
|
Provides-Extra: google
|
|
58
|
-
Requires-Dist: pydantic-ai-slim[google]
|
|
58
|
+
Requires-Dist: pydantic-ai-slim[google]<2,>=1.101.0; extra == 'google'
|
|
59
59
|
Provides-Extra: openai
|
|
60
|
-
Requires-Dist: pydantic-ai-slim[openai]
|
|
60
|
+
Requires-Dist: pydantic-ai-slim[openai]<2,>=1.101.0; extra == 'openai'
|
|
61
61
|
Description-Content-Type: text/markdown
|
|
62
62
|
|
|
63
63
|
# Flowa
|
|
@@ -19,46 +19,46 @@
|
|
|
19
19
|
"build": "next build"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@ai-sdk/amazon-bedrock": "4.0.
|
|
23
|
-
"@ai-sdk/anthropic": "3.0.
|
|
24
|
-
"@ai-sdk/google": "3.0.
|
|
25
|
-
"@ai-sdk/google-vertex": "4.0.
|
|
26
|
-
"@ai-sdk/openai": "3.0.
|
|
27
|
-
"@ai-sdk/react": "3.0.
|
|
28
|
-
"@aws-sdk/client-s3": "3.
|
|
29
|
-
"@aws-sdk/credential-providers": "3.
|
|
22
|
+
"@ai-sdk/amazon-bedrock": "4.0.110",
|
|
23
|
+
"@ai-sdk/anthropic": "3.0.80",
|
|
24
|
+
"@ai-sdk/google": "3.0.80",
|
|
25
|
+
"@ai-sdk/google-vertex": "4.0.139",
|
|
26
|
+
"@ai-sdk/openai": "3.0.66",
|
|
27
|
+
"@ai-sdk/react": "3.0.193",
|
|
28
|
+
"@aws-sdk/client-s3": "3.1055.0",
|
|
29
|
+
"@aws-sdk/credential-providers": "3.1055.0",
|
|
30
30
|
"@flowajs/chat-service": "workspace:*",
|
|
31
31
|
"@flowajs/prompts": "workspace:*",
|
|
32
32
|
"@flowajs/react-viewer": "workspace:*",
|
|
33
|
-
"@hono/node-server": "
|
|
33
|
+
"@hono/node-server": "2.0.4",
|
|
34
34
|
"@mantine/core": "8.3.18",
|
|
35
35
|
"@mantine/hooks": "8.3.18",
|
|
36
36
|
"@tabler/icons-react": "3.44.0",
|
|
37
|
-
"ai": "6.0.
|
|
37
|
+
"ai": "6.0.191",
|
|
38
38
|
"formidable": "3.5.4",
|
|
39
39
|
"next": "16.2.6",
|
|
40
|
-
"react": "18.
|
|
41
|
-
"react-dom": "18.
|
|
40
|
+
"react": "18.3.1",
|
|
41
|
+
"react-dom": "18.3.1",
|
|
42
42
|
"zod": "4.4.3",
|
|
43
|
-
"zustand": "
|
|
43
|
+
"zustand": "5.0.14"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@testing-library/dom": "10.4.1",
|
|
47
47
|
"@testing-library/jest-dom": "6.9.1",
|
|
48
48
|
"@testing-library/react": "16.3.2",
|
|
49
49
|
"@types/formidable": "3.5.1",
|
|
50
|
-
"@types/node": "
|
|
50
|
+
"@types/node": "25.9.1",
|
|
51
51
|
"@types/react": "18.3.18",
|
|
52
52
|
"@types/react-dom": "18.3.5",
|
|
53
53
|
"autoprefixer": "10.5.0",
|
|
54
|
-
"concurrently": "
|
|
54
|
+
"concurrently": "10.0.0",
|
|
55
55
|
"happy-dom": "20.9.0",
|
|
56
|
-
"pdfjs-dist": "
|
|
57
|
-
"postcss": "8.5.
|
|
56
|
+
"pdfjs-dist": "5.7.284",
|
|
57
|
+
"postcss": "8.5.15",
|
|
58
58
|
"tailwindcss": "3.4.17",
|
|
59
|
-
"tsx": "4.22.
|
|
59
|
+
"tsx": "4.22.3",
|
|
60
60
|
"typescript": "5.7.3",
|
|
61
|
-
"vite": "8.0.
|
|
62
|
-
"vitest": "4.1.
|
|
61
|
+
"vite": "8.0.14",
|
|
62
|
+
"vitest": "4.1.7"
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -23,7 +23,7 @@ import type { LatestRunInfo } from "@/lib/runs";
|
|
|
23
23
|
import type { ProgressResponse } from "@/lib/progressEvents";
|
|
24
24
|
import { PaperStatusGroup } from "./PaperStatusGroup";
|
|
25
25
|
import { ProgressLog } from "./ProgressLog";
|
|
26
|
-
import {
|
|
26
|
+
import { matchFilesToPapers } from "@flowajs/react-viewer";
|
|
27
27
|
|
|
28
28
|
const POLL_INTERVAL_ACTIVE_MS = 15_000;
|
|
29
29
|
const POLL_INTERVAL_TERMINAL_MS = 60_000;
|
|
@@ -226,21 +226,30 @@ export function LiteratureView({ variantId }: LiteratureViewProps) {
|
|
|
226
226
|
const handleBulkUpload = useCallback(
|
|
227
227
|
async (files: File[]) => {
|
|
228
228
|
if (!papersResp) return;
|
|
229
|
-
const
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
229
|
+
const filesByName = new Map(files.map((f) => [f.name, f]));
|
|
230
|
+
const { mains, supplements, unmatched } = matchFilesToPapers(
|
|
231
|
+
files.map((f) => f.name),
|
|
232
|
+
papersResp.papers,
|
|
233
|
+
);
|
|
234
|
+
// Mains first: a supplement's POST requires the paper's main.pdf to exist.
|
|
235
|
+
for (const { filename, paper } of mains) {
|
|
236
|
+
const file = filesByName.get(filename);
|
|
237
|
+
if (file) await uploadPaperPdf(paper, file);
|
|
238
|
+
}
|
|
239
|
+
// Then supplements, in the lexicographic order the matcher returned, so
|
|
240
|
+
// their ingestion ordinals follow filename order.
|
|
241
|
+
for (const { filename, paper } of supplements) {
|
|
242
|
+
const file = filesByName.get(filename);
|
|
243
|
+
if (file) await uploadPaperSupplement(paper, file, variantId);
|
|
235
244
|
}
|
|
236
245
|
await fetchPapers();
|
|
237
|
-
if (
|
|
246
|
+
if (unmatched.length > 0) {
|
|
238
247
|
setError(
|
|
239
|
-
`Could not match ${
|
|
248
|
+
`Could not match ${unmatched.length} file(s) by PMID or encoded DOI: ${unmatched.join(", ")}`,
|
|
240
249
|
);
|
|
241
250
|
}
|
|
242
251
|
},
|
|
243
|
-
[papersResp, fetchPapers],
|
|
252
|
+
[papersResp, fetchPapers, variantId],
|
|
244
253
|
);
|
|
245
254
|
|
|
246
255
|
const handleOpenAllUrls = useCallback(() => {
|
|
@@ -482,13 +491,14 @@ function BulkDropzone({ onFiles }: BulkDropzoneProps) {
|
|
|
482
491
|
>
|
|
483
492
|
<Group justify="space-between" align="center">
|
|
484
493
|
<Text size="sm">
|
|
485
|
-
Drop
|
|
486
|
-
<code><encoded-DOI>.pdf</code>)
|
|
494
|
+
Drop papers (<code><PMID>.pdf</code> or{" "}
|
|
495
|
+
<code><encoded-DOI>.pdf</code>) and supplements (
|
|
496
|
+
<code><id>_supp.*</code>) here to bulk-upload.
|
|
487
497
|
</Text>
|
|
488
498
|
<input
|
|
489
499
|
ref={inputRef}
|
|
490
500
|
type="file"
|
|
491
|
-
accept="
|
|
501
|
+
accept=".pdf,.xlsx,.xls,.docx"
|
|
492
502
|
multiple
|
|
493
503
|
style={{ display: "none" }}
|
|
494
504
|
data-testid="bulk-dropzone-input"
|
|
@@ -17,16 +17,10 @@ dependencies = [
|
|
|
17
17
|
# Match the polyglot supply-chain posture of the parent flowa repo: only
|
|
18
18
|
# install package versions ≥ 7 days old.
|
|
19
19
|
exclude-newer = "7 days"
|
|
20
|
-
# Bypass the gate for
|
|
21
|
-
#
|
|
22
|
-
#
|
|
23
|
-
|
|
24
|
-
# thinking fixes ahead of the 7-day age threshold; the exact pin lives in
|
|
25
|
-
# flowa's pyproject.toml. pydantic-graph rides along because pydantic-ai-slim
|
|
26
|
-
# pins it via upstream equality. Drop these two entries (in lockstep with the
|
|
27
|
-
# parent flowa pyproject) once 1.101.0 ages past 7 days on PyPI (around
|
|
28
|
-
# 2026-05-29).
|
|
29
|
-
exclude-newer-package = { anchorite = "0 days", seq-smith = "0 days", pydantic-ai-slim = "0 days", pydantic-graph = "0 days" }
|
|
20
|
+
# Bypass the gate only for the first-party packages flowa pulls in and needs
|
|
21
|
+
# fresh: anchorite (a base dep) and seq-smith, which new anchorite releases pin
|
|
22
|
+
# tightly. Third-party packages always observe the 7-day floor.
|
|
23
|
+
exclude-newer-package = { anchorite = "0 days", seq-smith = "0 days" }
|
|
30
24
|
|
|
31
25
|
[tool.uv.sources]
|
|
32
26
|
# flowapy (the PyPI distribution name; import is still `flowa`) lives one
|