awslabs.ccapi-mcp-server 1.0.1__tar.gz → 1.0.4__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 (53) hide show
  1. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/PKG-INFO +31 -56
  2. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/README.md +30 -55
  3. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/__init__.py +1 -1
  4. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/server.py +0 -5
  5. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/pyproject.toml +1 -1
  6. awslabs_ccapi_mcp_server-1.0.4/uv-requirements.txt +24 -0
  7. awslabs_ccapi_mcp_server-1.0.1/uv-requirements.txt +0 -1
  8. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/.gitignore +0 -0
  9. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/.python-version +0 -0
  10. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/CHANGELOG.md +0 -0
  11. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/Dockerfile +0 -0
  12. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/LICENSE +0 -0
  13. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/NOTICE +0 -0
  14. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/__init__.py +0 -0
  15. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/aws_client.py +0 -0
  16. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/cloud_control_utils.py +0 -0
  17. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/context.py +0 -0
  18. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/errors.py +0 -0
  19. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/iac_generator.py +0 -0
  20. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/__init__.py +0 -0
  21. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/tools/__init__.py +0 -0
  22. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/tools/explanation.py +0 -0
  23. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/tools/infrastructure_generation.py +0 -0
  24. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/tools/resource_operations.py +0 -0
  25. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/tools/security_scanning.py +0 -0
  26. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/tools/session_management.py +0 -0
  27. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/utils/__init__.py +0 -0
  28. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/impl/utils/validation.py +0 -0
  29. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/infrastructure_generator.py +0 -0
  30. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/models/__init__.py +0 -0
  31. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/models/models.py +0 -0
  32. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/schema_manager.py +0 -0
  33. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/awslabs/ccapi_mcp_server/static/__init__.py +0 -0
  34. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/docker-healthcheck.sh +0 -0
  35. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/run_tests.sh +0 -0
  36. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/__init__.py +0 -0
  37. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_aws_client.py +0 -0
  38. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_checkov_install.py +0 -0
  39. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_cloud_control_utils.py +0 -0
  40. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_context.py +0 -0
  41. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_errors.py +0 -0
  42. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_explanation.py +0 -0
  43. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_iac_generator.py +0 -0
  44. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_infrastructure_generation.py +0 -0
  45. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_infrastructure_generator.py +0 -0
  46. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_models.py +0 -0
  47. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_resource_operations.py +0 -0
  48. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_schema_manager.py +0 -0
  49. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_security_scanning.py +0 -0
  50. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_server.py +0 -0
  51. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_session_management.py +0 -0
  52. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/tests/test_validation.py +0 -0
  53. {awslabs_ccapi_mcp_server-1.0.1 → awslabs_ccapi_mcp_server-1.0.4}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: awslabs.ccapi-mcp-server
3
- Version: 1.0.1
3
+ Version: 1.0.4
4
4
  Summary: An AWS Labs Model Context Protocol (MCP) server for managing AWS resources via Cloud Control API
5
5
  Project-URL: homepage, https://awslabs.github.io/mcp/
6
6
  Project-URL: docs, https://awslabs.github.io/mcp/servers/ccapi-mcp-server/
@@ -229,6 +229,36 @@ Configure the MCP server in your MCP client configuration (e.g., for Amazon Q De
229
229
  }
230
230
  }
