From 7038afc3772aea6a3cb06ac3f5470ac86e845319 Mon Sep 17 00:00:00 2001 From: Barak Bar Orion Date: Mon, 13 Jul 2026 09:28:36 +0300 Subject: [PATCH 1/4] chore(deps): consolidate Dependabot updates (Python, npm, GitHub Actions) Combines 15 open Dependabot PRs (#625-#639) into a single change set. Python (pyproject.toml + uv.lock): - fastapi 0.136.1 -> 0.139.0 (#634) - litellm 1.84.0 -> 1.92.0 (#630) - openai 2.44.0 -> 2.45.0 (#631) - tqdm 4.67.3 -> 4.68.4 (#636) - uvicorn 0.46.0 -> 0.51.0 (#632) npm (app/package.json + app/package-lock.json): - @tanstack/react-query 5.90.21 -> 5.101.2 (#635) - date-fns 3.6.0 -> 4.4.0 (#637) - lucide-react 0.577.0 -> 1.24.0 (#639) - react-day-picker 8.10.2 -> 10.0.1 (#638) - postcss 8.5.16 -> 8.5.17 (#633) GitHub Actions: - astral-sh/setup-uv 8.2.0 -> 8.3.2 (#626) - docker/build-push-action 7.2.0 -> 7.3.0 (#628) - docker/login-action 4.2.0 -> 4.4.0 (#627) - docker/metadata-action 6.1.0 -> 6.2.0 (#625) - rojopolis/spellcheck-github-actions 0.62.0 -> 0.63.0 (#629) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/playwright.yml | 2 +- .github/workflows/publish-docker.yml | 6 +-- .github/workflows/publish-pypi.yml | 6 +-- .github/workflows/pylint.yml | 2 +- .github/workflows/spellcheck.yml | 2 +- .github/workflows/tests.yml | 4 +- app/package-lock.json | 68 ++++++++++++++++++---------- app/package.json | 10 ++-- pyproject.toml | 6 +-- uv.lock | 43 ++++++++++-------- 10 files changed, 86 insertions(+), 63 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 9eb41062..b52fe5b2 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -39,7 +39,7 @@ jobs: # Install uv - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 with: version: "0.7.12" diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml index efc110be..e438868d 100644 --- a/.github/workflows/publish-docker.yml +++ b/.github/workflows/publish-docker.yml @@ -17,19 +17,19 @@ jobs: persist-credentials: false - name: Log in to Docker Hub - uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4 + uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6 with: images: falkordb/queryweaver - name: Build and push Docker image - uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7 + uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7 with: context: . push: true diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml index 1f35c24c..40571d48 100644 --- a/.github/workflows/publish-pypi.yml +++ b/.github/workflows/publish-pypi.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 with: python-version: "3.12" - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 with: enable-cache: false - name: Build @@ -46,7 +46,7 @@ jobs: id-token: write # required for OIDC trusted publishing contents: read steps: - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 with: enable-cache: false - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 @@ -69,7 +69,7 @@ jobs: id-token: write # required for OIDC trusted publishing contents: read steps: - - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 with: enable-cache: false - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index b7822e1a..47c525a6 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -19,7 +19,7 @@ jobs: python-version: '3.12' - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 with: version: "latest" diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml index 092d0e66..cf3b65b1 100644 --- a/.github/workflows/spellcheck.yml +++ b/.github/workflows/spellcheck.yml @@ -14,7 +14,7 @@ jobs: with: persist-credentials: false - name: Spellcheck - uses: rojopolis/spellcheck-github-actions@390a08ee9c46943112f21d2ff671649a2bacd33f # 0.62.0 + uses: rojopolis/spellcheck-github-actions@e619e00ca22f01ade9d73048dcd6518bedc552f2 # 0.63.0 with: config_path: .github/spellcheck-settings.yml task_name: Markdown \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 37bc7eb9..41c1d5cf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -39,7 +39,7 @@ jobs: python-version: '3.12' - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 with: version: "0.7.12" @@ -123,7 +123,7 @@ jobs: python-version: '3.12' - name: Install uv - uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 with: version: "latest" diff --git a/app/package-lock.json b/app/package-lock.json index 0fa60461..ada85921 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -37,20 +37,20 @@ "@radix-ui/react-toggle": "^1.1.13", "@radix-ui/react-toggle-group": "^1.1.14", "@radix-ui/react-tooltip": "^1.2.11", - "@tanstack/react-query": "^5.90.21", + "@tanstack/react-query": "^5.101.2", "@types/d3": "^7.4.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "d3": "^7.9.0", - "date-fns": "^3.6.0", + "date-fns": "^4.4.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", - "lucide-react": "^0.577.0", + "lucide-react": "^1.24.0", "next-themes": "^0.4.0", "preact": "^10.28.4", "react": "^19.2.7", - "react-day-picker": "^8.10.2", + "react-day-picker": "^10.0.1", "react-dom": "^19.2.7", "react-hook-form": "^7.71.2", "react-resizable-panels": "^4.11.2", @@ -74,7 +74,7 @@ "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "globals": "^17.3.0", - "postcss": "^8.5.16", + "postcss": "^8.5.17", "tailwindcss": "^4.0.0", "tw-animate-css": "^1.4.0", "typescript": "^6.0.3", @@ -91,6 +91,12 @@ "node": ">=6.9.0" } }, + "node_modules/@date-fns/tz": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.5.0.tgz", + "integrity": "sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==", + "license": "MIT" + }, "node_modules/@emnapi/core": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", @@ -7549,9 +7555,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.90.20", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.20.tgz", - "integrity": "sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg==", + "version": "5.101.2", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.101.2.tgz", + "integrity": "sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw==", "license": "MIT", "funding": { "type": "github", @@ -7559,12 +7565,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.90.21", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.21.tgz", - "integrity": "sha512-0Lu6y5t+tvlTJMTO7oh5NSpJfpg/5D41LlThfepTixPYkJ0sE2Jj0m0f6yYqujBwIXlId87e234+MxG3D3g7kg==", + "version": "5.101.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.101.2.tgz", + "integrity": "sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.90.20" + "@tanstack/query-core": "5.101.2" }, "funding": { "type": "github", @@ -8888,7 +8894,9 @@ } }, "node_modules/date-fns": { - "version": "3.6.0", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -9852,9 +9860,9 @@ } }, "node_modules/lucide-react": { - "version": "0.577.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.577.0.tgz", - "integrity": "sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.24.0.tgz", + "integrity": "sha512-YT6mBD8lGKkg4nM39enlm94/sfJIiW0YKUT60fBy4YK8tai31ylg1VhGNWxkpSKHo9UagfnZqwIff3HTDQwXeA==", "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -10026,9 +10034,9 @@ } }, "node_modules/postcss": { - "version": "8.5.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", - "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", + "version": "8.5.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.18.tgz", + "integrity": "sha512-xdB1oSLHbz1vRWgCDalrCqEFTWzFlhqFC5tIHLMOSUIjhm3XXQ1qrFy8S/ESr1JYRRXqM3c1QFiMZUJdUTqyMQ==", "dev": true, "funding": [ { @@ -10124,17 +10132,29 @@ } }, "node_modules/react-day-picker": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.2.tgz", - "integrity": "sha512-LK68OTbHB3oJNhl9cA0qVizzp3o26w61YSjAFkYi67N86iro32wx86kSNeFU/hq+gI8m1yzWhnomMLfZ041RzQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-10.0.1.tgz", + "integrity": "sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w==", "license": "MIT", + "dependencies": { + "@date-fns/tz": "^1.4.1", + "date-fns": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, "funding": { "type": "individual", "url": "https://github.com/sponsors/gpbl" }, "peerDependencies": { - "date-fns": "^2.28.0 || ^3.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "@types/react": ">=16.8.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/react-dom": { diff --git a/app/package.json b/app/package.json index 3e39e897..a8abd68f 100644 --- a/app/package.json +++ b/app/package.json @@ -40,20 +40,20 @@ "@radix-ui/react-toggle": "^1.1.13", "@radix-ui/react-toggle-group": "^1.1.14", "@radix-ui/react-tooltip": "^1.2.11", - "@tanstack/react-query": "^5.90.21", + "@tanstack/react-query": "^5.101.2", "@types/d3": "^7.4.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "d3": "^7.9.0", - "date-fns": "^3.6.0", + "date-fns": "^4.4.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", - "lucide-react": "^0.577.0", + "lucide-react": "^1.24.0", "next-themes": "^0.4.0", "preact": "^10.28.4", "react": "^19.2.7", - "react-day-picker": "^8.10.2", + "react-day-picker": "^10.0.1", "react-dom": "^19.2.7", "react-hook-form": "^7.71.2", "react-resizable-panels": "^4.11.2", @@ -77,7 +77,7 @@ "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "globals": "^17.3.0", - "postcss": "^8.5.16", + "postcss": "^8.5.17", "tailwindcss": "^4.0.0", "tw-animate-css": "^1.4.0", "typescript": "^6.0.3", diff --git a/pyproject.toml b/pyproject.toml index 750309bf..d73ca899 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ dependencies = [ "psycopg2-binary~=2.9.12", "pymysql~=1.2.0", "jsonschema~=4.26.0", - "tqdm~=4.67.3", + "tqdm>=4.67.3,<4.69.0", "pydantic>=2.0", "python-dotenv~=1.2.2", ] @@ -46,8 +46,8 @@ memory = [ # Server dependencies (FastAPI, auth, etc.). Used to run the full app from a # repo/Docker checkout; the published SDK wheel does not include the server. server = [ - "fastapi~=0.136.1", - "uvicorn~=0.46.0", + "fastapi>=0.136.1,<0.140.0", + "uvicorn>=0.46,<0.52", "authlib~=1.7.0", "itsdangerous~=2.2.0", "python-multipart~=0.0.32", diff --git a/uv.lock b/uv.lock index 3c91bb31..5adccadd 100644 --- a/uv.lock +++ b/uv.lock @@ -584,7 +584,7 @@ wheels = [ [[package]] name = "fastapi" -version = "0.136.1" +version = "0.139.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-doc" }, @@ -593,9 +593,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5d/45/c130091c2dfa061bbfe3150f2a5091ef1adf149f2a8d2ae769ecaf6e99a2/fastapi-0.136.1.tar.gz", hash = "sha256:7af665ad7acfa0a3baf8983d393b6b471b9da10ede59c60045f49fbc89a0fa7f", size = 397448, upload-time = "2026-04-23T16:49:44.046Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d3/af/a5f50ccfa659ec1802cb4ca842c23f06d906a8cc9aef6016a2caeea3d4ed/fastapi-0.139.0.tar.gz", hash = "sha256:99ab7b2d92223c76d6cf10757ab3f89d45b38267fc20b2a136cf02f6beac3145", size = 423016, upload-time = "2026-07-01T16:35:33.436Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/ff/2e4eca3ade2c22fe1dea7043b8ee9dabe47753349eb1b56a202de8af6349/fastapi-0.136.1-py3-none-any.whl", hash = "sha256:a6e9d7eeada96c93a4d69cb03836b44fa34e2854accb7244a1ece36cd4781c3f", size = 117683, upload-time = "2026-04-23T16:49:42.437Z" }, + { url = "https://files.pythonhosted.org/packages/9e/7c/8e3c6ad324ea5cb36604fc3f968554887891c316d9dfde57761611d907ad/fastapi-0.139.0-py3-none-any.whl", hash = "sha256:cf15e1e9e667ddb0ad63811e60bd11390d1aac838ca4a7a23f421807b2308189", size = 130339, upload-time = "2026-07-01T16:35:32.19Z" }, ] [[package]] @@ -1205,7 +1205,7 @@ wheels = [ [[package]] name = "litellm" -version = "1.84.0" +version = "1.92.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -1221,9 +1221,12 @@ dependencies = [ { name = "tiktoken" }, { name = "tokenizers" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dd/e9/8941b7e72a187000561d932c0f2f2ed2b0fd080dfc33ba6e05961d45ca7d/litellm-1.84.0.tar.gz", hash = "sha256:b8ad0cbea11a5941b18d5af973017a340abd3d3ab41cb86e5401b970626d71a6", size = 15103206, upload-time = "2026-05-14T05:45:53.017Z" } +sdist = { url = "https://files.pythonhosted.org/packages/46/ea/5522be7e0dbcaa7c3fddfd2834f387c6e8eab47c0cc65f2a74657c815af7/litellm-1.92.0.tar.gz", hash = "sha256:773adf5503ee1793289689c899394a83df8122993760d9acd782e32aa798db9d", size = 15098143, upload-time = "2026-07-12T01:15:59.828Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/a6/77fa1bbf5e42eb596b06318b3f7e6af5d0f44028046d1d598c6a595d028f/litellm-1.84.0-py3-none-any.whl", hash = "sha256:2a58d6041e6aa27d1a28dc8d8828ab500fef1a00ef74ca65e60899035010c2f2", size = 16735062, upload-time = "2026-05-14T05:45:49.927Z" }, + { url = "https://files.pythonhosted.org/packages/cf/26/8061907b67aa04b7cdf2a41cbc4f8aebfbc722c909a7e4b2aea25def7053/litellm-1.92.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9c7b2849591a35f7039dc7386a81a8e68fccb5ac2fecaa5122192c1172556b29", size = 19291180, upload-time = "2026-07-12T01:15:48.728Z" }, + { url = "https://files.pythonhosted.org/packages/ba/6c/dc9b0b580ee8af9117abd729d1de25d74fae487a0029ca77049a09f3ad33/litellm-1.92.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f17499155366afd1eaaeb6fd0c7b55cbd2239dcd72f2fe1f8071a969cc402fae", size = 19289559, upload-time = "2026-07-12T01:15:51.376Z" }, + { url = "https://files.pythonhosted.org/packages/10/34/1671376f228443330471416e24ee51bc8364c0ae6155d4ec6217b70a4753/litellm-1.92.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:437a0e403136996430795ead76502103dcf74769b6909e12d3e2511061ea8ff8", size = 19291560, upload-time = "2026-07-12T01:15:54.66Z" }, + { url = "https://files.pythonhosted.org/packages/3d/4f/141cf1162eeee762fc839c335e3f78fc309a65f2385023479a20b09e680a/litellm-1.92.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:8f03047a73154f33c2733899e4bf9b5ed129e2e345caa305895a318452e4a807", size = 19289770, upload-time = "2026-07-12T01:15:57.136Z" }, ] [[package]] @@ -1527,7 +1530,7 @@ wheels = [ [[package]] name = "openai" -version = "2.44.0" +version = "2.45.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1539,9 +1542,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/49/f5/7c7cb955305cb41f7f3c5fd7e0e38bf6bbf2658468863d4b7b868a5cb8df/openai-2.44.0.tar.gz", hash = "sha256:68a5a5ffad82b8ff7d451c437529fb64f7c3b8123aaf0c021966a882d9e3947d", size = 988753, upload-time = "2026-06-24T20:56:02.293Z" } +sdist = { url = "https://files.pythonhosted.org/packages/78/60/d4219875289b11d2c2f7da93c36283da224a2e55865ed865ab64e0ce9217/openai-2.45.0.tar.gz", hash = "sha256:10d34ca9c5643bce775852fddbfc172505cb1d4de1ccd101696c3ecff358765d", size = 1109653, upload-time = "2026-07-09T18:02:44.091Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/f4/561ed79fd94876160018a5e75254cfcb9b0e62d4dded9dcb20072e86d623/openai-2.44.0-py3-none-any.whl", hash = "sha256:0a2a3ab2e29aeda368700f662ff9ba0f9df17ba4c54577a64e08b8115a3cc0ad", size = 1366216, upload-time = "2026-06-24T20:55:58.882Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b0/2291689e3ec4723fbf5bbf3b54afcd7b160f9ddc98ca7aedfd0132af5677/openai-2.45.0-py3-none-any.whl", hash = "sha256:5df105f5f8c9b711fcb9d06d2d3888cebc82506db216484c14a4e53cdf651777", size = 1629470, upload-time = "2026-07-09T18:02:42.21Z" }, ] [[package]] @@ -2240,8 +2243,8 @@ requires-dist = [ { name = "authlib", marker = "extra == 'all'", specifier = "~=1.7.0" }, { name = "authlib", marker = "extra == 'server'", specifier = "~=1.7.0" }, { name = "falkordb", specifier = "~=1.6.1" }, - { name = "fastapi", marker = "extra == 'all'", specifier = "~=0.136.1" }, - { name = "fastapi", marker = "extra == 'server'", specifier = "~=0.136.1" }, + { name = "fastapi", marker = "extra == 'all'", specifier = ">=0.136.1,<0.140.0" }, + { name = "fastapi", marker = "extra == 'server'", specifier = ">=0.136.1,<0.140.0" }, { name = "fastmcp", marker = "extra == 'all'", specifier = ">=3.2.4" }, { name = "fastmcp", marker = "extra == 'server'", specifier = ">=3.2.4" }, { name = "graphiti-core", marker = "extra == 'all'", specifier = ">=0.29.1" }, @@ -2272,9 +2275,9 @@ requires-dist = [ { name = "python-multipart", marker = "extra == 'server'", specifier = "~=0.0.32" }, { name = "snowflake-connector-python", marker = "extra == 'all'", specifier = "~=4.6.0" }, { name = "snowflake-connector-python", marker = "extra == 'server'", specifier = "~=4.6.0" }, - { name = "tqdm", specifier = "~=4.67.3" }, - { name = "uvicorn", marker = "extra == 'all'", specifier = "~=0.46.0" }, - { name = "uvicorn", marker = "extra == 'server'", specifier = "~=0.46.0" }, + { name = "tqdm", specifier = ">=4.67.3,<4.69.0" }, + { name = "uvicorn", marker = "extra == 'all'", specifier = ">=0.46,<0.52" }, + { name = "uvicorn", marker = "extra == 'server'", specifier = ">=0.46,<0.52" }, ] provides-extras = ["all", "dev", "memory", "server"] @@ -2751,14 +2754,14 @@ wheels = [ [[package]] name = "tqdm" -version = "4.67.3" +version = "4.68.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", hash = "sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb", size = 169598, upload-time = "2026-02-03T17:35:53.048Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ae/5f/57ff8b434839e70dab45601284ea413e947a63799891b7553e5960a793a8/tqdm-4.68.4.tar.gz", hash = "sha256:19829c9673638f2a0b8617da4cdcb927e831cd88bcfcb6e78d42a4d1af131520", size = 792418, upload-time = "2026-07-07T09:58:18.369Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", hash = "sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", size = 78374, upload-time = "2026-02-03T17:35:50.982Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/5e5e750890ada51017d18d0d4c30da696e5b5bd3180947729927628fc3cb/tqdm-4.68.4-py3-none-any.whl", hash = "sha256:5168118b2368f48c561afda8020fd79195b1bdb0bdf8086b88442c267a315dc2", size = 676612, upload-time = "2026-07-07T09:58:16.256Z" }, ] [[package]] @@ -2829,15 +2832,15 @@ wheels = [ [[package]] name = "uvicorn" -version = "0.46.0" +version = "0.51.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1f/93/041fca8274050e40e6791f267d82e0e2e27dd165627bd640d3e0e378d877/uvicorn-0.46.0.tar.gz", hash = "sha256:fb9da0926999cc6cb22dc7cd71a94a632f078e6ae47ff683c5c420750fb7413d", size = 88758, upload-time = "2026-04-23T07:16:00.151Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/65/b7c6c443ccc58678c91e1e973bbe2a878591538655d6e1d47f24ba1c51f3/uvicorn-0.51.0.tar.gz", hash = "sha256:f6f4b69b657c312f516dd2d268ab9ae6f254b11e4bac504f37b2ab58b24dd0b0", size = 94412, upload-time = "2026-07-08T10:59:05.962Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/31/a3/5b1562db76a5a488274b2332a97199b32d0442aca0ed193697fd47786316/uvicorn-0.46.0-py3-none-any.whl", hash = "sha256:bbebbcbed972d162afca128605223022bedd345b7bc7855ce66deb31487a9048", size = 70926, upload-time = "2026-04-23T07:15:58.355Z" }, + { url = "https://files.pythonhosted.org/packages/45/ec/dbb7e5a6b91f86bfb9eb7d2988a2730907b6a729875b949c7f022e8b88fa/uvicorn-0.51.0-py3-none-any.whl", hash = "sha256:5d38af6cd620f2ae3849fb44fd4879e0890aa1febe8d47eb355fb45d93fe6a5b", size = 73219, upload-time = "2026-07-08T10:59:04.44Z" }, ] [[package]] From c6ecf663d3c6138a77d5524b2ba776a669759347 Mon Sep 17 00:00:00 2001 From: Barak Bar Orion Date: Mon, 13 Jul 2026 09:35:07 +0300 Subject: [PATCH 2/4] fix(ui): replace removed lucide-react Github icon with inline SVG lucide-react v1 dropped its brand icons, so the `Github` named export no longer exists. AuthModal's "Sign in with GitHub" button relied on it. Use an inline GitHub logo SVG, matching the existing inline Google logo in the same component, so the bump to lucide-react ^1.24.0 doesn't break the build. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- app/src/components/modals/AuthModal.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/components/modals/AuthModal.tsx b/app/src/components/modals/AuthModal.tsx index 950cf8cd..f40904a2 100644 --- a/app/src/components/modals/AuthModal.tsx +++ b/app/src/components/modals/AuthModal.tsx @@ -1,6 +1,5 @@ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; -import { Github } from "lucide-react"; import { useToast } from "@/components/ui/use-toast"; import { AuthService } from "@/services/auth"; @@ -81,7 +80,13 @@ const AuthModal = ({ open, onOpenChange }: AuthModalProps) => { onClick={handleGithubSignIn} className="w-full bg-github-dark hover:bg-github-dark/90 text-white font-medium py-3 h-auto" > - + Sign in with GitHub From c289601239ef3cb6386fee928220f67767b9d7d1 Mon Sep 17 00:00:00 2001 From: Barak Bar Orion Date: Mon, 13 Jul 2026 09:38:02 +0300 Subject: [PATCH 3/4] chore(deps): sync root package-lock.json with bumped app deps The root package.json links the frontend via `queryweaver-app: file:app`, so the root lock file embeds the app dependency tree. The E2E workflow runs `npm ci` at the repo root, which requires the lock file to be in sync. Regenerate it to match the bumped app dependencies. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- package-lock.json | 105 +++++++++++++++++++++++++++------------------- 1 file changed, 63 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index e7e2e0c8..681a7e47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,7 +4,6 @@ "requires": true, "packages": { "": { - "name": "QueryWeaver", "dependencies": { "queryweaver-app": "file:app" }, @@ -47,20 +46,20 @@ "@radix-ui/react-toggle": "^1.1.13", "@radix-ui/react-toggle-group": "^1.1.14", "@radix-ui/react-tooltip": "^1.2.11", - "@tanstack/react-query": "^5.90.21", + "@tanstack/react-query": "^5.101.2", "@types/d3": "^7.4.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "d3": "^7.9.0", - "date-fns": "^3.6.0", + "date-fns": "^4.4.0", "embla-carousel-react": "^8.6.0", "input-otp": "^1.4.2", - "lucide-react": "^0.577.0", + "lucide-react": "^1.24.0", "next-themes": "^0.4.0", "preact": "^10.28.4", "react": "^19.2.7", - "react-day-picker": "^8.10.2", + "react-day-picker": "^10.0.1", "react-dom": "^19.2.7", "react-hook-form": "^7.71.2", "react-resizable-panels": "^4.11.2", @@ -84,7 +83,7 @@ "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "globals": "^17.3.0", - "postcss": "^8.5.16", + "postcss": "^8.5.17", "tailwindcss": "^4.0.0", "tw-animate-css": "^1.4.0", "typescript": "^6.0.3", @@ -592,28 +591,6 @@ "version": "1.1.1", "license": "MIT" }, - "app/node_modules/@tanstack/query-core": { - "version": "5.90.20", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "app/node_modules/@tanstack/react-query": { - "version": "5.90.21", - "license": "MIT", - "dependencies": { - "@tanstack/query-core": "5.90.20" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^18 || ^19" - } - }, "app/node_modules/@types/d3": { "version": "7.4.3", "license": "MIT", @@ -1241,6 +1218,12 @@ "url": "https://github.com/sponsors/colinhacks" } }, + "node_modules/@date-fns/tz": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.5.0.tgz", + "integrity": "sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==", + "license": "MIT" + }, "node_modules/@emnapi/core": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", @@ -7603,6 +7586,32 @@ "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, + "node_modules/@tanstack/query-core": { + "version": "5.101.2", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.101.2.tgz", + "integrity": "sha512-hH5MLoJhF7KaIGd7q3xTXGXvslI+GYlM1Z/35aSHHWaCJWB7XvTSHYuV3eM7tw+aE0mT/xMro4M4Q9rCGHT0lw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "5.101.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.101.2.tgz", + "integrity": "sha512-seDkr6kzGzX1okaaTtZPtgA688CDPlXUz1C6xSg0ESqn04Vuc8tlrYms1s3de+znBqhPVxFRfpAfUf+6XvfPWg==", + "license": "MIT", + "dependencies": { + "@tanstack/query-core": "5.101.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^18 || ^19" + } + }, "node_modules/@tweenjs/tween.js": { "version": "25.0.0", "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-25.0.0.tgz", @@ -8625,9 +8634,9 @@ } }, "node_modules/date-fns": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", - "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -9576,9 +9585,9 @@ } }, "node_modules/lucide-react": { - "version": "0.577.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.577.0.tgz", - "integrity": "sha512-4LjoFv2eEPwYDPg/CUdBJQSDfPyzXCRrVW1X7jrx/trgxnxkHFjnVZINbzvzxjN70dxychOfg+FTYwBiS3pQ5A==", + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.24.0.tgz", + "integrity": "sha512-YT6mBD8lGKkg4nM39enlm94/sfJIiW0YKUT60fBy4YK8tai31ylg1VhGNWxkpSKHo9UagfnZqwIff3HTDQwXeA==", "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -9786,9 +9795,9 @@ } }, "node_modules/postcss": { - "version": "8.5.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", - "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", + "version": "8.5.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.18.tgz", + "integrity": "sha512-xdB1oSLHbz1vRWgCDalrCqEFTWzFlhqFC5tIHLMOSUIjhm3XXQ1qrFy8S/ESr1JYRRXqM3c1QFiMZUJdUTqyMQ==", "dev": true, "funding": [ { @@ -9876,17 +9885,29 @@ } }, "node_modules/react-day-picker": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.2.tgz", - "integrity": "sha512-LK68OTbHB3oJNhl9cA0qVizzp3o26w61YSjAFkYi67N86iro32wx86kSNeFU/hq+gI8m1yzWhnomMLfZ041RzQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-10.0.1.tgz", + "integrity": "sha512-eNh6BlwcYInWaJtRv18mXQ06Ys/H6rdTZAnTaSdOYJuTpwP1JMCHNd1FDRadA+gbeinq+psdULN5Xnowy9mV8w==", "license": "MIT", + "dependencies": { + "@date-fns/tz": "^1.4.1", + "date-fns": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, "funding": { "type": "individual", "url": "https://github.com/sponsors/gpbl" }, "peerDependencies": { - "date-fns": "^2.28.0 || ^3.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "@types/react": ">=16.8.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/react-dom": { From be592d381fa34682b25e6020ba163b8221384d15 Mon Sep 17 00:00:00 2001 From: Barak Bar Orion Date: Mon, 13 Jul 2026 09:39:31 +0300 Subject: [PATCH 4/4] fix(a11y): hide decorative OAuth icons from assistive tech MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both the Google and GitHub button icons are decorative — the button text labels the action — so mark both SVGs `aria-hidden="true" focusable="false"` for consistent screen-reader behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- app/src/components/modals/AuthModal.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/components/modals/AuthModal.tsx b/app/src/components/modals/AuthModal.tsx index f40904a2..569392ce 100644 --- a/app/src/components/modals/AuthModal.tsx +++ b/app/src/components/modals/AuthModal.tsx @@ -55,7 +55,7 @@ const AuthModal = ({ open, onOpenChange }: AuthModalProps) => { onClick={handleGoogleSignIn} className="w-full bg-google-blue hover:bg-google-blue/90 text-white font-medium py-3 h-auto" > - +