flowapy 0.4.2__tar.gz → 0.5.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.
- {flowapy-0.4.2 → flowapy-0.5.0}/PKG-INFO +33 -16
- {flowapy-0.4.2 → flowapy-0.5.0}/README.md +32 -15
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/README.md +6 -3
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/package.json +14 -14
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/scripts/chat-service.ts +4 -4
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/README.md +2 -2
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/tests/conftest.py +2 -1
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/uv.lock +42 -41
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/package.json +10 -10
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/chat.ts +34 -6
- flowapy-0.5.0/packages/chat-service/src/prompts.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/server.ts +1 -1
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/session.ts +17 -22
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/telemetry.ts +2 -1
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/chat.test.ts +42 -22
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/generic-prompt.test.ts +66 -24
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/paper-cache.test.ts +0 -1
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/package.json +5 -5
- {flowapy-0.4.2 → flowapy-0.5.0}/pnpm-lock.yaml +519 -488
- flowapy-0.5.0/pnpm-workspace.yaml +13 -0
- flowapy-0.5.0/prompts/generic/aggregation/authoring.txt +88 -0
- flowapy-0.5.0/prompts/generic/aggregation/categories/acmg_classification.txt +131 -0
- flowapy-0.5.0/prompts/generic/aggregation/categories.json +6 -0
- flowapy-0.5.0/prompts/generic/aggregation/edit_prompt.txt +84 -0
- flowapy-0.5.0/prompts/generic/aggregation/prompt.txt +34 -0
- flowapy-0.5.0/prompts/generic/aggregation/schema.py +31 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/prompts/package.json +3 -2
- {flowapy-0.4.2 → flowapy-0.5.0}/pyproject.toml +6 -1
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/aggregate.py +103 -48
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/content_validation.py +55 -5
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/convert.py +1 -1
- flowapy-0.5.0/src/flowa/prompts/__init__.py +204 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/run.py +23 -26
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/settings.py +8 -1
- flowapy-0.5.0/tests/fixtures/prompt_sets/multi/aggregation/authoring.txt +2 -0
- flowapy-0.5.0/tests/fixtures/prompt_sets/multi/aggregation/categories/alpha.txt +2 -0
- flowapy-0.5.0/tests/fixtures/prompt_sets/multi/aggregation/categories/beta.txt +2 -0
- flowapy-0.5.0/tests/fixtures/prompt_sets/multi/aggregation/categories.json +4 -0
- flowapy-0.5.0/tests/fixtures/prompt_sets/multi/aggregation/edit_prompt.txt +16 -0
- flowapy-0.5.0/tests/fixtures/prompt_sets/multi/aggregation/prompt.txt +13 -0
- flowapy-0.5.0/tests/fixtures/prompt_sets/multi/aggregation/schema.py +17 -0
- flowapy-0.5.0/tests/test_aggregate.py +204 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_content_validation.py +51 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_convert.py +15 -16
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_download.py +4 -6
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_normalize.py +4 -6
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_pdfium.py +2 -5
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_prompts.py +41 -14
- {flowapy-0.4.2 → flowapy-0.5.0}/uv.lock +45 -31
- flowapy-0.4.2/packages/chat-service/src/prompts.ts +0 -21
- flowapy-0.4.2/pnpm-workspace.yaml +0 -4
- flowapy-0.4.2/prompts/generic/aggregation_edit_prompt.txt +0 -264
- flowapy-0.4.2/prompts/generic/aggregation_prompt.txt +0 -279
- flowapy-0.4.2/prompts/generic/aggregation_schema.py +0 -36
- flowapy-0.4.2/src/flowa/prompts/__init__.py +0 -148
- {flowapy-0.4.2 → flowapy-0.5.0}/.github/CODEOWNERS +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.github/dependabot.yml +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.github/workflows/dependabot-auto-merge.yml +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.github/workflows/lint.yaml +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.github/workflows/release-chat-service.yaml +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.github/workflows/release-flowapy.yaml +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.github/workflows/release-react-viewer.yaml +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.gitignore +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.markdownlint.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.nvmrc +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.pre-commit-config.yaml +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/.prettierignore +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/Dockerfile +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/LICENSE +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/docs/images/viewer.png +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/.gitkeep +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/.env.example +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/.gitignore +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/LICENSES.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/aggregation.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1002%2Fhumu.23878.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1016%2Fj.ymgmr.2024.101163.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1038%2Fs41598-022-25914-8.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs12881-019-0878-8.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-021-01817-1.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-021-02146-z.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13023-023-02848-6.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.1186%2Fs13052-019-0692-0.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffcvm.2022.1061384.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffcvm.2023.1261172.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffimmu.2024.1336599.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffped.2021.729824.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3389%2Ffphar.2022.903488.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3390%2Fijns11010016.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/extractions/10.3390%2Fijns6020031.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/query.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/runs/cfc0186a7b7e46eb802a516b86ec207f/progress.jsonl +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/assessments/NM_000152_5-c_1935C_A/variant_details.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fajmg.a.61481/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/merged.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/merged.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/supplements/000_HUMU-40-2146-s001.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1002%2Fhumu.23878/supplements/000_HUMU-40-2146-s001.pdf.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.ejmg.2020.103997/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.nmd.2022.02.002/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.tjog.2022.07.008/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/merged.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1016%2Fj.ymgmr.2024.101163/supplements/000_mmc1.docx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/merged.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1038%2Fs41598-022-25914-8/supplements/000_41598_2022_25914_MOESM1_ESM.docx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1093%2Fhmg%2Fddz218/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1136%2Fjmg-2022-108675/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs12881-019-0878-8/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-01817-1/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-021-02146-z/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13023-023-02848-6/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.1186%2Fs13052-019-0692-0/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2022.1061384/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/merged.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffcvm.2023.1261172/supplements/000_Table1.docx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffimmu.2024.1336599/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/merged.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/merged.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/supplements/000_Image_1.PDF +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffped.2021.729824/supplements/000_Image_1.PDF.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3389%2Ffphar.2022.903488/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3390%2Fijns11010016/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/main.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/main.pdf +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/metadata.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/fixtures/papers/10.3390%2Fijns6020031/pdf_index.pkl.zst +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/next-env.d.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/next.config.mjs +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/postcss.config.cjs +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/public/favicon.svg +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/scripts/copy-pdfjs-assets.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/scripts/exercise-llm.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/scripts/start.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/components/literature/LiteratureView.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/components/literature/PaperStatusGroup.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/components/literature/ProgressLog.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/db/migrate.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/db/schema.sql +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/aggregate.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/chatSessionClient.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/citationResolverClient.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/demoConfig.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/paperInvalidation.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/papers.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/progressEvents.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/runs.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/triageBackendClient.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/triageDb.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/lib/variantId.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/_app.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/aggregate/[variantId]/[category].ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/edit-drafts/[variantId]/[category]/[version].ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/edit-drafts/[variantId]/[category]/index.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/papers/[doi]/markdown.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/papers/[doi]/pdf.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/papers/[doi]/supplements.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/papers/index.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/runs/[variantId]/[runId]/progress.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/runs/index.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/runs/latest.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/triage/claim.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/triage/comment.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/triage/paper-done.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/api/triage/snapshot/[variantId]/[category]/[version].ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/index.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/variants/[variantId].tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/pages/viewer/[variantId]/[category].tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/src/styles/globals.css +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/tailwind.config.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/LiteratureView.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/ProgressLog.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/aggregate.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/chat-service.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/index-page.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/paper-invalidation.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/papers-pdf-upload.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/papers-route.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/papers-supplements.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/papers.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/progress-route.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/runs-latest-route.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/runs-route.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/runs.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/setup.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/triage.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/test/variantId.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/tsconfig.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo/vitest.config.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/pyproject.toml +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/src/demo_gateway/__init__.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/src/demo_gateway/config.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/src/demo_gateway/main.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/src/demo_gateway/progress.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/src/demo_gateway/runs.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/tests/__init__.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/tests/test_main.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/tests/test_progress.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/tests/test_resolve.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/examples/demo-gateway/tests/test_runs.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/package.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/.gitkeep +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/Dockerfile +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/LICENSE +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/README.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/artifact.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/audit.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/auth/jwt.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/auth/oidc.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/cli.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/config.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/index.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/instrumentation.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/llm/anthropic.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/llm/bedrock.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/llm/factory.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/llm/google-gla.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/llm/google-vertex.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/llm/interface.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/llm/openai.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/storage/factory.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/storage/fs.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/storage/gcs.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/storage/interface.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/storage/s3.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/storage-keys.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/text.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/src/yaml.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/llm-factory.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/oidc.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/storage-fs.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/storage-gcs.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/storage-s3.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/text.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/test/yaml.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/tsconfig.build.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/tsconfig.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/chat-service/vitest.config.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/LICENSE +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/README.md +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/citations/sanitize.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/citations/sanitize.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/citations/types.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/index.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/llm-content/LlmContent.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/llm-content/LlmContent.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/markdown-viewer/MarkdownHighlightViewer.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/markdown-viewer/MarkdownHighlightViewer.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/markdown-viewer/offsets.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/markdown-viewer/offsets.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/markdown-viewer/plugins.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/markdown-viewer/plugins.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/markdown-viewer/types.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/paper-matching/matchFilesToPapers.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/paper-matching/matchFilesToPapers.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/pdf-viewer/PdfHighlightViewer.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/pdf-viewer/PdfHighlightViewer.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/pdf-viewer/types.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/styles.css +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/ChatDrawer.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/ChatDrawer.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/ChatSection.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/ClaimList.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/EvidenceViewerShell.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/EvidenceViewerShell.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/FocusCard.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/MessageParts.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/PaperHeader.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/PaperRail.test.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/PaperRail.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/ReasoningStep.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/SynthesisPanel.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/ToolStep.tsx +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/backend.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/citation-resolver.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/citation-utils.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/citation-utils.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/claim-refs.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/claim-refs.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/keyboard.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/keyboard.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/store.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/store.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/trace-format.test.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/trace-format.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/src/triage/types.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/tailwind.config.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/tsconfig.json +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/tsup.config.ts +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/packages/react-viewer/vitest.config.ts +0 -0
- /flowapy-0.4.2/prompts/generic/aggregation_edit_schema.ts → /flowapy-0.5.0/prompts/generic/aggregation/edit_schema.ts +0 -0
- /flowapy-0.4.2/prompts/generic/extraction_prompt.txt → /flowapy-0.5.0/prompts/generic/extraction/prompt.txt +0 -0
- /flowapy-0.4.2/prompts/generic/extraction_schema.py → /flowapy-0.5.0/prompts/generic/extraction/schema.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/prompts/generic/transcription_prompt.txt +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/__init__.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/artifact.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/assemble.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/cli.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/clinvar.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/download.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/extract.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/http_retry.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/models.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/normalize.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/pdf_index_cache.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/pdfium.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/progress.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/py.typed +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/query.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/resolve.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/schema.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/src/flowa/storage.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/__init__.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_assemble.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_pdf_index_cache.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_progress.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/tests/test_resolve.py +0 -0
- {flowapy-0.4.2 → flowapy-0.5.0}/tsconfig.base.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flowapy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.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
|
|
@@ -115,12 +115,20 @@ The PyPI distribution is named `flowapy` (the `flowa` name was already taken), b
|
|
|
115
115
|
|
|
116
116
|
## Usage
|
|
117
117
|
|
|
118
|
+
A variant is passed as `--variant-spec`, either inline JSON or `@path/to/spec.json`. The
|
|
119
|
+
envelope is `{"schema_version": 1, "variants": [{ "kind": "hgvs_c", "transcript": ...,
|
|
120
|
+
"hgvs_c": ... }]}` — `hgvs_c` is the bare coding change with no transcript prefix. The gene
|
|
121
|
+
symbol and genomic coordinates are derived downstream, so they aren't part of the spec.
|
|
122
|
+
|
|
118
123
|
```bash
|
|
124
|
+
# Example variant spec (GAA / Pompe, NM_000152.5:c.2238G>C)
|
|
125
|
+
SPEC='{"schema_version":1,"variants":[{"kind":"hgvs_c","transcript":"NM_000152.5","hgvs_c":"c.2238G>C"}]}'
|
|
126
|
+
|
|
119
127
|
# Full pipeline
|
|
120
|
-
flowa run --variant-id VAR123 --
|
|
128
|
+
flowa run --variant-id VAR123 --variant-spec "$SPEC" --source litvar
|
|
121
129
|
|
|
122
130
|
# Individual steps (for debugging)
|
|
123
|
-
flowa query --variant-id VAR123 --
|
|
131
|
+
flowa query --variant-id VAR123 --variant-spec "$SPEC" --source litvar
|
|
124
132
|
flowa download --doi '10.1038/s41586-020-2308-7'
|
|
125
133
|
flowa convert --doi '10.1038/s41586-020-2308-7'
|
|
126
134
|
flowa extract --variant-id VAR123 --doi '10.1038/s41586-020-2308-7'
|
|
@@ -136,15 +144,17 @@ The model settings are nested config objects: set their sub-fields with the `__`
|
|
|
136
144
|
| Variable | Description | Example |
|
|
137
145
|
| ------------------------------ | ---------------------------------------------------------------------------- | -------------------------------------------- |
|
|
138
146
|
| `FLOWA_STORAGE_BASE` | Storage path for PDFs, extractions, results | `s3://bucket`, `gs://bucket`, `file:///path` |
|
|
139
|
-
| `
|
|
140
|
-
| `FLOWA_EXTRACTION_MODEL__NAME` | LLM for extraction
|
|
147
|
+
| `FLOWA_CONVERSION_MODEL__NAME` | LLM for PDF→Markdown conversion (anchorite), in `<provider>:<model>` form | `bedrock:au.anthropic.claude-sonnet-4-6` |
|
|
148
|
+
| `FLOWA_EXTRACTION_MODEL__NAME` | LLM for extraction | `bedrock:au.anthropic.claude-sonnet-4-6` |
|
|
149
|
+
| `FLOWA_AGGREGATION_MODEL__NAME` | LLM for aggregation | `bedrock:au.anthropic.claude-opus-4-8` |
|
|
141
150
|
|
|
142
151
|
Optional:
|
|
143
152
|
|
|
144
153
|
| Variable | Description |
|
|
145
154
|
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
146
|
-
| `
|
|
147
|
-
| `FLOWA_EXTRACTION_MODEL__BEDROCK_INFERENCE_PROFILE` | Same, for the extraction
|
|
155
|
+
| `FLOWA_CONVERSION_MODEL__BEDROCK_INFERENCE_PROFILE` | Bedrock application inference profile ARN for cost attribution. When set, `__NAME` must point at the underlying foundation model. |
|
|
156
|
+
| `FLOWA_EXTRACTION_MODEL__BEDROCK_INFERENCE_PROFILE` | Same, for the extraction model. |
|
|
157
|
+
| `FLOWA_AGGREGATION_MODEL__BEDROCK_INFERENCE_PROFILE` | Same, for the aggregation model. |
|
|
148
158
|
| `MASTERMIND_API_TOKEN` | Required when querying with `--source mastermind`; use `--source litvar` (free, no token) otherwise. |
|
|
149
159
|
| `NCBI_API_KEY` | Optional NCBI key for higher PubMed rate limits. |
|
|
150
160
|
|
|
@@ -292,9 +302,12 @@ Run the pipeline directly from a checkout (the [Quickstart](#quickstart) demo wr
|
|
|
292
302
|
|
|
293
303
|
```bash
|
|
294
304
|
export FLOWA_STORAGE_BASE=file:///tmp/flowa
|
|
295
|
-
export
|
|
296
|
-
export FLOWA_EXTRACTION_MODEL__NAME=bedrock:au.anthropic.claude-
|
|
297
|
-
|
|
305
|
+
export FLOWA_CONVERSION_MODEL__NAME=bedrock:au.anthropic.claude-sonnet-4-6
|
|
306
|
+
export FLOWA_EXTRACTION_MODEL__NAME=bedrock:au.anthropic.claude-sonnet-4-6
|
|
307
|
+
export FLOWA_AGGREGATION_MODEL__NAME=bedrock:au.anthropic.claude-opus-4-8
|
|
308
|
+
uv run flowa run --variant-id test \
|
|
309
|
+
--variant-spec '{"schema_version":1,"variants":[{"kind":"hgvs_c","transcript":"NM_000152.5","hgvs_c":"c.2238G>C"}]}' \
|
|
310
|
+
--source litvar
|
|
298
311
|
```
|
|
299
312
|
|
|
300
313
|
### Docker
|
|
@@ -303,10 +316,13 @@ uv run flowa run --variant-id test --gene GAA --hgvs-c "NM_000152.5:c.2238G>C" -
|
|
|
303
316
|
docker build --build-arg LLM_EXTRA=bedrock -t flowa .
|
|
304
317
|
docker run \
|
|
305
318
|
-e FLOWA_STORAGE_BASE=s3://bucket \
|
|
306
|
-
-e
|
|
307
|
-
-e FLOWA_EXTRACTION_MODEL__NAME=bedrock:au.anthropic.claude-
|
|
319
|
+
-e FLOWA_CONVERSION_MODEL__NAME=bedrock:au.anthropic.claude-sonnet-4-6 \
|
|
320
|
+
-e FLOWA_EXTRACTION_MODEL__NAME=bedrock:au.anthropic.claude-sonnet-4-6 \
|
|
321
|
+
-e FLOWA_AGGREGATION_MODEL__NAME=bedrock:au.anthropic.claude-opus-4-8 \
|
|
308
322
|
-e AWS_REGION=ap-southeast-2 \
|
|
309
|
-
flowa run --variant-id VAR123
|
|
323
|
+
flowa run --variant-id VAR123 \
|
|
324
|
+
--variant-spec '{"schema_version":1,"variants":[{"kind":"hgvs_c","transcript":"NM_000152.5","hgvs_c":"c.2238G>C"}]}' \
|
|
325
|
+
--source litvar
|
|
310
326
|
```
|
|
311
327
|
|
|
312
328
|
### AWS Batch
|
|
@@ -325,8 +341,9 @@ aws batch register-job-definition \
|
|
|
325
341
|
],
|
|
326
342
|
"environment": [
|
|
327
343
|
{"name": "FLOWA_STORAGE_BASE", "value": "s3://flowa-data"},
|
|
328
|
-
{"name": "
|
|
329
|
-
{"name": "FLOWA_EXTRACTION_MODEL__NAME", "value": "bedrock:au.anthropic.claude-
|
|
344
|
+
{"name": "FLOWA_CONVERSION_MODEL__NAME", "value": "bedrock:au.anthropic.claude-sonnet-4-6"},
|
|
345
|
+
{"name": "FLOWA_EXTRACTION_MODEL__NAME", "value": "bedrock:au.anthropic.claude-sonnet-4-6"},
|
|
346
|
+
{"name": "FLOWA_AGGREGATION_MODEL__NAME", "value": "bedrock:au.anthropic.claude-opus-4-8"}
|
|
330
347
|
]
|
|
331
348
|
}' \
|
|
332
349
|
--retry-strategy '{"attempts": 2}' \
|
|
@@ -341,6 +358,6 @@ aws batch submit-job \
|
|
|
341
358
|
--job-definition flowa-worker \
|
|
342
359
|
--job-queue flowa-queue \
|
|
343
360
|
--container-overrides '{
|
|
344
|
-
"command": ["run", "--variant-id", "VAR123", "--
|
|
361
|
+
"command": ["run", "--variant-id", "VAR123", "--variant-spec", "{\"schema_version\":1,\"variants\":[{\"kind\":\"hgvs_c\",\"transcript\":\"NM_000152.5\",\"hgvs_c\":\"c.2238G>C\"}]}", "--source", "litvar"]
|
|
345
362
|
}'
|
|
346
363
|
```
|
|
@@ -53,12 +53,20 @@ The PyPI distribution is named `flowapy` (the `flowa` name was already taken), b
|
|
|
53
53
|
|
|
54
54
|
## Usage
|
|
55
55
|
|
|
56
|
+
A variant is passed as `--variant-spec`, either inline JSON or `@path/to/spec.json`. The
|
|
57
|
+
envelope is `{"schema_version": 1, "variants": [{ "kind": "hgvs_c", "transcript": ...,
|
|
58
|
+
"hgvs_c": ... }]}` — `hgvs_c` is the bare coding change with no transcript prefix. The gene
|
|
59
|
+
symbol and genomic coordinates are derived downstream, so they aren't part of the spec.
|
|
60
|
+
|
|
56
61
|
```bash
|
|
62
|
+
# Example variant spec (GAA / Pompe, NM_000152.5:c.2238G>C)
|
|
63
|
+
SPEC='{"schema_version":1,"variants":[{"kind":"hgvs_c","transcript":"NM_000152.5","hgvs_c":"c.2238G>C"}]}'
|
|
64
|
+
|
|
57
65
|
# Full pipeline
|
|
58
|
-
flowa run --variant-id VAR123 --
|
|
66
|
+
flowa run --variant-id VAR123 --variant-spec "$SPEC" --source litvar
|
|
59
67
|
|
|
60
68
|
# Individual steps (for debugging)
|
|
61
|
-
flowa query --variant-id VAR123 --
|
|
69
|
+
flowa query --variant-id VAR123 --variant-spec "$SPEC" --source litvar
|
|
62
70
|
flowa download --doi '10.1038/s41586-020-2308-7'
|
|
63
71
|
flowa convert --doi '10.1038/s41586-020-2308-7'
|
|
64
72
|
flowa extract --variant-id VAR123 --doi '10.1038/s41586-020-2308-7'
|
|
@@ -74,15 +82,17 @@ The model settings are nested config objects: set their sub-fields with the `__`
|
|
|
74
82
|
| Variable | Description | Example |
|
|
75
83
|
| ------------------------------ | ---------------------------------------------------------------------------- | -------------------------------------------- |
|
|
76
84
|
| `FLOWA_STORAGE_BASE` | Storage path for PDFs, extractions, results | `s3://bucket`, `gs://bucket`, `file:///path` |
|
|
77
|
-
| `
|
|
78
|
-
| `FLOWA_EXTRACTION_MODEL__NAME` | LLM for extraction
|
|
85
|
+
| `FLOWA_CONVERSION_MODEL__NAME` | LLM for PDF→Markdown conversion (anchorite), in `<provider>:<model>` form | `bedrock:au.anthropic.claude-sonnet-4-6` |
|
|
86
|
+
| `FLOWA_EXTRACTION_MODEL__NAME` | LLM for extraction | `bedrock:au.anthropic.claude-sonnet-4-6` |
|
|
87
|
+
| `FLOWA_AGGREGATION_MODEL__NAME` | LLM for aggregation | `bedrock:au.anthropic.claude-opus-4-8` |
|
|
79
88
|
|
|
80
89
|
Optional:
|
|
81
90
|
|
|
82
91
|
| Variable | Description |
|
|
83
92
|
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
84
|
-
| `
|
|
85
|
-
| `FLOWA_EXTRACTION_MODEL__BEDROCK_INFERENCE_PROFILE` | Same, for the extraction
|
|
93
|
+
| `FLOWA_CONVERSION_MODEL__BEDROCK_INFERENCE_PROFILE` | Bedrock application inference profile ARN for cost attribution. When set, `__NAME` must point at the underlying foundation model. |
|
|
94
|
+
| `FLOWA_EXTRACTION_MODEL__BEDROCK_INFERENCE_PROFILE` | Same, for the extraction model. |
|
|
95
|
+
| `FLOWA_AGGREGATION_MODEL__BEDROCK_INFERENCE_PROFILE` | Same, for the aggregation model. |
|
|
86
96
|
| `MASTERMIND_API_TOKEN` | Required when querying with `--source mastermind`; use `--source litvar` (free, no token) otherwise. |
|
|
87
97
|
| `NCBI_API_KEY` | Optional NCBI key for higher PubMed rate limits. |
|
|
88
98
|
|
|
@@ -230,9 +240,12 @@ Run the pipeline directly from a checkout (the [Quickstart](#quickstart) demo wr
|
|
|
230
240
|
|
|
231
241
|
```bash
|
|
232
242
|
export FLOWA_STORAGE_BASE=file:///tmp/flowa
|
|
233
|
-
export
|
|
234
|
-
export FLOWA_EXTRACTION_MODEL__NAME=bedrock:au.anthropic.claude-
|
|
235
|
-
|
|
243
|
+
export FLOWA_CONVERSION_MODEL__NAME=bedrock:au.anthropic.claude-sonnet-4-6
|
|
244
|
+
export FLOWA_EXTRACTION_MODEL__NAME=bedrock:au.anthropic.claude-sonnet-4-6
|
|
245
|
+
export FLOWA_AGGREGATION_MODEL__NAME=bedrock:au.anthropic.claude-opus-4-8
|
|
246
|
+
uv run flowa run --variant-id test \
|
|
247
|
+
--variant-spec '{"schema_version":1,"variants":[{"kind":"hgvs_c","transcript":"NM_000152.5","hgvs_c":"c.2238G>C"}]}' \
|
|
248
|
+
--source litvar
|
|
236
249
|
```
|
|
237
250
|
|
|
238
251
|
### Docker
|
|
@@ -241,10 +254,13 @@ uv run flowa run --variant-id test --gene GAA --hgvs-c "NM_000152.5:c.2238G>C" -
|
|
|
241
254
|
docker build --build-arg LLM_EXTRA=bedrock -t flowa .
|
|
242
255
|
docker run \
|
|
243
256
|
-e FLOWA_STORAGE_BASE=s3://bucket \
|
|
244
|
-
-e
|
|
245
|
-
-e FLOWA_EXTRACTION_MODEL__NAME=bedrock:au.anthropic.claude-
|
|
257
|
+
-e FLOWA_CONVERSION_MODEL__NAME=bedrock:au.anthropic.claude-sonnet-4-6 \
|
|
258
|
+
-e FLOWA_EXTRACTION_MODEL__NAME=bedrock:au.anthropic.claude-sonnet-4-6 \
|
|
259
|
+
-e FLOWA_AGGREGATION_MODEL__NAME=bedrock:au.anthropic.claude-opus-4-8 \
|
|
246
260
|
-e AWS_REGION=ap-southeast-2 \
|
|
247
|
-
flowa run --variant-id VAR123
|
|
261
|
+
flowa run --variant-id VAR123 \
|
|
262
|
+
--variant-spec '{"schema_version":1,"variants":[{"kind":"hgvs_c","transcript":"NM_000152.5","hgvs_c":"c.2238G>C"}]}' \
|
|
263
|
+
--source litvar
|
|
248
264
|
```
|
|
249
265
|
|
|
250
266
|
### AWS Batch
|
|
@@ -263,8 +279,9 @@ aws batch register-job-definition \
|
|
|
263
279
|
],
|
|
264
280
|
"environment": [
|
|
265
281
|
{"name": "FLOWA_STORAGE_BASE", "value": "s3://flowa-data"},
|
|
266
|
-
{"name": "
|
|
267
|
-
{"name": "FLOWA_EXTRACTION_MODEL__NAME", "value": "bedrock:au.anthropic.claude-
|
|
282
|
+
{"name": "FLOWA_CONVERSION_MODEL__NAME", "value": "bedrock:au.anthropic.claude-sonnet-4-6"},
|
|
283
|
+
{"name": "FLOWA_EXTRACTION_MODEL__NAME", "value": "bedrock:au.anthropic.claude-sonnet-4-6"},
|
|
284
|
+
{"name": "FLOWA_AGGREGATION_MODEL__NAME", "value": "bedrock:au.anthropic.claude-opus-4-8"}
|
|
268
285
|
]
|
|
269
286
|
}' \
|
|
270
287
|
--retry-strategy '{"attempts": 2}' \
|
|
@@ -279,6 +296,6 @@ aws batch submit-job \
|
|
|
279
296
|
--job-definition flowa-worker \
|
|
280
297
|
--job-queue flowa-queue \
|
|
281
298
|
--container-overrides '{
|
|
282
|
-
"command": ["run", "--variant-id", "VAR123", "--
|
|
299
|
+
"command": ["run", "--variant-id", "VAR123", "--variant-spec", "{\"schema_version\":1,\"variants\":[{\"kind\":\"hgvs_c\",\"transcript\":\"NM_000152.5\",\"hgvs_c\":\"c.2238G>C\"}]}", "--source", "litvar"]
|
|
283
300
|
}'
|
|
284
301
|
```
|
|
@@ -181,13 +181,16 @@ replicate that translation when invoking the CLI directly:
|
|
|
181
181
|
```bash
|
|
182
182
|
cd examples/demo && set -a && source .env && set +a && cd ../..
|
|
183
183
|
export FLOWA_STORAGE_BASE="$PWD/examples/demo/demo-data"
|
|
184
|
+
export FLOWA_CONVERSION_MODEL__NAME="$LLM_MODEL"
|
|
184
185
|
export FLOWA_EXTRACTION_MODEL__NAME="$LLM_MODEL"
|
|
185
|
-
export
|
|
186
|
+
export FLOWA_AGGREGATION_MODEL__NAME="$LLM_MODEL"
|
|
186
187
|
if [ -n "${BEDROCK_INFERENCE_PROFILE:-}" ]; then
|
|
188
|
+
export FLOWA_CONVERSION_MODEL__BEDROCK_INFERENCE_PROFILE="$BEDROCK_INFERENCE_PROFILE"
|
|
187
189
|
export FLOWA_EXTRACTION_MODEL__BEDROCK_INFERENCE_PROFILE="$BEDROCK_INFERENCE_PROFILE"
|
|
188
|
-
export
|
|
190
|
+
export FLOWA_AGGREGATION_MODEL__BEDROCK_INFERENCE_PROFILE="$BEDROCK_INFERENCE_PROFILE"
|
|
189
191
|
fi
|
|
190
|
-
uv run flowa run --variant-id $VARIANT
|
|
192
|
+
uv run flowa run --variant-id $VARIANT \
|
|
193
|
+
--variant-spec '{"schema_version":1,"variants":[{"kind":"hgvs_c","transcript":"NM_001035.3","hgvs_c":"c.14174A>G"}]}'
|
|
191
194
|
```
|
|
192
195
|
|
|
193
196
|
Open `http://localhost:7700/viewer/$VARIANT/acmg_classification` (with
|
|
@@ -19,14 +19,14 @@
|
|
|
19
19
|
"build": "next build"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@ai-sdk/amazon-bedrock": "4.0.
|
|
23
|
-
"@ai-sdk/anthropic": "3.0.
|
|
22
|
+
"@ai-sdk/amazon-bedrock": "4.0.112",
|
|
23
|
+
"@ai-sdk/anthropic": "3.0.81",
|
|
24
24
|
"@ai-sdk/google": "3.0.80",
|
|
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.
|
|
25
|
+
"@ai-sdk/google-vertex": "4.0.142",
|
|
26
|
+
"@ai-sdk/openai": "3.0.67",
|
|
27
|
+
"@ai-sdk/react": "3.0.198",
|
|
28
|
+
"@aws-sdk/client-s3": "3.1061.0",
|
|
29
|
+
"@aws-sdk/credential-providers": "3.1061.0",
|
|
30
30
|
"@flowajs/chat-service": "workspace:*",
|
|
31
31
|
"@flowajs/prompts": "workspace:*",
|
|
32
32
|
"@flowajs/react-viewer": "workspace:*",
|
|
@@ -34,9 +34,9 @@
|
|
|
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.196",
|
|
38
38
|
"formidable": "3.5.4",
|
|
39
|
-
"next": "16.2.
|
|
39
|
+
"next": "16.2.7",
|
|
40
40
|
"react": "18.3.1",
|
|
41
41
|
"react-dom": "18.3.1",
|
|
42
42
|
"zod": "4.4.3",
|
|
@@ -51,14 +51,14 @@
|
|
|
51
51
|
"@types/react": "18.3.18",
|
|
52
52
|
"@types/react-dom": "18.3.5",
|
|
53
53
|
"autoprefixer": "10.5.0",
|
|
54
|
-
"concurrently": "10.0.
|
|
55
|
-
"happy-dom": "20.
|
|
54
|
+
"concurrently": "10.0.3",
|
|
55
|
+
"happy-dom": "20.10.1",
|
|
56
56
|
"pdfjs-dist": "5.7.284",
|
|
57
57
|
"postcss": "8.5.15",
|
|
58
58
|
"tailwindcss": "3.4.17",
|
|
59
|
-
"tsx": "4.22.
|
|
59
|
+
"tsx": "4.22.4",
|
|
60
60
|
"typescript": "5.7.3",
|
|
61
|
-
"vite": "8.0.
|
|
62
|
-
"vitest": "4.1.
|
|
61
|
+
"vite": "8.0.16",
|
|
62
|
+
"vitest": "4.1.8"
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -50,10 +50,10 @@ const dataRoot = resolve(
|
|
|
50
50
|
process.env.DEMO_DATA_DIR ?? "./demo-data",
|
|
51
51
|
);
|
|
52
52
|
|
|
53
|
-
// Locate the prompt
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
// `
|
|
53
|
+
// Locate the prompt directory by resolving the schema's package export —
|
|
54
|
+
// `@flowajs/prompts/generic` points at `prompts/generic/aggregation/edit_schema.ts`,
|
|
55
|
+
// so its dirname is `prompts/generic/aggregation/`, where chat-service reads
|
|
56
|
+
// `edit_prompt.txt`, `authoring.txt`, `categories.json`, and `categories/`.
|
|
57
57
|
const promptDir = dirname(
|
|
58
58
|
fileURLToPath(import.meta.resolve("@flowajs/prompts/generic")),
|
|
59
59
|
);
|
|
@@ -35,7 +35,7 @@ imports as load-bearing and the rest as something to replace.
|
|
|
35
35
|
|
|
36
36
|
| Method | Path | Behaviour |
|
|
37
37
|
|---|---|---|
|
|
38
|
-
| `POST` | `/runs` | Body `{ variant_id,
|
|
38
|
+
| `POST` | `/runs` | Body `{ variant_id, variant_spec }`, where `variant_spec` is the `flowa.schema.VariantSpec` envelope. Spawns the pipeline as an `asyncio` task and returns `{ run_id, started_at, status }` immediately. 409 if a run is already in flight for the variant; 429 at the concurrency cap. |
|
|
39
39
|
| `GET` | `/runs/active?variant_id=X` | Most recent run for `variant_id` as `{ run_id, started_at, status }`. 404 if none. `status` is `running` while in flight; `success` / `error` once terminal. |
|
|
40
40
|
| `POST` | `/resolve-citations` | Body `{ citations: [{ doi, quotes[] }] }`. Builds fsspec-based PDF and Markdown loaders rooted at `DEMO_DATA_DIR/papers/{encoded_doi}/` and calls `flowa.resolve.resolve_citations(...)` synchronously. Returns `{ resolved: { doi: { quote: HighlightBbox[] } }, errors: { doi: string } }`. DOIs whose source PDF or markdown can't be loaded land in `errors`; quotes the aligner searches for but can't locate land as empty arrays in `resolved`. |
|
|
41
41
|
| `GET` | `/health` | `{ "status": "ok" }`. |
|
|
@@ -51,7 +51,7 @@ directly by Next.js — there is no `/runs/{id}/progress` endpoint here.
|
|
|
51
51
|
| `DEMO_GATEWAY_PORT` | `7702` | Listening port. |
|
|
52
52
|
| `DEMO_MAX_CONCURRENT_RUNS` | `3` | Hard cap on concurrent pipeline tasks (429 on overflow). |
|
|
53
53
|
| `LOG_LEVEL` | `INFO` | Python root logger level. |
|
|
54
|
-
| `FLOWA_*` | — | Required: `FLOWA_STORAGE_BASE`, `FLOWA_EXTRACTION_MODEL__NAME`, `
|
|
54
|
+
| `FLOWA_*` | — | Required: `FLOWA_STORAGE_BASE`, `FLOWA_CONVERSION_MODEL__NAME`, `FLOWA_EXTRACTION_MODEL__NAME`, `FLOWA_AGGREGATION_MODEL__NAME`, etc. The demo's `start.ts` translates `LLM_MODEL` and `BEDROCK_INFERENCE_PROFILE` from the demo's `.env` into the corresponding `FLOWA_*` keys. |
|
|
55
55
|
|
|
56
56
|
## Standalone
|
|
57
57
|
|
|
@@ -30,8 +30,9 @@ def make_flowa_settings(storage_base: Path) -> FlowaSettings:
|
|
|
30
30
|
the real pipeline in tests, so the model fields are placeholders."""
|
|
31
31
|
return FlowaSettings.model_construct(
|
|
32
32
|
flowa_storage_base=str(storage_base),
|
|
33
|
-
|
|
33
|
+
flowa_conversion_model=ModelConfig(name='stub:test'),
|
|
34
34
|
flowa_extraction_model=ModelConfig(name='stub:test'),
|
|
35
|
+
flowa_aggregation_model=ModelConfig(name='stub:test'),
|
|
35
36
|
flowa_prompt_set='generic',
|
|
36
37
|
flowa_log_level='INFO',
|
|
37
38
|
mastermind_api_token=None,
|
|
@@ -130,7 +130,7 @@ wheels = [
|
|
|
130
130
|
|
|
131
131
|
[[package]]
|
|
132
132
|
name = "anthropic"
|
|
133
|
-
version = "0.
|
|
133
|
+
version = "0.105.2"
|
|
134
134
|
source = { registry = "https://pypi.org/simple" }
|
|
135
135
|
dependencies = [
|
|
136
136
|
{ name = "anyio" },
|
|
@@ -142,9 +142,9 @@ dependencies = [
|
|
|
142
142
|
{ name = "sniffio" },
|
|
143
143
|
{ name = "typing-extensions" },
|
|
144
144
|
]
|
|
145
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
145
|
+
sdist = { url = "https://files.pythonhosted.org/packages/46/46/47581b8c689c743ceabf6a0f9ff48472160900ce802d26c0fb50423997b3/anthropic-0.105.2.tar.gz", hash = "sha256:0e26b90841c2dced7cc6e98d21d5517d0be33f1876b8e779f478202e28bcaa07", size = 853789, upload-time = "2026-05-29T00:21:14.104Z" }
|
|
146
146
|
wheels = [
|
|
147
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
147
|
+
{ url = "https://files.pythonhosted.org/packages/83/75/be0c357e33a5a56c8f9db5b4212f886138d2bf59c0952d858f6b75d710ef/anthropic-0.105.2-py3-none-any.whl", hash = "sha256:e53ed5f6bf36fb1ecb9b25d8634cfd30e02fab9fb3374a0c2d5c585874757230", size = 837507, upload-time = "2026-05-29T00:21:15.528Z" },
|
|
148
148
|
]
|
|
149
149
|
|
|
150
150
|
[[package]]
|
|
@@ -495,7 +495,7 @@ wheels = [
|
|
|
495
495
|
|
|
496
496
|
[[package]]
|
|
497
497
|
name = "flowapy"
|
|
498
|
-
version = "0.
|
|
498
|
+
version = "0.5.0"
|
|
499
499
|
source = { editable = "../../" }
|
|
500
500
|
dependencies = [
|
|
501
501
|
{ name = "anchorite" },
|
|
@@ -541,7 +541,7 @@ requires-dist = [
|
|
|
541
541
|
{ name = "jinja2" },
|
|
542
542
|
{ name = "logfire" },
|
|
543
543
|
{ name = "markitdown", extras = ["docx", "xls", "xlsx"], specifier = ">=0.1.5" },
|
|
544
|
-
{ name = "pydantic-ai-slim", extras = ["anthropic"], marker = "extra == 'anthropic'", specifier = ">=1.
|
|
544
|
+
{ name = "pydantic-ai-slim", extras = ["anthropic"], marker = "extra == 'anthropic'", specifier = ">=1.106.0,<2" },
|
|
545
545
|
{ name = "pydantic-ai-slim", extras = ["bedrock"], marker = "extra == 'bedrock'", specifier = ">=1.101.0,<2" },
|
|
546
546
|
{ name = "pydantic-ai-slim", extras = ["google"], marker = "extra == 'google'", specifier = ">=1.101.0,<2" },
|
|
547
547
|
{ name = "pydantic-ai-slim", extras = ["openai"], marker = "extra == 'openai'", specifier = ">=1.101.0,<2" },
|
|
@@ -561,6 +561,7 @@ dev = [
|
|
|
561
561
|
{ name = "mypy" },
|
|
562
562
|
{ name = "pre-commit", specifier = ">=4.5.1" },
|
|
563
563
|
{ name = "pytest" },
|
|
564
|
+
{ name = "pytest-asyncio" },
|
|
564
565
|
{ name = "ruff" },
|
|
565
566
|
{ name = "types-defusedxml" },
|
|
566
567
|
{ name = "types-openpyxl", specifier = ">=3.1.5.20260518" },
|
|
@@ -1043,7 +1044,7 @@ wheels = [
|
|
|
1043
1044
|
|
|
1044
1045
|
[[package]]
|
|
1045
1046
|
name = "logfire"
|
|
1046
|
-
version = "4.
|
|
1047
|
+
version = "4.35.0"
|
|
1047
1048
|
source = { registry = "https://pypi.org/simple" }
|
|
1048
1049
|
dependencies = [
|
|
1049
1050
|
{ name = "executing" },
|
|
@@ -1054,9 +1055,9 @@ dependencies = [
|
|
|
1054
1055
|
{ name = "rich" },
|
|
1055
1056
|
{ name = "typing-extensions" },
|
|
1056
1057
|
]
|
|
1057
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1058
|
+
sdist = { url = "https://files.pythonhosted.org/packages/7c/20/9508c92ad4ec2ed4ad63a20d72f08427c24117273541ec97c630332855c3/logfire-4.35.0.tar.gz", hash = "sha256:6542aa4ac5e2d2369587deab57a0d1bb9cf6da49634c8cd9c5dbd7c7581f3d51", size = 1148150, upload-time = "2026-06-02T14:55:56.792Z" }
|
|
1058
1059
|
wheels = [
|
|
1059
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1060
|
+
{ url = "https://files.pythonhosted.org/packages/77/37/a3631d0b7e4fcb19df4705c7c7e17164c5446e144f034723cf6277749973/logfire-4.35.0-py3-none-any.whl", hash = "sha256:9ae5c3f2dd81144ccf1ec6dba1a5de84aff5b2e2b8dd2190e53e87e47bc63711", size = 347012, upload-time = "2026-06-02T14:55:53.244Z" },
|
|
1060
1061
|
]
|
|
1061
1062
|
|
|
1062
1063
|
[[package]]
|
|
@@ -1697,7 +1698,7 @@ wheels = [
|
|
|
1697
1698
|
|
|
1698
1699
|
[[package]]
|
|
1699
1700
|
name = "pydantic-ai-slim"
|
|
1700
|
-
version = "1.
|
|
1701
|
+
version = "1.106.0"
|
|
1701
1702
|
source = { registry = "https://pypi.org/simple" }
|
|
1702
1703
|
dependencies = [
|
|
1703
1704
|
{ name = "genai-prices" },
|
|
@@ -1708,9 +1709,9 @@ dependencies = [
|
|
|
1708
1709
|
{ name = "pydantic-graph" },
|
|
1709
1710
|
{ name = "typing-inspection" },
|
|
1710
1711
|
]
|
|
1711
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1712
|
+
sdist = { url = "https://files.pythonhosted.org/packages/2b/45/2afc9100a7c370d8ac37bdfccfb54f46fc99da3bdce63f07c32c37807ebc/pydantic_ai_slim-1.106.0.tar.gz", hash = "sha256:e265598c8ee0e903ebb02d0494bb232be4cc8aa463ba1a55aa743cf34135dacf", size = 773504, upload-time = "2026-06-05T01:29:09.129Z" }
|
|
1712
1713
|
wheels = [
|
|
1713
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1714
|
+
{ url = "https://files.pythonhosted.org/packages/72/d9/a2785c576e3519a72a5bbc0e12027c542b265ef6eea1aa72b9c440ac2531/pydantic_ai_slim-1.106.0-py3-none-any.whl", hash = "sha256:0dd7a99ea3fa89b490098406c2240ba7d75c327eea094c3fd057dd7aa9f3d163", size = 957617, upload-time = "2026-06-05T01:28:59.979Z" },
|
|
1714
1715
|
]
|
|
1715
1716
|
|
|
1716
1717
|
[package.optional-dependencies]
|
|
@@ -1756,7 +1757,7 @@ wheels = [
|
|
|
1756
1757
|
|
|
1757
1758
|
[[package]]
|
|
1758
1759
|
name = "pydantic-graph"
|
|
1759
|
-
version = "1.
|
|
1760
|
+
version = "1.106.0"
|
|
1760
1761
|
source = { registry = "https://pypi.org/simple" }
|
|
1761
1762
|
dependencies = [
|
|
1762
1763
|
{ name = "httpx" },
|
|
@@ -1764,9 +1765,9 @@ dependencies = [
|
|
|
1764
1765
|
{ name = "pydantic" },
|
|
1765
1766
|
{ name = "typing-inspection" },
|
|
1766
1767
|
]
|
|
1767
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1768
|
+
sdist = { url = "https://files.pythonhosted.org/packages/42/9b/dd6826cf21eedd96a7482302be51ba6087095acbe828362135de2a505092/pydantic_graph-1.106.0.tar.gz", hash = "sha256:55afa33df4f699ed5c1185f81b6a06e2161958f1aa0c20742b2dae5745e84cce", size = 62567, upload-time = "2026-06-05T01:29:11.833Z" }
|
|
1768
1769
|
wheels = [
|
|
1769
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1770
|
+
{ url = "https://files.pythonhosted.org/packages/9b/e9/0058f0b98f5992e715a0a50128f6c3cc7946cc242d471f6e850efdf03f0c/pydantic_graph-1.106.0-py3-none-any.whl", hash = "sha256:e6bb61aef0fdb49185a81142d311f94fc3315329345471d12cab85ab5845221f", size = 80099, upload-time = "2026-06-05T01:29:04.219Z" },
|
|
1770
1771
|
]
|
|
1771
1772
|
|
|
1772
1773
|
[[package]]
|
|
@@ -1794,11 +1795,11 @@ wheels = [
|
|
|
1794
1795
|
|
|
1795
1796
|
[[package]]
|
|
1796
1797
|
name = "pypdf"
|
|
1797
|
-
version = "6.
|
|
1798
|
+
version = "6.13.0"
|
|
1798
1799
|
source = { registry = "https://pypi.org/simple" }
|
|
1799
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1800
|
+
sdist = { url = "https://files.pythonhosted.org/packages/70/79/9fd087fbff8300e5c2a9b2bd0200b75c6ef8c1f9a7a2cfe3df0659aa4025/pypdf-6.13.0.tar.gz", hash = "sha256:558683ec9daf6b91c280c322c84c32f5cc216afd3eaa3a37de5ae88ae0c3b787", size = 6476995, upload-time = "2026-06-05T10:12:05.568Z" }
|
|
1800
1801
|
wheels = [
|
|
1801
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1802
|
+
{ url = "https://files.pythonhosted.org/packages/9d/70/16942ec95d32187d8679ce8419cee2d5c0dbe90fa3ac1b307daea4c86da9/pypdf-6.13.0-py3-none-any.whl", hash = "sha256:de1294ae49d6956edb4e5c41527fb9e8716ddd2b120f2185c68aab784d4ffe60", size = 345958, upload-time = "2026-06-05T10:12:03.453Z" },
|
|
1802
1803
|
]
|
|
1803
1804
|
|
|
1804
1805
|
[[package]]
|
|
@@ -2002,27 +2003,27 @@ wheels = [
|
|
|
2002
2003
|
|
|
2003
2004
|
[[package]]
|
|
2004
2005
|
name = "ruff"
|
|
2005
|
-
version = "0.15.
|
|
2006
|
-
source = { registry = "https://pypi.org/simple" }
|
|
2007
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2008
|
-
wheels = [
|
|
2009
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2010
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2011
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2012
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2013
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2014
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2015
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2016
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2017
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2018
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2019
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2020
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2021
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2022
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2023
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2024
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2025
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2006
|
+
version = "0.15.16"
|
|
2007
|
+
source = { registry = "https://pypi.org/simple" }
|
|
2008
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/5f7ec371001337d8fa61701c186ff8b613ecac1651848c5950f4c4d5f2e9/ruff-0.15.16.tar.gz", hash = "sha256:d05e78d38c78caf020b03789e25106c93017db5a0cb6e2819885018c61343b78", size = 4714267, upload-time = "2026-06-04T16:33:09.974Z" }
|
|
2009
|
+
wheels = [
|
|
2010
|
+
{ url = "https://files.pythonhosted.org/packages/0c/42/53ef1c3953f157956db9bf7861e3bc50b9b887ce93300aa48cdba8336fe6/ruff-0.15.16-py3-none-linux_armv6l.whl", hash = "sha256:6ac3c0b3969cc6cf6b158c4e2f8f682acb58e7d700d8a44b65ecdc72d66ab0b2", size = 10709025, upload-time = "2026-06-04T16:32:51.935Z" },
|
|
2011
|
+
{ url = "https://files.pythonhosted.org/packages/93/9a/a79159346f19134a956607754e57d8d128f7a4c00f4ad2f7514d224c172c/ruff-0.15.16-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:197c207ed75ffba54a0dec23db4aa939a27a3053073e085e0042433cbdc58e4a", size = 11063550, upload-time = "2026-06-04T16:32:42.24Z" },
|
|
2012
|
+
{ url = "https://files.pythonhosted.org/packages/bc/72/3ce2ac000a5299ec238e01f51397b3b653c93b077d9b1bfe8715bb895f20/ruff-0.15.16-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3a39fec45ab316cc23e7558f23fea4a70403ddb5648ea9a4a3854a16973d0071", size = 10421345, upload-time = "2026-06-04T16:32:37.251Z" },
|
|
2013
|
+
{ url = "https://files.pythonhosted.org/packages/b0/c2/cc7fad3ec9169373f5b6a18f1917b91080feec40c3f9658334a1d28e2f03/ruff-0.15.16-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba93191d79003116b95128c9d306e045200fdbd0bccb782b110f3cd1d4abc5cf", size = 10757217, upload-time = "2026-06-04T16:32:54.722Z" },
|
|
2014
|
+
{ url = "https://files.pythonhosted.org/packages/69/d2/3474009eaa0a65b31fa7152a2fad5e2f050c640ceb1e6b02ee6922e94c82/ruff-0.15.16-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c6ee4b90520630120ef032aa5cc10db483852dff950e78b1d717e2993a61ac8d", size = 10507035, upload-time = "2026-06-04T16:33:05.343Z" },
|
|
2015
|
+
{ url = "https://files.pythonhosted.org/packages/ca/81/b7ae6ccbd11f0c8dc3d5d67fc4be9b57ff57ca86ba56152021378e1277f2/ruff-0.15.16-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e4215bc938bc3c8215c1472c1aa437e310fee20cd427335fec9d7e609563628", size = 11255291, upload-time = "2026-06-04T16:32:49.49Z" },
|
|
2016
|
+
{ url = "https://files.pythonhosted.org/packages/d9/e1/46e526f1a7cc90857ce6ddf25fbb77eb6568651ac38d71b033af07076dd5/ruff-0.15.16-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7c8d26be963b090f10e29abc8b3e74a2a321f6fa34e02424e30b5af89350ecbb", size = 12124922, upload-time = "2026-06-04T16:33:07.821Z" },
|
|
2017
|
+
{ url = "https://files.pythonhosted.org/packages/1a/da/5c791b088b596b24d0deb967fa28ae02ad751a140c0b9ea81c5ab915d6c0/ruff-0.15.16-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f198cf4123602a2280ed46c307bcbafe41758d6fee5b456b6b6058ca1514b3b4", size = 11332186, upload-time = "2026-06-04T16:33:02.971Z" },
|
|
2018
|
+
{ url = "https://files.pythonhosted.org/packages/72/11/5da87abe20047c8962361473923ebb2f62b595250126aadfad8c20649c1e/ruff-0.15.16-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb27515fa6240fb586ae82b901a59e67d24acff86f2190b433dc542fe0435aeb", size = 11373541, upload-time = "2026-06-04T16:32:47.007Z" },
|
|
2019
|
+
{ url = "https://files.pythonhosted.org/packages/fe/2a/8554754c23a854ae3fd6b507e36ad61ddb121e298c6d5d617dec94ed0f14/ruff-0.15.16-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:a267c46ba1593fc26b8eecbea050b39d40c0b6bb7781ee11c90a02cd10032951", size = 11353014, upload-time = "2026-06-04T16:32:34.795Z" },
|
|
2020
|
+
{ url = "https://files.pythonhosted.org/packages/62/25/62ea41529ec89f742ea3fed9cb1059c72877ec7cf9b9e99ac9cf3294d1d9/ruff-0.15.16-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:528c68f39a91498a8d50e91ff5985df3d105782bab49cc378e73ac26bff083e8", size = 10737467, upload-time = "2026-06-04T16:32:26.348Z" },
|
|
2021
|
+
{ url = "https://files.pythonhosted.org/packages/90/17/334d3ad9de4d40f9dd58fdd09e35ce64553bb501e2f19a839e2fb6be14fc/ruff-0.15.16-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7ed55c58950df60589a9a7a5d2f8fa5f54ebd287163be805adfe6ee95a9de123", size = 10521910, upload-time = "2026-06-04T16:32:32.54Z" },
|
|
2022
|
+
{ url = "https://files.pythonhosted.org/packages/4d/bd/3ac7c6ae77a885c1004b3dda2446ea401768d24f851c14b4ad4b24f6639c/ruff-0.15.16-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d482feaf51512b50f9790ceb417a56a61dd1e9d9bf967662b9ed27c01b34f53a", size = 10979190, upload-time = "2026-06-04T16:32:57.492Z" },
|
|
2023
|
+
{ url = "https://files.pythonhosted.org/packages/33/d7/609546e6a413c3f216fbf2a50c928f97c80939154f6a0503114094a86191/ruff-0.15.16-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1e15bc8c94513dae2a40cc9ef07c94fdd4ecc9e29dabebeebe170f952322c9e3", size = 11477014, upload-time = "2026-06-04T16:32:44.687Z" },
|
|
2024
|
+
{ url = "https://files.pythonhosted.org/packages/74/0d/f2cd247ad32633a5c36e97141a2c21b11c6279f7957bc2ff360b1e08fddd/ruff-0.15.16-py3-none-win32.whl", hash = "sha256:580378f7bd4aa25f72e74aa54948a9622f142b1e509521dd10902e886681cc1e", size = 10735541, upload-time = "2026-06-04T16:32:30.145Z" },
|
|
2025
|
+
{ url = "https://files.pythonhosted.org/packages/8b/9e/02e845ef151b1dee585e55c4739f8e1734ae1d9f1221dff65761c162208b/ruff-0.15.16-py3-none-win_amd64.whl", hash = "sha256:408256017284eddf98fff77b29aa4fb30f586042d535b2d9befc6512f400aaec", size = 11843403, upload-time = "2026-06-04T16:32:39.76Z" },
|
|
2026
|
+
{ url = "https://files.pythonhosted.org/packages/15/19/016553f86f207450aebebc2b2b5088d086b901cc8186c02ac4284db3bd88/ruff-0.15.16-py3-none-win_arm64.whl", hash = "sha256:8cd61783afb39638a7133ef0d2dfb1e91277593962f81b5a8423eb0b888a6121", size = 11134555, upload-time = "2026-06-04T16:33:00.136Z" },
|
|
2026
2027
|
]
|
|
2027
2028
|
|
|
2028
2029
|
[[package]]
|
|
@@ -2185,7 +2186,7 @@ wheels = [
|
|
|
2185
2186
|
|
|
2186
2187
|
[[package]]
|
|
2187
2188
|
name = "typer"
|
|
2188
|
-
version = "0.26.
|
|
2189
|
+
version = "0.26.7"
|
|
2189
2190
|
source = { registry = "https://pypi.org/simple" }
|
|
2190
2191
|
dependencies = [
|
|
2191
2192
|
{ name = "annotated-doc" },
|
|
@@ -2193,9 +2194,9 @@ dependencies = [
|
|
|
2193
2194
|
{ name = "rich" },
|
|
2194
2195
|
{ name = "shellingham" },
|
|
2195
2196
|
]
|
|
2196
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2197
|
+
sdist = { url = "https://files.pythonhosted.org/packages/5e/ed/ef06584ccdd5c410df0837951ecd7e15d9a6144ea1bd4c73cecab1a89891/typer-0.26.7.tar.gz", hash = "sha256:e314a34c617e419c091b2830dda3ea1f257134ff593061a8f5b9717ab8dddb3a", size = 201709, upload-time = "2026-06-03T07:18:06.843Z" }
|
|
2197
2198
|
wheels = [
|
|
2198
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2199
|
+
{ url = "https://files.pythonhosted.org/packages/24/25/2201973529af2c954de0bb725323c3aaed6d7f0ceee8f550dec9185df013/typer-0.26.7-py3-none-any.whl", hash = "sha256:5c87cfbc5d34491c5346ebf49c23e18d56ccb863268d3a8d592b26087c2f5e58", size = 122456, upload-time = "2026-06-03T07:18:05.732Z" },
|
|
2199
2200
|
]
|
|
2200
2201
|
|
|
2201
2202
|
[[package]]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowajs/chat-service",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Stateless service that orchestrates LLM conversations over flowa artifacts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"@opentelemetry/sdk-metrics": "2.7.1",
|
|
63
63
|
"@opentelemetry/sdk-node": "0.218.0",
|
|
64
64
|
"@opentelemetry/sdk-trace-base": "2.7.1",
|
|
65
|
-
"ai": "6.0.
|
|
65
|
+
"ai": "6.0.196",
|
|
66
66
|
"aws4fetch": "1.0.20",
|
|
67
67
|
"hono": "4.12.23",
|
|
68
68
|
"jose": "6.2.3",
|
|
@@ -107,18 +107,18 @@
|
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
"devDependencies": {
|
|
110
|
-
"@ai-sdk/amazon-bedrock": "4.0.
|
|
111
|
-
"@ai-sdk/anthropic": "3.0.
|
|
110
|
+
"@ai-sdk/amazon-bedrock": "4.0.112",
|
|
111
|
+
"@ai-sdk/anthropic": "3.0.81",
|
|
112
112
|
"@ai-sdk/google": "3.0.80",
|
|
113
|
-
"@ai-sdk/google-vertex": "4.0.
|
|
114
|
-
"@ai-sdk/openai": "3.0.
|
|
115
|
-
"@aws-sdk/client-s3": "3.
|
|
116
|
-
"@aws-sdk/credential-providers": "3.
|
|
113
|
+
"@ai-sdk/google-vertex": "4.0.142",
|
|
114
|
+
"@ai-sdk/openai": "3.0.67",
|
|
115
|
+
"@aws-sdk/client-s3": "3.1061.0",
|
|
116
|
+
"@aws-sdk/credential-providers": "3.1061.0",
|
|
117
117
|
"@google-cloud/storage": "7.19.0",
|
|
118
118
|
"@types/node": "25.9.1",
|
|
119
119
|
"@types/nunjucks": "3.2.6",
|
|
120
120
|
"typescript": "5.7.3",
|
|
121
|
-
"vite": "8.0.
|
|
122
|
-
"vitest": "4.1.
|
|
121
|
+
"vite": "8.0.16",
|
|
122
|
+
"vitest": "4.1.8"
|
|
123
123
|
}
|
|
124
124
|
}
|