awslabs.cdk-mcp-server 1.0.11__tar.gz → 1.0.13__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/Dockerfile +19 -22
  2. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/PKG-INFO +5 -5
  3. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/README.md +4 -4
  4. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/__init__.py +1 -1
  5. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/data/schema_generator.py +14 -0
  6. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/docker-healthcheck.sh +1 -1
  7. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/pyproject.toml +6 -1
  8. awslabs_cdk_mcp_server-1.0.13/uv-requirements.txt +23 -0
  9. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/uv.lock +49 -21
  10. awslabs_cdk_mcp_server-1.0.11/uv-requirements.txt +0 -27
  11. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/.gitignore +0 -0
  12. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/.python-version +0 -0
  13. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/CHANGELOG.md +0 -0
  14. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/LICENSE +0 -0
  15. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/NOTICE +0 -0
  16. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/__init__.py +0 -0
  17. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/core/__init__.py +0 -0
  18. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/core/resources.py +0 -0
  19. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/core/search_utils.py +0 -0
  20. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/core/server.py +0 -0
  21. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/core/tools.py +0 -0
  22. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/data/__init__.py +0 -0
  23. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/data/cdk_nag_parser.py +0 -0
  24. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/data/construct_descriptions.py +0 -0
  25. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/data/genai_cdk_loader.py +0 -0
  26. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/data/lambda_layer_parser.py +0 -0
  27. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/data/lambda_powertools_loader.py +0 -0
  28. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/data/solutions_constructs_parser.py +0 -0
  29. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/server.py +0 -0
  30. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/CDK_GENERAL_GUIDANCE.md +0 -0
  31. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/CDK_NAG_GUIDANCE.md +0 -0
  32. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/__init__.py +0 -0
  33. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/lambda_powertools/bedrock.md +0 -0
  34. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/lambda_powertools/cdk.md +0 -0
  35. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/lambda_powertools/dependencies.md +0 -0
  36. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/lambda_powertools/index.md +0 -0
  37. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/lambda_powertools/insights.md +0 -0
  38. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/lambda_powertools/logging.md +0 -0
  39. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/lambda_powertools/metrics.md +0 -0
  40. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/awslabs/cdk_mcp_server/static/lambda_powertools/tracing.md +0 -0
  41. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/__init__.py +0 -0
  42. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/core/test_resources.py +0 -0
  43. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/core/test_resources_enhanced.py +0 -0
  44. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/core/test_search_utils.py +0 -0
  45. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/core/test_server.py +0 -0
  46. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/core/test_tools.py +0 -0
  47. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/data/test_cdk_nag_parser.py +0 -0
  48. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/data/test_genai_cdk_loader.py +0 -0
  49. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/data/test_lambda_powertools_loader.py +0 -0
  50. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/data/test_schema_generator.py +0 -0
  51. {awslabs_cdk_mcp_server-1.0.11 → awslabs_cdk_mcp_server-1.0.13}/tests/data/test_solutions_constructs_parser.py +0 -0
@@ -13,7 +13,11 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # dependabot should continue to update this to the latest hash.
16
- FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:070342a0cc1011532c0e69972cce2bbc6cc633eba294bae1d12abea8bd05303b AS uv
16
+ FROM public.ecr.aws/amazonlinux/amazonlinux@sha256:e27a70c006c68f0d194cc9b9624714d6ed8d979a94f60f7d31392f4c8294155b AS uv
17
+
18
+ # Install build dependencies needed for compiling packages
19
+ RUN dnf install -y shadow-utils python3 python3-devel gcc && \
20
+ dnf clean all
17
21
 
18
22
  # Install the project into `/app`
19
23
  WORKDIR /app
@@ -25,7 +29,7 @@ ENV UV_COMPILE_BYTECODE=1
25
29
  ENV UV_LINK_MODE=copy
26
30
 
27
31
  # Prefer the system python
28
- ENV UV_PYTHON_PREFERENCE=only-system
32
+ ENV UV_PYTHON_PREFERENCE=only-managed
29
33
 
30
34
  # Run without updating the uv.lock file like running with `--frozen`