231
231
  ```
232
+ ### Windows Installation
233
+
234
+ For Windows users, the MCP server configuration format is slightly different:
235
+
236
+ ```json
237
+ {
238
+ "mcpServers": {
239
+ "awslabs.ccapi-mcp-server": {
240
+ "disabled": false,
241
+ "timeout": 60,
242
+ "type": "stdio",
243
+ "command": "uv",
244
+ "args": [
245
+ "tool",
246
+ "run",
247
+ "--from",
248
+ "awslabs.ccapi-mcp-server@latest",
249
+ "awslabs.ccapi-mcp-server.exe"
250
+ ],
251
+ "env": {
252
+ "AWS_PROFILE": "your-named-profile",
253
+ "DEFAULT_TAGS": "enabled",
254
+ "SECURITY_SCANNING": "enabled",
255
+ "FASTMCP_LOG_LEVEL": "ERROR"
256
+ }
257
+ }
258
+ }
259
+ }
260
+ ```
261
+
232
262
 
233
263
  _Note: Uses the default region from your AWS profile. Add `"AWS_REGION": "us-west-2"` (or other desired AWS Region) to override._
234
264
 
@@ -528,61 +558,6 @@ Creates CloudFormation templates from existing AWS resources using AWS CloudForm
528
558
  - Amazon Q Developer CLI: `use_aws`, `execute_bash`, `fs_read`, `fs_write`
529
559
  - Other tools may have similar built-in AWS or system capabilities
530
560
 
531
- #### The `use_aws` Problem
532
-
533
- **Most Problematic**: The `use_aws` tool (part of Amazon Q Developer CLI) is particularly problematic because it directly competes with this MCP server's AWS operations but operates separately, meaning it won't use any of the helpful features available in this MCP server such as Checkov security scanning.
534
-
535
- **What happens when LLM uses `use_aws`:**
536
-
537
- - ❌ No Checkov security scanning
538
- - ❌ No workflow validation
539
- - ❌ No credential verification display
540
- - ❌ No resource tagging
541
- - ❌ CCAPI MCP Server is not involved at all
542
-
543
- **If this happens:**
544
-
545
- 1. Tell the LLM: "Please use the CCAPI MCP Server instead for AWS operations"
546
- 2. Experiment with prompts like "Using the CCAPI MCP server, create..."
547
- 3. For a scalable solution, implement the rules/instructions mentioned below
548
-
549
- **Note**: This is not a limitation of the CCAPI MCP Server - it's a current MCP protocol limitation. MCP has no native tool ordering concept or functionality, allowing LLMs to choose any available MCP server/tool. This flexibility is both good (choice) and problematic (undesirable sever/tool selection). We use a token-based approach to enforce some ordering in tool usage the LLM must follow, however this does not span across multiple MCP servers. It is internal to this MCP server.
550
-
551
- ### Recommendation
552
-
553
- Consult your LLM tool's documentation (Cursor, Cline, Amazon Q Developer, etc.) for how to provide rules/context/instructions to guide MCP server/tool selection. Most support some form of instruction mechanism.
554
-
555
- **Example instruction content:**
556
-
557
- ```markdown
558
- # AWS Tool Selection Rules - MANDATORY FOR ALL LLM RESPONSES
559
-
560
- ## STEP 1: Always Use CCAPI MCP Server First
561
-
562
- **TRIGGER CONDITIONS:**
563
-
564
- - ANY mention of AWS services or resources
565
- - ANY request involving AWS infrastructure, applications, or services
566
- - When in doubt, default to offering CCAPI MCP Server
567
-
568
- **REQUIRED ACTION:**
569
- ASK: "This seems like a good fit for the AWS Cloud Control API MCP server. Would you like to use the CCAPI MCP server for this?"
570
-
571
- ## STEP 2: Only If CCAPI MCP Server Fails
572
-
573
- **IF ERROR OCCURS:**
574
-
575
- 1. Show exact error message to user
576
- 2. Explain: "⚠️ SECURITY WARNING: Fallback tools (use_aws, aws_cli) will bypass ALL security scanning and the CCAPI MCP Server entirely."
577
- 3. Ask: "How do you want to proceed: (a) troubleshoot CCAPI MCP, (b) use unsecured AWS CLI, or (c) generate template?"
578
- 4. Wait for explicit user choice before proceeding
579
-
580
- ## FORBIDDEN ACTIONS
581
-
582
- - Never use use_aws, aws_cli, or executeBash for AWS operations without trying CCAPI MCP Server first
583
- - Never skip the user confirmation steps
584
- ```
585
-
586
561
  ## Basic Usage
587
562
 
588
563
  Examples of how to use the AWS Infrastructure as Code MCP Server:
@@ -198,6 +198,36 @@ Configure the MCP server in your MCP client configuration (e.g., for Amazon Q De
198
198
  }
199
199
  }
200
200
  ```
