From d6ae33a7a3cdcc63f51269adeb4962a0161e8a95 Mon Sep 17 00:00:00 2001 From: Dan Barr Date: Tue, 27 Jan 2026 16:20:26 -0500 Subject: [PATCH 1/7] Add virtualmcpservers to default Helm RBAC values (#299) Signed-off-by: Dan Barr <6922515+danbarr@users.noreply.github.com> Co-authored-by: Dan Barr <6922515+danbarr@users.noreply.github.com> --- docs/in-cluster-authentication.md | 6 +++--- docs/kubernetes-integration.md | 4 ++-- examples/mcp-servers/mcpserver_mcp-optimizer.yaml | 2 +- helm/mcp-optimizer/values.yaml | 2 +- local-values.yaml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/in-cluster-authentication.md b/docs/in-cluster-authentication.md index a2c043b..61a5ee1 100644 --- a/docs/in-cluster-authentication.md +++ b/docs/in-cluster-authentication.md @@ -78,7 +78,7 @@ When NOT in-cluster (kubectl proxy): ## Required RBAC Permissions -For the service account to access MCPServer CRDs, you need appropriate RBAC: +For the service account to access MCPServer and VirtualMCPServer CRDs, you need appropriate RBAC: ```yaml apiVersion: v1 @@ -93,7 +93,7 @@ metadata: name: mcp-optimizer-reader rules: - apiGroups: ["toolhive.stacklok.dev"] - resources: ["mcpservers"] + resources: ["mcpservers", "virtualmcpservers"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 @@ -151,7 +151,7 @@ metadata: name: mcp-optimizer-reader rules: - apiGroups: ["toolhive.stacklok.dev"] - resources: ["mcpservers"] + resources: ["mcpservers", "virtualmcpservers"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/docs/kubernetes-integration.md b/docs/kubernetes-integration.md index 619a1b7..95a4d80 100644 --- a/docs/kubernetes-integration.md +++ b/docs/kubernetes-integration.md @@ -514,7 +514,7 @@ Configuration file: `~/Library/Application Support/Claude/claude_desktop_config. ## RBAC Configuration -When running in-cluster, MCP Optimizer requires appropriate RBAC permissions to read MCPServer resources: +When running in-cluster, MCP Optimizer requires appropriate RBAC permissions to read MCPServer and VirtualMCPServer resources: ```yaml apiVersion: v1 @@ -529,7 +529,7 @@ metadata: name: mcp-optimizer-reader rules: - apiGroups: ["toolhive.stacklok.dev"] - resources: ["mcpservers"] + resources: ["mcpservers", "virtualmcpservers"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/examples/mcp-servers/mcpserver_mcp-optimizer.yaml b/examples/mcp-servers/mcpserver_mcp-optimizer.yaml index 6125565..a6df974 100644 --- a/examples/mcp-servers/mcpserver_mcp-optimizer.yaml +++ b/examples/mcp-servers/mcpserver_mcp-optimizer.yaml @@ -13,7 +13,7 @@ metadata: rules: # Allow reading MCPServer CRDs to discover MCP servers in the cluster - apiGroups: ["toolhive.stacklok.dev"] - resources: ["mcpservers"] + resources: ["mcpservers", "virtualmcpservers"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/helm/mcp-optimizer/values.yaml b/helm/mcp-optimizer/values.yaml index e7b2f00..fc38648 100644 --- a/helm/mcp-optimizer/values.yaml +++ b/helm/mcp-optimizer/values.yaml @@ -112,7 +112,7 @@ rbac: rules: # Allow reading MCPServer CRDs - apiGroups: ["toolhive.stacklok.dev"] - resources: ["mcpservers"] + resources: ["mcpservers", "virtualmcpservers"] verbs: ["get", "list", "watch"] # Additional optional configurations diff --git a/local-values.yaml b/local-values.yaml index 74c186f..215e392 100644 --- a/local-values.yaml +++ b/local-values.yaml @@ -74,7 +74,7 @@ rbac: create: true rules: - apiGroups: ["toolhive.stacklok.dev"] - resources: ["mcpservers"] + resources: ["mcpservers", "virtualmcpservers"] verbs: ["get", "list", "watch"] database: From f4adc15597932d1d8d3a777a439eb3f8d5c5d189 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 30 Jan 2026 11:40:18 +0200 Subject: [PATCH 2/7] chore(deps): update astral-sh/setup-uv action to v7.2.1 (#308) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/code-quality.yml | 2 +- .github/workflows/download-models.yml | 2 +- .github/workflows/integration-tests.yml | 2 +- .github/workflows/mcp-tef-integration-tests.yml | 2 +- .github/workflows/update-thv-models.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 55527e0..f0509a2 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install uv - uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0 + uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1 with: enable-cache: true python-version: '3.13' diff --git a/.github/workflows/download-models.yml b/.github/workflows/download-models.yml index fd7ff81..92736cd 100644 --- a/.github/workflows/download-models.yml +++ b/.github/workflows/download-models.yml @@ -25,7 +25,7 @@ jobs: - name: Install uv if: steps.cache-models.outputs.cache-hit != 'true' - uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0 + uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1 with: enable-cache: true python-version: '3.13' diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index 386577c..c1e4295 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -109,7 +109,7 @@ jobs: fi - name: Install uv - uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0 + uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1 with: enable-cache: true python-version: '3.13' diff --git a/.github/workflows/mcp-tef-integration-tests.yml b/.github/workflows/mcp-tef-integration-tests.yml index 70ed6d5..6eadfc8 100644 --- a/.github/workflows/mcp-tef-integration-tests.yml +++ b/.github/workflows/mcp-tef-integration-tests.yml @@ -41,7 +41,7 @@ jobs: tags: mcp-optimizer:latest - name: Install uv - uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0 + uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1 with: enable-cache: true python-version: '3.13' diff --git a/.github/workflows/update-thv-models.yml b/.github/workflows/update-thv-models.yml index a8bac44..c757471 100644 --- a/.github/workflows/update-thv-models.yml +++ b/.github/workflows/update-thv-models.yml @@ -27,7 +27,7 @@ jobs: uses: StacklokLabs/toolhive-actions/install@6a095f99aa2fd6cd92cf0bb94bdf509b99820c06 # v0.0.3 - name: Install uv - uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0 + uses: astral-sh/setup-uv@803947b9bd8e9f986429fa0c5a41c367cd732b41 # v7.2.1 with: enable-cache: true python-version: '3.13' From a87055fb2eefcf78406ecc0342e51b5def808d14 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 30 Jan 2026 11:41:03 +0200 Subject: [PATCH 3/7] chore(deps): update dependency anthropic to >=0.77.0 (#306) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- uv.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 062c4a9..3d4862f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,7 @@ security = [ "cyclonedx-bom>=7.2.1", ] examples = [ - "anthropic>=0.76.0", + "anthropic>=0.77.0", "pydantic-ai>=1.47.0", "matplotlib>=3.10.8", "rich>=14.3.1", diff --git a/uv.lock b/uv.lock index ccfc670..90241f9 100644 --- a/uv.lock +++ b/uv.lock @@ -141,7 +141,7 @@ wheels = [ [[package]] name = "anthropic" -version = "0.76.0" +version = "0.77.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -153,9 +153,9 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6e/be/d11abafaa15d6304826438170f7574d750218f49a106c54424a40cef4494/anthropic-0.76.0.tar.gz", hash = "sha256:e0cae6a368986d5cf6df743dfbb1b9519e6a9eee9c6c942ad8121c0b34416ffe", size = 495483, upload-time = "2026-01-13T18:41:14.908Z" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/85/6cb5da3cf91de2eeea89726316e8c5c8c31e2d61ee7cb1233d7e95512c31/anthropic-0.77.0.tar.gz", hash = "sha256:ce36efeb80cb1e25430a88440dc0f9aa5c87f10d080ab70a1bdfd5c2c5fbedb4", size = 504575, upload-time = "2026-01-29T18:20:41.507Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/70/7b0fd9c1a738f59d3babe2b4212031c34ab7d0fda4ffef15b58a55c5bcea/anthropic-0.76.0-py3-none-any.whl", hash = "sha256:81efa3113901192af2f0fe977d3ec73fdadb1e691586306c4256cd6d5ccc331c", size = 390309, upload-time = "2026-01-13T18:41:13.483Z" }, + { url = "https://files.pythonhosted.org/packages/ac/27/9df785d3f94df9ac72f43ee9e14b8120b37d992b18f4952774ed46145022/anthropic-0.77.0-py3-none-any.whl", hash = "sha256:65cc83a3c82ce622d5c677d0d7706c77d29dc83958c6b10286e12fda6ffb2651", size = 397867, upload-time = "2026-01-29T18:20:39.481Z" }, ] [[package]] @@ -2144,7 +2144,7 @@ dev = [ { name = "ty", specifier = ">=0.0.13" }, ] examples = [ - { name = "anthropic", specifier = ">=0.76.0" }, + { name = "anthropic", specifier = ">=0.77.0" }, { name = "matplotlib", specifier = ">=3.10.8" }, { name = "pydantic-ai", specifier = ">=1.47.0" }, { name = "rich", specifier = ">=14.3.1" }, From a169039233560183245077bbebfa2b9bb3ea9314 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 30 Jan 2026 11:41:18 +0200 Subject: [PATCH 4/7] chore(deps): update actions/cache action to v5.0.3 (#305) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/download-models.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/download-models.yml b/.github/workflows/download-models.yml index 92736cd..59684ee 100644 --- a/.github/workflows/download-models.yml +++ b/.github/workflows/download-models.yml @@ -17,7 +17,7 @@ jobs: - name: Cache ML models id: cache-models - uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2 + uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 with: path: models/ # Cache key based on model versions - bump suffix to invalidate From bb41ddb35c845f1928faf291d16362c576963b37 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 30 Jan 2026 11:41:36 +0200 Subject: [PATCH 5/7] fix(deps): update dependency alembic to >=1.18.3 (#303) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- uv.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3d4862f..1b5fa4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ readme = "README.md" requires-python = ">=3.13" dependencies = [ "aiosqlite>=0.22.1", - "alembic>=1.18.1", + "alembic>=1.18.3", "click>=8.3.1", "datamodel-code-generator[http]>=0.53.0", "httpx>=0.28.1", diff --git a/uv.lock b/uv.lock index 90241f9..e914d58 100644 --- a/uv.lock +++ b/uv.lock @@ -118,16 +118,16 @@ wheels = [ [[package]] name = "alembic" -version = "1.18.1" +version = "1.18.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mako" }, { name = "sqlalchemy" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/49/cc/aca263693b2ece99fa99a09b6d092acb89973eb2bb575faef1777e04f8b4/alembic-1.18.1.tar.gz", hash = "sha256:83ac6b81359596816fb3b893099841a0862f2117b2963258e965d70dc62fb866", size = 2044319, upload-time = "2026-01-14T18:53:14.907Z" } +sdist = { url = "https://files.pythonhosted.org/packages/79/41/ab8f624929847b49f84955c594b165855efd829b0c271e1a8cac694138e5/alembic-1.18.3.tar.gz", hash = "sha256:1212aa3778626f2b0f0aa6dd4e99a5f99b94bd25a0c1ac0bba3be65e081e50b0", size = 2052564, upload-time = "2026-01-29T20:24:15.124Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/36/cd9cb6101e81e39076b2fbe303bfa3c85ca34e55142b0324fcbf22c5c6e2/alembic-1.18.1-py3-none-any.whl", hash = "sha256:f1c3b0920b87134e851c25f1f7f236d8a332c34b75416802d06971df5d1b7810", size = 260973, upload-time = "2026-01-14T18:53:17.533Z" }, + { url = "https://files.pythonhosted.org/packages/45/8e/d79281f323e7469b060f15bd229e48d7cdd219559e67e71c013720a88340/alembic-1.18.3-py3-none-any.whl", hash = "sha256:12a0359bfc068a4ecbb9b3b02cf77856033abfdb59e4a5aca08b7eacd7b74ddd", size = 262282, upload-time = "2026-01-29T20:24:17.488Z" }, ] [[package]] @@ -2117,7 +2117,7 @@ security = [ [package.metadata] requires-dist = [ { name = "aiosqlite", specifier = ">=0.22.1" }, - { name = "alembic", specifier = ">=1.18.1" }, + { name = "alembic", specifier = ">=1.18.3" }, { name = "click", specifier = ">=8.3.1" }, { name = "datamodel-code-generator", extras = ["http"], specifier = ">=0.53.0" }, { name = "fastembed", specifier = ">=0.7.4" }, From 737b99aeb91c932caaad0c8977b4c7cf1f21bb04 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 30 Jan 2026 11:41:51 +0200 Subject: [PATCH 6/7] chore(deps): update docker/login-action action to v3.7.0 (#302) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- .github/workflows/releaser-helm-charts.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 19df4e9..08bdf73 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,7 +32,7 @@ jobs: uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 - name: Log in to GitHub Container Registry - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ghcr.io username: ${{ github.actor }} diff --git a/.github/workflows/releaser-helm-charts.yml b/.github/workflows/releaser-helm-charts.yml index 3783425..ef0807f 100644 --- a/.github/workflows/releaser-helm-charts.yml +++ b/.github/workflows/releaser-helm-charts.yml @@ -61,7 +61,7 @@ jobs: CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - name: Login to GitHub Container Registry - uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0 with: registry: ghcr.io username: ${{ github.actor }} From f6c255a42a26c5d59a9b6371fb7ccfdb1ce16b27 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 30 Jan 2026 12:13:49 +0200 Subject: [PATCH 7/7] chore(deps): update dependency pydantic-ai to >=1.50.0 (#301) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- uv.lock | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1b5fa4b..c28d752 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ security = [ ] examples = [ "anthropic>=0.77.0", - "pydantic-ai>=1.47.0", + "pydantic-ai>=1.50.0", "matplotlib>=3.10.8", "rich>=14.3.1", ] diff --git a/uv.lock b/uv.lock index e914d58..8456e4d 100644 --- a/uv.lock +++ b/uv.lock @@ -2146,7 +2146,7 @@ dev = [ examples = [ { name = "anthropic", specifier = ">=0.77.0" }, { name = "matplotlib", specifier = ">=3.10.8" }, - { name = "pydantic-ai", specifier = ">=1.47.0" }, + { name = "pydantic-ai", specifier = ">=1.50.0" }, { name = "rich", specifier = ">=14.3.1" }, ] offline-models = [ @@ -3285,19 +3285,19 @@ email = [ [[package]] name = "pydantic-ai" -version = "1.47.0" +version = "1.50.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pydantic-ai-slim", extra = ["ag-ui", "anthropic", "bedrock", "cli", "cohere", "evals", "fastmcp", "google", "groq", "huggingface", "logfire", "mcp", "mistral", "openai", "retries", "temporal", "ui", "vertexai", "xai"] }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/3d/ae5bb713c81d8ffdd9400eebd765f8fba3f93cd49f5c1518e4b1e6f84408/pydantic_ai-1.47.0.tar.gz", hash = "sha256:e3a6c02f21d507b69476a618174dfda63ba2a87767c9c09c39f77e44614a5913", size = 11793, upload-time = "2026-01-24T00:44:38.392Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a8/08/e2914b97e86ab7e088f2816867d87977b5306cde83ec3b0810721151a362/pydantic_ai-1.50.0.tar.gz", hash = "sha256:a6bfdfc3b6e76f14824899bef711154c4dbbe40956e431f5a781723259eabd11", size = 11793, upload-time = "2026-01-30T00:02:56.996Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/5f/1dca9a73d4790a7a7dbd1994fc09ae7fdcb9d1748a706a3bce0b9d93601a/pydantic_ai-1.47.0-py3-none-any.whl", hash = "sha256:08cbc5142be7249973e044077ae85672b977620a82f72ae32f76dc07c95ffae0", size = 7221, upload-time = "2026-01-24T00:44:29.098Z" }, + { url = "https://files.pythonhosted.org/packages/9d/39/be79686f69654e84e9cd263884299f0b078317488b018d3e8b8f6ceb16ea/pydantic_ai-1.50.0-py3-none-any.whl", hash = "sha256:f40cabaa9272230a3e24324b5199de724e12a19499b14e8ddaec38592c661fb1", size = 7221, upload-time = "2026-01-30T00:02:48.126Z" }, ] [[package]] name = "pydantic-ai-slim" -version = "1.47.0" +version = "1.50.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "genai-prices" }, @@ -3308,9 +3308,9 @@ dependencies = [ { name = "pydantic-graph" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bb/71/d44ee4a2f5ce89dbefdc795340891e1d809419352996bb5f6aa76ce00e7c/pydantic_ai_slim-1.47.0.tar.gz", hash = "sha256:4961cadff4050e47bf67862336a19ab8181be23b3c4cf5fd442423b689127a40", size = 395376, upload-time = "2026-01-24T00:44:41.034Z" } +sdist = { url = "https://files.pythonhosted.org/packages/23/c8/76934c139786706cbe1ee133d3bdce16baa89eb9d4a6cc22755998943360/pydantic_ai_slim-1.50.0.tar.gz", hash = "sha256:489f0bad1ee1c88364101d35582a3417d5ac9a449a5e5786fbc1da6363d86299", size = 403463, upload-time = "2026-01-30T00:02:59.358Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/ad/b38f00643109872e8480ce0239abd95f1b2c2e7aae9a714d0e7cdce46f29/pydantic_ai_slim-1.47.0-py3-none-any.whl", hash = "sha256:b7f5779a83d6fbb6c432bca26578a562e351e1150b5bfd7cfdb06c01a486d0bf", size = 517677, upload-time = "2026-01-24T00:44:32.876Z" }, + { url = "https://files.pythonhosted.org/packages/cf/19/a8526a37aeb5dc35c72d602f81eeb7e6642a0a528964d5710f6801696508/pydantic_ai_slim-1.50.0-py3-none-any.whl", hash = "sha256:e376626cbb1d3b7713c11e0c973224f51ae80ead2dc6cfa514dedd64815f762a", size = 527573, upload-time = "2026-01-30T00:02:51.495Z" }, ] [package.optional-dependencies] @@ -3433,7 +3433,7 @@ wheels = [ [[package]] name = "pydantic-evals" -version = "1.47.0" +version = "1.50.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -3443,14 +3443,14 @@ dependencies = [ { name = "pyyaml" }, { name = "rich" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/e0/eb9108c102c69564183281cd4f3b2ce2801013f62f3f43d5698ed1f60cf3/pydantic_evals-1.47.0.tar.gz", hash = "sha256:db5b270c794524055011137c1cd44d172d42fe87a784990f44195c1e8291dd55", size = 47172, upload-time = "2026-01-24T00:44:42.432Z" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/f1/7bf6945325ebc209868949fb47fd7c584e0abeb8f4f6322ec71e8d8540ea/pydantic_evals-1.50.0.tar.gz", hash = "sha256:aa42639c049571bd04e7672adba835ab87436697fdfd9c057c6c61367a57f6fe", size = 47182, upload-time = "2026-01-30T00:03:00.808Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/79/1d/3cfabab8dbe50b87569ad690e80607bcffd444cc5e5b34e1493272c06411/pydantic_evals-1.47.0-py3-none-any.whl", hash = "sha256:8d4bc024245baf5535cca72ee425846ce5f1c127678caa5d1cd755716d6e48cc", size = 56347, upload-time = "2026-01-24T00:44:34.602Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ce/4316f34446fd4f617835306e467b943d23ee86a1da9d72d8efec24f910c1/pydantic_evals-1.50.0-py3-none-any.whl", hash = "sha256:7fdb4066a2213f10ac2fe3f8775e259fb384322ea28df95fa39b279fcf652ae0", size = 56377, upload-time = "2026-01-30T00:02:53.382Z" }, ] [[package]] name = "pydantic-graph" -version = "1.47.0" +version = "1.50.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "httpx" }, @@ -3458,9 +3458,9 @@ dependencies = [ { name = "pydantic" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b2/e7/e419899a7e1942f4ce0cf3d5daa2d7410f9a04f3ed4cce2a54a4a3405d4c/pydantic_graph-1.47.0.tar.gz", hash = "sha256:59c904faba77e92efc0ed140dcabd429c333895ee22ec57f61bdd34a83530613", size = 58453, upload-time = "2026-01-24T00:44:43.6Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b9/be/b3f18fe31a823f603536dfa055784a5c6836a0286a69a77c41ea51c1f8ce/pydantic_graph-1.50.0.tar.gz", hash = "sha256:e376a1501d521c27588767da8314f049dc837cf401574ab8da51630f87d76ff5", size = 58461, upload-time = "2026-01-30T00:03:01.724Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1c/34/075a5abb11f1c37730e329a77fc440e162097854efe536642d50c5fb8ae8/pydantic_graph-1.47.0-py3-none-any.whl", hash = "sha256:cbd3d60fb057bf4d51e62a6fb1383de560a18847107a843794efbdd5985fb6d1", size = 72326, upload-time = "2026-01-24T00:44:36.245Z" }, + { url = "https://files.pythonhosted.org/packages/03/04/f442a706c38922a7bde1e1031ec059783deccfed87d83f81538ab57a46c4/pydantic_graph-1.50.0-py3-none-any.whl", hash = "sha256:0cb3daed6480406290b066a7aa6842fe667c9fd1cce0939dde67856a938e6b49", size = 72344, upload-time = "2026-01-30T00:02:54.62Z" }, ] [[package]]