31
35
  ENV UV_FROZEN=true
@@ -37,19 +41,10 @@ COPY pyproject.toml uv.lock uv-requirements.txt ./
37
41
  ENV PIP_NO_CACHE_DIR=1 \
38
42
  PIP_DISABLE_PIP_VERSION_CHECK=1
39
43
 
40
- # Install system dependencies and Python package manager
41
- RUN apk update && \
42
- apk add --no-cache --virtual .build-deps \
43
- build-base \
44
- gcc \
45
- musl-dev \
46
- libffi-dev \
47
- openssl-dev \
48
- cargo
49
-
50
44
  # Install the project's dependencies using the lockfile and settings
51
45
  RUN --mount=type=cache,target=/root/.cache/uv \
52
- pip install --require-hashes --requirement uv-requirements.txt --no-cache-dir && \
46
+ python3 -m ensurepip && \
47
+ python3 -m pip install --require-hashes --requirement uv-requirements.txt --no-cache-dir && \
53
48
  uv sync --python 3.13 --frozen --no-install-project --no-dev --no-editable
54
49
 
55
50
  # Then, add the rest of the project source code and install it
@@ -61,20 +56,22 @@ RUN --mount=type=cache,target=/root/.cache/uv \
61
56
  # Make the directory just in case it doesn't exist
62
57
  RUN mkdir -p /root/.local
63
58
 
64
- FROM public.ecr.aws/docker/library/python:3.13-alpine@sha256:070342a0cc1011532c0e69972cce2bbc6cc633eba294bae1d12abea8bd05303b
59
+ FROM public.ecr.aws/amazonlinux/amazonlinux@sha256:e27a70c006c68f0d194cc9b9624714d6ed8d979a94f60f7d31392f4c8294155b
65
60
 
66
61
  # Place executables in the environment at the front of the path and include other binaries
67
- ENV PATH="/app/.venv/bin:$PATH" \
62
+ ENV PATH="/app/.venv/bin:$PATH:/usr/sbin" \
68
63
  PYTHONUNBUFFERED=1
69
64
 
70
- # Install runtime dependencies and create application user
71
- RUN apk update && \
72
- apk add --no-cache ca-certificates && \
73
- update-ca-certificates && \
74
- addgroup -S app && \
75
- adduser -S app -G app -h /app
65
+ # Install other tools as needed for the MCP server
66
+ # Add non-root user and ability to change directory into /root
67
+ RUN dnf install -y shadow-utils procps && \
68
+ dnf clean all && \
69
+ groupadd --force --system app && \
70
+ useradd app -g app -d /app && \
71
+ chmod o+x /root
76
72
 
77
- # Copy application artifacts from build stage
73
+ # Get the project from the uv layer
74
+ COPY --from=uv --chown=app:app /root/.local /root/.local
78
75
  COPY --from=uv --chown=app:app /app/.venv /app/.venv
79
76
 
80
77
  # Get healthcheck script
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.cdk-mcp-server
3
- Version: 1.0.11
3
+ Version: 1.0.13
4
4
  Summary: An AWS CDK MCP server that provides guidance on AWS Cloud Development Kit best practices, infrastructure as code patterns, and security compliance with CDK Nag. This server offers tools to validate infrastructure designs, explain CDK Nag rules, analyze suppressions, generate Bedrock Agent schemas, and discover Solutions Constructs patterns.
5
5
  Project-URL: Homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: Documentation, https://awslabs.github.io/mcp/servers/cdk-mcp-server/
@@ -170,11 +170,11 @@ graph TD
170
170
 
171
171
  ## Installation
172
172
 
173
- | Cursor | VS Code |
174
- |:------:|:-------:|
175
- | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.cdk-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuY2RrLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwiZGlzYWJsZWQiOmZhbHNlLCJhdXRvQXBwcm92ZSI6W119) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=CDK%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cdk-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
173
+ | Kiro | Cursor | VS Code |
174
+ |:----:|:------:|:-------:|
175
+ | [![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=awslabs.cdk-mcp-server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cdk-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%7D) | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.cdk-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuY2RrLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwiZGlzYWJsZWQiOmZhbHNlLCJhdXRvQXBwcm92ZSI6W119) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=CDK%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cdk-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
176
176
 