201
+ ### Windows Installation
202
+
203
+ For Windows users, the MCP server configuration format is slightly different:
204
+
205
+ ```json
206
+ {
207
+ "mcpServers": {
208
+ "awslabs.ccapi-mcp-server": {
209
+ "disabled": false,
210
+ "timeout": 60,
211
+ "type": "stdio",
212
+ "command": "uv",
213
+ "args": [
214
+ "tool",
215
+ "run",
216
+ "--from",
217
+ "awslabs.ccapi-mcp-server@latest",
218
+ "awslabs.ccapi-mcp-server.exe"
219
+ ],
220
+ "env": {
221
+ "AWS_PROFILE": "your-named-profile",
222
+ "DEFAULT_TAGS": "enabled",
223
+ "SECURITY_SCANNING": "enabled",
224
+ "FASTMCP_LOG_LEVEL": "ERROR"
225
+ }
226
+ }
227
+ }
228
+ }
229
+ ```
230
+
201
231
 
202
232
  _Note: Uses the default region from your AWS profile. Add `"AWS_REGION": "us-west-2"` (or other desired AWS Region) to override._
203
233
 
@@ -497,61 +527,6 @@ Creates CloudFormation templates from existing AWS resources using AWS CloudForm
497
527
  - Amazon Q Developer CLI: `use_aws`, `execute_bash`, `fs_read`, `fs_write`
498
528
  - Other tools may have similar built-in AWS or system capabilities
499
529
 
500
- #### The `use_aws` Problem
501
-
502
- **Most Problematic**: The `use_aws` tool (part of Amazon Q Developer CLI) is particularly problematic because it directly competes with this MCP server's AWS operations but operates separately, meaning it won't use any of the helpful features available in this MCP server such as Checkov security scanning.
503
-
504
- **What happens when LLM uses `use_aws`:**
505
-
506
- - ❌ No Checkov security scanning
507
- - ❌ No workflow validation
508
- - ❌ No credential verification display
509
- - ❌ No resource tagging
510
- - ❌ CCAPI MCP Server is not involved at all
511
-
512
- **If this happens:**
513
-
514
- 1. Tell the LLM: "Please use the CCAPI MCP Server instead for AWS operations"
515
- 2. Experiment with prompts like "Using the CCAPI MCP server, create..."
516
- 3. For a scalable solution, implement the rules/instructions mentioned below
517
-
518
- **Note**: This is not a limitation of the CCAPI MCP Server - it's a current MCP protocol limitation. MCP has no native tool ordering concept or functionality, allowing LLMs to choose any available MCP server/tool. This flexibility is both good (choice) and problematic (undesirable sever/tool selection). We use a token-based approach to enforce some ordering in tool usage the LLM must follow, however this does not span across multiple MCP servers. It is internal to this MCP server.
519
-
520
- ### Recommendation
521
-
522
- Consult your LLM tool's documentation (Cursor, Cline, Amazon Q Developer, etc.) for how to provide rules/context/instructions to guide MCP server/tool selection. Most support some form of instruction mechanism.
523
-
524
- **Example instruction content:**
525
-
526
- ```markdown
527
- # AWS Tool Selection Rules - MANDATORY FOR ALL LLM RESPONSES
528
-
529
- ## STEP 1: Always Use CCAPI MCP Server First
530
-
531
- **TRIGGER CONDITIONS:**
532
-
533
- - ANY mention of AWS services or resources
534
- - ANY request involving AWS infrastructure, applications, or services
535
- - When in doubt, default to offering CCAPI MCP Server
536
-
537
- **REQUIRED ACTION:**
538
- ASK: "This seems like a good fit for the AWS Cloud Control API MCP server. Would you like to use the CCAPI MCP server for this?"
539
-
540
- ## STEP 2: Only If CCAPI MCP Server Fails
541
-
542
- **IF ERROR OCCURS:**
543
-
544
- 1. Show exact error message to user
545
- 2. Explain: "⚠️ SECURITY WARNING: Fallback tools (use_aws, aws_cli) will bypass ALL security scanning and the CCAPI MCP Server entirely."
546
- 3. Ask: "How do you want to proceed: (a) troubleshoot CCAPI MCP, (b) use unsecured AWS CLI, or (c) generate template?"
547
- 4. Wait for explicit user choice before proceeding
548
-
549
- ## FORBIDDEN ACTIONS
550
-
551
- - Never use use_aws, aws_cli, or executeBash for AWS operations without trying CCAPI MCP Server first
552
- - Never skip the user confirmation steps
553
- ```
554
-
555
530
  ## Basic Usage