177
- Configure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit `~/.aws/amazonq/mcp.json`):
177
+ Configure the MCP server in your MCP client configuration (e.g., for Kiro, edit `~/.kiro/settings/mcp.json`):
178
178
 
179
179
  ```json
180
180
  {
@@ -140,11 +140,11 @@ graph TD
140
140
 
141
141
  ## Installation
142
142
 
143
- | Cursor | VS Code |
144
- |:------:|:-------:|
145
- | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.cdk-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuY2RrLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwiZGlzYWJsZWQiOmZhbHNlLCJhdXRvQXBwcm92ZSI6W119) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=CDK%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cdk-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
143
+ | Kiro | Cursor | VS Code |
144
+ |:----:|:------:|:-------:|
145
+ | [![Add to Kiro](https://kiro.dev/images/add-to-kiro.svg)](https://kiro.dev/launch/mcp/add?name=awslabs.cdk-mcp-server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cdk-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%7D) | [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/en/install-mcp?name=awslabs.cdk-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMuY2RrLW1jcC1zZXJ2ZXJAbGF0ZXN0IiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiRVJST1IifSwiZGlzYWJsZWQiOmZhbHNlLCJhdXRvQXBwcm92ZSI6W119) | [![Install on VS Code](https://img.shields.io/badge/Install_on-VS_Code-FF9900?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=CDK%20MCP%20Server&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22awslabs.cdk-mcp-server%40latest%22%5D%2C%22env%22%3A%7B%22FASTMCP_LOG_LEVEL%22%3A%22ERROR%22%7D%2C%22disabled%22%3Afalse%2C%22autoApprove%22%3A%5B%5D%7D) |
146
146
 
147
- Configure the MCP server in your MCP client configuration (e.g., for Amazon Q Developer CLI, edit `~/.aws/amazonq/mcp.json`):
147
+ Configure the MCP server in your MCP client configuration (e.g., for Kiro, edit `~/.kiro/settings/mcp.json`):
148
148
 
149
149
  ```json