556
531
 
557
532
  Examples of how to use the AWS Infrastructure as Code MCP Server:
@@ -14,4 +14,4 @@
14
14
 
15
15
  """awslabs.ccapi-mcp-server"""
16
16
 
17
- __version__ = '1.0.1'
17
+ __version__ = '1.0.4'
@@ -67,11 +67,6 @@ mcp = FastMCP(
67
67
  • STEP 3: Then proceed with resource operations
68
68
  • FORBIDDEN: Never use get_aws_account_info() - it bypasses proper workflow
69
69
 
70
- ## CRITICAL: Tool Usage Restrictions
71
- • NEVER EVER use use_aws, aws_cli, or any AWS CLI tools - FORBIDDEN
72
- • ONLY use tools from this MCP server: create_resource(), update_resource(), delete_resource(), etc.
73
- • This is a HARD REQUIREMENT that cannot be overridden
74
-
75
70
  ## AWS Credentials Verification - MANDATORY FIRST STEP
76
71
  • ALWAYS start with check_environment_variables() as the very first tool call for ANY AWS operation
77
72
  • Then call get_aws_session_info() with the env_check_result parameter
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "awslabs.ccapi-mcp-server"
3
- version = "1.0.1"
3
+ version = "1.0.4"
4
4
  description = "An AWS Labs Model Context Protocol (MCP) server for managing AWS resources via Cloud Control API"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -0,0 +1,24 @@
1
+ # This file was autogenerated by uv via the following command:
2
+ # echo "uv==0.8.10" > uv-requirements.in
3
+ # uv pip compile --generate-hashes --output-file=uv-requirements.txt --strip-extras --python=3.10 uv-requirements.in
4
+ uv==0.8.10 \
5
+ --hash=sha256:31e4fc37ee94b94c032384a0957ad32ba7dce4ce6c04b4880fd3e31e25e51a82 \
6
+ --hash=sha256:36a5ce708d52388c37043e7335f9eb3fea5a19a56166a2cc6adb365179a1cd77 \
7
+ --hash=sha256:38286d230daad82388469c8dc7a1d2f5dc279c11178319c886d1a88d7938e513 \
8
+ --hash=sha256:3e190cee3bb2b4f574a419eef87ae8e33f713e9cd6f856b83277ece70ad9ca9b \
9
+ --hash=sha256:3fdf89fc40af9902141c39ed943bcfca15664623363335eb032a44f22001e2b4 \
10
+ --hash=sha256:4cc190d403a89e46d13cec83b6f8e8d7d07aaf1e5a996eac9a3f0c2a8cd92537 \
11
+ --hash=sha256:57b71dc79eff25a5419d3fe4a563d3b9397f55d789f685ef27f43f033b31f482 \
12
+ --hash=sha256:86fe044c2be43977566a0d184a487edd7aace2febb757fd95927684b629ef50b \
13
+ --hash=sha256:88df34c32555064fae459cce665757619fd1af7deb2dc393352b15d909d2d131 \
14
+ --hash=sha256:9ad21eeaa4156a1bf5ed85903f80db06e2c02badd3a587ba98d3171517960555 \
15
+ --hash=sha256:a5495b5a6e3111c03cf5e4dbdd598bc8fd1da887e3920d58cd5a2d4c8bc9a473 \
16
+ --hash=sha256:ab072cd3bf2f9dc264659a1ff48ad91a910ac4830bcfe965e2d3f89c86646f46 \
17
+ --hash=sha256:af8a5526b0e331775a264fa0dbccfd53c183cb974f269a208af136d7561f9eb2 \
18
+ --hash=sha256:b00637c63d5dfc9f879281c5c91db2bb909ab1f9ab275dab015e7fb6cac6be5b \
19
+ --hash=sha256:b3ff3c451fcd23ea78356d8c18e802d0e423cbe655273601e3ec039a51b33286 \
20
+ --hash=sha256:c4a493cd4b15b3aef11523531aff96a77a586666a63e842fa437966b7b7ee62d \
21
+ --hash=sha256:defc50bb319be2d58be74a680710cd4b7697e88d5f79974eacd354df95f0b6b0 \
22
+ --hash=sha256:e0a02bcec766eb0862b7082ab746b204add7d9fcaa62322502d159b5a7ccc54a \
23
+ --hash=sha256:eb79a46d8099f563ef58237bf4e9009f876a40145e757ea883a92b24b724d01e
24
+ # via -r uv-requirements.in
@@ -1 +0,0 @@
1
- #\n# This file is autogenerated by pip-compile with Python 3.10\n# by the following command:\n#\n# pip-compile --generate-hashes --output-file=uv-requirements.txt --strip-extras uv-requirements-0.7.13.in\n#\nuv==0.7.13 \\\n --hash=sha256:05f3c03c4ea55d294f3da725b6c2c2ff544754c18552da7594def4ec3889dcfb \\\n --hash=sha256:1afdbfcabc3425b383141ba42d413841c0a48b9ee0f4da65459313275e3cea84 \\\n --hash=sha256:33837aca7bdf02d47554d5d44f9e71756ee17c97073b07b4afead25309855bc7 \\\n --hash=sha256:4efa555b217e15767f0691a51d435f7bb2b0bf473fdfd59f173aeda8a93b8d17 \\\n --hash=sha256:4f828174e15a557d3bc0f809de76135c3b66bcbf524657f8ced9d22fc978b89c \\\n --hash=sha256:527a12d0c2f4d15f72b275b6f4561ae92af76dd59b4624796fddd45867f13c33 \\\n --hash=sha256:5786a29e286f2cc3cbda13a357fd9a4dd5bf1d7448a9d3d842b26b4f784a3a86 \\\n --hash=sha256:59915aec9fd2b845708a76ddc6c0639cfc99b6e2811854ea2425ee7552aff0e9 \\\n --hash=sha256:721b058064150fc1c6d88e277af093d1b4f8bb7a59546fe9969d9ff7dbe3f6fd \\\n --hash=sha256:866cad0d04a7de1aaa3c5cbef203f9d3feef9655972dcccc3283d60122db743b \\\n --hash=sha256:88fcf2bfbb53309531a850af50d2ea75874099b19d4159625d0b4f88c53494b9 \\\n --hash=sha256:8c0c29a2089ff9011d6c3abccd272f3ee6d0e166dae9e5232099fd83d26104d9 \\\n --hash=sha256:9c457a84cfbe2019ba301e14edd3e1c950472abd0b87fc77622ab3fc475ba012 \\\n --hash=sha256:9d2952a1e74c7027347c74cee1cb2be09121a5290db38498b8b17ff585f73748 \\\n --hash=sha256:a51006c7574e819308d92a3452b22d5bd45ef8593a4983b5856aa7cb8220885f \\\n --hash=sha256:b1af81e57d098b21b28f42ec756f0e26dce2341d59ba4e4f11759bc3ca2c0a99 \\\n --hash=sha256:e077dcac19e564cae8b4223b7807c2f617a59938f8142ca77fc6348ae9c6d0aa \\\n --hash=sha256:f28e70baadfebe71dcc2d9505059b988d75e903fc62258b102eb87dc4b6994a3\n # via -r uv-requirements-0.7.13.in (contents of `uv==0.7.13`)\n