150
150
  {
@@ -18,4 +18,4 @@ from awslabs.cdk_mcp_server.core.server import main, mcp
18
18
 
19
19
  __all__ = ['main', 'mcp']
20
20
 
21
- __version__ = '1.0.11'
21
+ __version__ = '1.0.13'
@@ -25,6 +25,20 @@ def generate_fallback_script(lambda_code_path: str, output_path: str) -> str:
25
25
  """Generate a standalone script for schema generation."""
26
26
  return f'''# pyright: ignore
27
27
  #!/usr/bin/env python3
28
+ # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
29
+ #
30
+ # Licensed under the Apache License, Version 2.0 (the "License");
31
+ # you may not use this file except in compliance with the License.
32
+ # You may obtain a copy of the License at
33
+ #
34
+ # http://www.apache.org/licenses/LICENSE-2.0
35
+ #
36
+ # Unless required by applicable law or agreed to in writing, software
37
+ # distributed under the License is distributed on an "AS IS" BASIS,
38
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
39
+ # See the License for the specific language governing permissions and
40
+ # limitations under the License.
41
+
28
42
  """
29
43
  Schema Generator for Bedrock Agent Action Groups
30
44
 
@@ -16,7 +16,7 @@
16
16
  SERVER="cdk-mcp-server"
17
17
 
18
18
  # Check if the server process is running
19
- if pgrep -P 0 -a -l -x -f "/app/.venv/bin/python3 /app/.venv/bin/awslabs.$SERVER" > /dev/null; then
19
+ if pgrep -P 0 -a -l -x -f "/app/.venv/bin/python3? /app/.venv/bin/awslabs.$SERVER" > /dev/null; then
20
20
  echo -n "$SERVER is running";
21
21
  exit 0;
22
22
  fi;
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "awslabs.cdk-mcp-server"
3
- version = "1.0.11"
3
+ version = "1.0.13"
4
4
  description = "An AWS CDK MCP server that provides guidance on AWS Cloud Development Kit best practices, infrastructure as code patterns, and security compliance with CDK Nag. This server offers tools to validate infrastructure designs, explain CDK Nag rules, analyze suppressions, generate Bedrock Agent schemas, and discover Solutions Constructs patterns."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -29,6 +29,11 @@ classifiers = [
29
29
  "Programming Language :: Python :: 3.13",
30
30
  ]
31
31
 
32
+ [tool.uv]
33
+ override-dependencies = [
34
+ "virtualenv>=20.36.1", # Temporary forced a higher version because 20.33.1 from CVE-2026-22702
35
+ ]
36
+
32
37
  [project.scripts]
33
38
  "awslabs.cdk-mcp-server" = "awslabs.cdk_mcp_server.server:main"
34
39
 
@@ -0,0 +1,23 @@
1
+ # This file was autogenerated by uv via the following command:
2
+ # uv pip compile --generate-hashes --output-file=uv-requirements.txt --strip-extras uv-requirements.in
3
+ uv==0.9.24 \
4
+ --hash=sha256:009cc82cdfc48add6ec13a0c4ffbb788ae2cab53573b4218069ca626721a404b \
5
+ --hash=sha256:15d3955bfb03a7b78aaf5afb639cedefdf0fc35ff844c92e3fe6e8700b94b84f \
6
+ --hash=sha256:1914d33e526167dc202ec4a59119c68467b31f7c71dcf8b1077571d091ca3e7c \
7
+ --hash=sha256:207c8a2d4c4d55589feb63b4be74f6ff6ab92fa81b14a6515007ccec5a868ae0 \
8
+ --hash=sha256:38c59e18fe5fa42f7baeb4f08c94914cee6d87ff8faa6fc95c994dbc0de26c90 \
9
+ --hash=sha256:3b610d89d6025000d08cd9bd458c6e264003a0ecfdaa8e4eba28938130cd1837 \
10
+ --hash=sha256:44c0b8a78724e4cfa8e9c0266023c70fc792d0b39a5da17f5f847af2b530796b \
11
+ --hash=sha256:488a07e59fb417bf86de5630197223b7a0223229e626afc124c26827db78cff8 \
12
+ --hash=sha256:63a0a46693098cf8446e41bd5d9ce7d3bc9b775a63fe0c8405ab6ee328424d46 \
13
+ --hash=sha256:6720c9939cca7daff3cccc35dd896bbe139d7d463c62cba8dbbc474ff8eb93d1 \
14
+ --hash=sha256:68a3186074c03876ee06b68730d5ff69a430296760d917ebbbb8e3fb54fb4091 \
15
+ --hash=sha256:69531d9a8772afb2dff68fef2469f666e4f8a0132b2109e36541c423415835da \
16
+ --hash=sha256:75a000f529ec92235b10fb5e16ca41f23f46c643308fd6c5b0d7b73ca056c5b9 \
17
+ --hash=sha256:841ede01d6dcf1676a21dce05f3647ba171c1d92768a03e8b8b6b7354b34a6d2 \
18
+ --hash=sha256:8cd626306b415491f839b1a9100da6795c82c44d4cf278dd7ace7a774af89df4 \
19
+ --hash=sha256:8d3c0fec7aa17f936a5b258816e856647b21f978a81bcfb2dc8caf2892a4965e \
20
+ --hash=sha256:aafe7dd9b633672054cf27f1a8e4127506324631f1af5edd051728f4f8085351 \
21
+ --hash=sha256:d59d31c25fc530c68db9164174efac511a25fc882cec49cd48f75a18e7ebd6d5 \
22
+ --hash=sha256:d7d1333d9c21088c89cb284ef29fdf48dc2015fe993174a823a3e7c991db90f9
23
+ # via -r uv-requirements.in (contents of `uv==0.9.24`)
@@ -7,6 +7,9 @@ resolution-markers = [
7
7
  "platform_python_implementation == 'PyPy'",
8
8
  ]
9
9
 
10
+ [manifest]
11
+ overrides = [{ name = "virtualenv", specifier = ">=20.36.1" }]
12
+
10
13
  [[package]]
11
14
  name = "annotated-types"
12
15
  version = "0.7.0"
@@ -24,7 +27,7 @@ dependencies = [
24
27
  { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
25
28
  { name = "idna" },
26
29
  { name = "sniffio" },
27
- { name = "typing-extensions", marker = "python_full_version < '3.13'" },
30
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" },
28
31
  ]
29
32
  sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" }
30
33
  wheels = [
@@ -55,7 +58,8 @@ version = "3.12.0"
55
58
  source = { registry = "https://pypi.org/simple" }
56
59
  dependencies = [
57
60
  { name = "jmespath" },
58
- { name = "typing-extensions" },
61
+ { name = "typing-extensions", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
62
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
59
63
  ]
60
64
  sdist = { url = "https://files.pythonhosted.org/packages/bb/90/7cc2e76ca959ce5985fcfff73a3885bbd5e3d85d5acd8c4ba1149b5ccaec/aws_lambda_powertools-3.12.0.tar.gz", hash = "sha256:b13146bbacf7bc029539b18c2a9b07b333cecca482d9ec4fba81dff5fb8523ea", size = 671775, upload-time = "2025-05-06T07:48:35.023Z" }
61
65
  wheels = [
@@ -64,7 +68,7 @@ wheels = [
64
68
 
65
69
  [[package]]
66
70
  name = "awslabs-cdk-mcp-server"
67
- version = "1.0.11"
71
+ version = "1.0.13"
68
72
  source = { editable = "." }
69
73
  dependencies = [
70
74
  { name = "aws-lambda-powertools" },
@@ -113,7 +117,8 @@ version = "4.13.3"
113
117
  source = { registry = "https://pypi.org/simple" }
114
118
  dependencies = [
115
119
  { name = "soupsieve" },
116
- { name = "typing-extensions" },
120
+ { name = "typing-extensions", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
121
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
117
122
  ]
118
123
  sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516, upload-time = "2025-02-04T20:05:01.681Z" }
119
124
  wheels = [
@@ -329,7 +334,7 @@ dependencies = [
329
334
  { name = "questionary" },
330
335
  { name = "termcolor" },
331
336
  { name = "tomlkit" },
332
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
337
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
333
338
  ]
334
339
  sdist = { url = "https://files.pythonhosted.org/packages/b5/fd/cd449bed87a26ecb61c950410e2d94e97ac31bf1f3ec69cc718b215384ce/commitizen-4.4.1.tar.gz", hash = "sha256:626d9f545fb9b2db42305e16ef35d6348a35081a80527bad863a05a7ba0bec21", size = 52345, upload-time = "2025-03-02T16:29:21.977Z" }
335
340
  wheels = [
@@ -548,11 +553,11 @@ wheels = [
548
553
 
549
554
  [[package]]
550
555
  name = "filelock"
551
- version = "3.20.1"
556
+ version = "3.20.3"
552
557
  source = { registry = "https://pypi.org/simple" }
553
- sdist = { url = "https://files.pythonhosted.org/packages/a7/23/ce7a1126827cedeb958fc043d61745754464eb56c5937c35bbf2b8e26f34/filelock-3.20.1.tar.gz", hash = "sha256:b8360948b351b80f420878d8516519a2204b07aefcdcfd24912a5d33127f188c", size = 19476, upload-time = "2025-12-15T23:54:28.027Z" }
558
+ sdist = { url = "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1", size = 19485, upload-time = "2026-01-09T17:55:05.421Z" }
554
559
  wheels = [
555
- { url = "https://files.pythonhosted.org/packages/e3/7f/a1a97644e39e7316d850784c642093c99df1290a460df4ede27659056834/filelock-3.20.1-py3-none-any.whl", hash = "sha256:15d9e9a67306188a44baa72f569d2bfd803076269365fdea0934385da4dc361a", size = 16666, upload-time = "2025-12-15T23:54:26.874Z" },
560
+ { url = "https://files.pythonhosted.org/packages/b5/36/7fb70f04bf00bc646cd5bb45aa9eddb15e19437a28b8fb2b4a5249fac770/filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1", size = 16701, upload-time = "2026-01-09T17:55:04.334Z" },
556
561
  ]
557
562
 
558
563
  [[package]]
@@ -762,7 +767,8 @@ dependencies = [
762
767
  { name = "pywin32", marker = "sys_platform == 'win32'" },
763
768
  { name = "sse-starlette" },
764
769
  { name = "starlette" },
765
- { name = "typing-extensions" },
770
+ { name = "typing-extensions", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
771
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
766
772
  { name = "typing-inspection" },
767
773
  { name = "uvicorn", marker = "sys_platform != 'emscripten'" },
768
774
  ]
@@ -866,7 +872,8 @@ source = { registry = "https://pypi.org/simple" }
866
872
  dependencies = [
867
873
  { name = "annotated-types" },
868
874
  { name = "pydantic-core" },
869
- { name = "typing-extensions" },
875
+ { name = "typing-extensions", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
876
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
870
877
  { name = "typing-inspection" },
871
878
  ]
872
879
  sdist = { url = "https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2/pydantic-2.11.4.tar.gz", hash = "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", size = 786540, upload-time = "2025-04-29T20:38:55.02Z" }
@@ -879,7 +886,8 @@ name = "pydantic-core"
879
886
  version = "2.33.2"
880
887
  source = { registry = "https://pypi.org/simple" }
881
888
  dependencies = [
882
- { name = "typing-extensions" },
889
+ { name = "typing-extensions", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
890
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
883
891
  ]
884
892
  sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" }
885
893
  wheels = [
@@ -1004,7 +1012,8 @@ version = "1.1.398"
1004
1012
  source = { registry = "https://pypi.org/simple" }
1005
1013
  dependencies = [
1006
1014
  { name = "nodeenv" },
1007
- { name = "typing-extensions" },
1015
+ { name = "typing-extensions", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
1016
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
1008
1017
  ]
1009
1018
  sdist = { url = "https://files.pythonhosted.org/packages/24/d6/48740f1d029e9fc4194880d1ad03dcf0ba3a8f802e0e166b8f63350b3584/pyright-1.1.398.tar.gz", hash = "sha256:357a13edd9be8082dc73be51190913e475fa41a6efb6ec0d4b7aab3bc11638d8", size = 3892675, upload-time = "2025-03-26T10:06:06.063Z" }
1010
1019
  wheels = [
@@ -1168,7 +1177,7 @@ source = { registry = "https://pypi.org/simple" }
1168
1177
  dependencies = [
1169
1178
  { name = "attrs" },
1170
1179
  { name = "rpds-py" },
1171
- { name = "typing-extensions", marker = "python_full_version < '3.13'" },
1180
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" },
1172
1181
  ]
1173
1182
  sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" }
1174
1183
  wheels = [
@@ -1182,7 +1191,7 @@ source = { registry = "https://pypi.org/simple" }
1182
1191
  dependencies = [
1183
1192
  { name = "markdown-it-py" },
1184
1193
  { name = "pygments" },
1185
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
1194
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
1186
1195
  ]
1187
1196
  sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload-time = "2025-03-30T14:15:14.23Z" }
1188
1197
  wheels = [
@@ -1386,7 +1395,7 @@ version = "0.50.0"
1386
1395
  source = { registry = "https://pypi.org/simple" }
1387
1396
  dependencies = [
1388
1397
  { name = "anyio" },
1389
- { name = "typing-extensions", marker = "python_full_version < '3.13'" },
1398
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" },
1390
1399
  ]
1391
1400
  sdist = { url = "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz", hash = "sha256:a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca", size = 2646985, upload-time = "2025-11-01T15:25:27.516Z" }
1392
1401
  wheels = [
@@ -1458,7 +1467,8 @@ dependencies = [
1458
1467
  { name = "click" },
1459
1468
  { name = "rich" },
1460
1469
  { name = "shellingham" },
1461
- { name = "typing-extensions" },
1470
+ { name = "typing-extensions", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
1471
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
1462
1472
  ]
1463
1473
  sdist = { url = "https://files.pythonhosted.org/packages/c5/8c/7d682431efca5fd290017663ea4588bf6f2c6aad085c7f108c5dbc316e70/typer-0.16.0.tar.gz", hash = "sha256:af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b", size = 102625, upload-time = "2025-05-26T14:30:31.824Z" }
1464
1474
  wheels = [
@@ -1469,17 +1479,34 @@ wheels = [
1469
1479
  name = "typing-extensions"
1470
1480
  version = "4.13.0"
1471
1481
  source = { registry = "https://pypi.org/simple" }
1482
+ resolution-markers = [
1483
+ "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'",
1484
+ ]
1472
1485
  sdist = { url = "https://files.pythonhosted.org/packages/0e/3e/b00a62db91a83fff600de219b6ea9908e6918664899a2d85db222f4fbf19/typing_extensions-4.13.0.tar.gz", hash = "sha256:0a4ac55a5820789d87e297727d229866c9650f6521b64206413c4fbada24d95b", size = 106520, upload-time = "2025-03-26T03:49:41.628Z" }
1473
1486
  wheels = [
1474
1487
  { url = "https://files.pythonhosted.org/packages/e0/86/39b65d676ec5732de17b7e3c476e45bb80ec64eb50737a8dce1a4178aba1/typing_extensions-4.13.0-py3-none-any.whl", hash = "sha256:c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5", size = 45683, upload-time = "2025-03-26T03:49:40.35Z" },
1475
1488
  ]
1476
1489
 
1490
+ [[package]]
1491
+ name = "typing-extensions"
1492
+ version = "4.15.0"
1493
+ source = { registry = "https://pypi.org/simple" }
1494
+ resolution-markers = [
1495
+ "python_full_version < '3.14' and platform_python_implementation != 'PyPy'",
1496
+ "platform_python_implementation == 'PyPy'",
1497
+ ]
1498
+ sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" }
1499
+ wheels = [
1500
+ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" },
1501
+ ]
1502
+
1477
1503
  [[package]]
1478
1504
  name = "typing-inspection"
1479
1505
  version = "0.4.2"
1480
1506
  source = { registry = "https://pypi.org/simple" }
1481
1507
  dependencies = [
1482
- { name = "typing-extensions" },
1508
+ { name = "typing-extensions", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
1509
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
1483
1510
  ]
1484
1511
  sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" }
1485
1512
  wheels = [
@@ -1493,7 +1520,7 @@ source = { registry = "https://pypi.org/simple" }
1493
1520
  dependencies = [
1494
1521
  { name = "click" },
1495
1522
  { name = "h11" },
1496
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
1523
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
1497
1524
  ]
1498
1525
  sdist = { url = "https://files.pythonhosted.org/packages/4b/4d/938bd85e5bf2edeec766267a5015ad969730bb91e31b44021dfe8b22df6c/uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9", size = 76568, upload-time = "2024-12-15T13:33:30.42Z" }
1499
1526
  wheels = [
@@ -1502,16 +1529,17 @@ wheels = [
1502
1529
 
1503
1530
  [[package]]
1504
1531
  name = "virtualenv"
1505
- version = "20.30.0"
1532
+ version = "20.36.1"
1506
1533
  source = { registry = "https://pypi.org/simple" }
1507
1534
  dependencies = [
1508
1535
  { name = "distlib" },
1509
1536
  { name = "filelock" },
1510
1537
  { name = "platformdirs" },
1538
+ { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
1511
1539
  ]
1512
- sdist = { url = "https://files.pythonhosted.org/packages/38/e0/633e369b91bbc664df47dcb5454b6c7cf441e8f5b9d0c250ce9f0546401e/virtualenv-20.30.0.tar.gz", hash = "sha256:800863162bcaa5450a6e4d721049730e7f2dae07720e0902b0e4040bd6f9ada8", size = 4346945, upload-time = "2025-03-31T16:33:29.185Z" }
1540
+ sdist = { url = "https://files.pythonhosted.org/packages/aa/a3/4d310fa5f00863544e1d0f4de93bddec248499ccf97d4791bc3122c9d4f3/virtualenv-20.36.1.tar.gz", hash = "sha256:8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba", size = 6032239, upload-time = "2026-01-09T18:21:01.296Z" }
1513
1541
  wheels = [
1514
- { url = "https://files.pythonhosted.org/packages/4c/ed/3cfeb48175f0671ec430ede81f628f9fb2b1084c9064ca67ebe8c0ed6a05/virtualenv-20.30.0-py3-none-any.whl", hash = "sha256:e34302959180fca3af42d1800df014b35019490b119eba981af27f2fa486e5d6", size = 4329461, upload-time = "2025-03-31T16:33:26.758Z" },
1542
+ { url = "https://files.pythonhosted.org/packages/6a/2a/dc2228b2888f51192c7dc766106cd475f1b768c10caaf9727659726f7391/virtualenv-20.36.1-py3-none-any.whl", hash = "sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f", size = 6008258, upload-time = "2026-01-09T18:20:59.425Z" },
1515
1543
  ]
1516
1544
 
1517
1545
  [[package]]
@@ -1,27 +0,0 @@
1
- #
2
- # This file is autogenerated by pip-compile with Python 3.12
3
- # by the following command:
4
- #
5
- # pip-compile --generate-hashes --output-file=uv-requirements.txt --strip-extras uv-requirements.in
6
- #
7
- uv==0.9.6 \
8
- --hash=sha256:0169a85d3ba5ef1c37089d64ff26de573439ca84ecf549276a2eee42d7f833f2 \
9
- --hash=sha256:0fde18c22376c8b02954c7db3847bc75ac42619932c44b43f49d056e5cfb05f9 \
10
- --hash=sha256:166175ba952d2ad727e1dbd57d7cfc1782dfe7b8d79972174a46a7aa33ddceec \
11
- --hash=sha256:3c2c2b2b093330e603d838fec26941ab6f62e8d62a012f9fa0d5ed88da39d907 \
12
- --hash=sha256:538716ec97f8d899baa7e1c427f4411525459c0ef72ea9b3625ce9610c9976e6 \
13
- --hash=sha256:547fd27ab5da7cd1a833288a36858852451d416a056825f162ecf2af5be6f8b8 \
14
- --hash=sha256:62e3f057a9ae5e5003a7cd56b617e940f519f6dabcbb22d36cdd0149df25d409 \
15
- --hash=sha256:6403176b55388cf94fb8737e73b26ee2a7b1805a9139da5afa951210986d4fcd \
16
- --hash=sha256:7e89c964f614fa3f0481060cac709d6da50feac553e1e11227d6c4c81c87af7c \
17
- --hash=sha256:86e05782f9b75d39ab1c0af98bf11e87e646a36a61d425021d5b284073e56315 \
18
- --hash=sha256:90122a76e6441b8c580fc9faf06bd8c4dbe276cb1c185ad91eceb2afa78e492a \
19
- --hash=sha256:95a62c1f668272555ad0c446bf44a9924dee06054b831d04c162e0bad736dc28 \
20
- --hash=sha256:a7c6067919d87208c4a6092033c3bc9799cb8be1c8bc6ef419a1f6d42a755329 \
21
- --hash=sha256:b2f934737c93f88c906b6a47bcc083170210fe5d66565e80a7c139599e5cbf2f \
22
- --hash=sha256:b31377ebf2d0499afc5abe3fe1abded5ca843f3a1161b432fe26eb0ce15bab8e \
23
- --hash=sha256:d1072db92cc9525febdf9d113c23916dfc20ca03e21218cc7beefe7185a90631 \
24
- --hash=sha256:e700b2098f9d365061c572d0729b4e8bc71c6468d83dfaae2537cd66e3cb1b98 \
25
- --hash=sha256:ea67369918af24ea7e01991dfc8b8988d1b0b7c49cb39d9e5bc0c409930a0a3f \
26
- --hash=sha256:f0ba311b3ca49d246f36d444d3ee81571619ef95e5f509eb694a81defcbed262
27
- # via -r uv-requirements.in (contents of `uv==0.9.6`)