lucius-mcp 0.3.0__py3-none-any.whl → 0.4.0__py3-none-any.whl
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.
- lucius_mcp-0.4.0.dist-info/METADATA +124 -0
- {lucius_mcp-0.3.0.dist-info → lucius_mcp-0.4.0.dist-info}/RECORD +38 -29
- src/client/__init__.py +6 -0
- src/client/client.py +271 -7
- src/client/exceptions.py +23 -0
- src/client/generated/README.md +18 -0
- src/client/generated/__init__.py +2 -0
- src/client/generated/api/__init__.py +1 -0
- src/client/generated/api/integration_controller_api.py +5285 -0
- src/client/generated/docs/IntegrationControllerApi.md +1224 -0
- src/services/__init__.py +9 -1
- src/services/custom_field_value_service.py +301 -0
- src/services/integration_service.py +205 -0
- src/services/launch_service.py +29 -1
- src/services/shared_step_service.py +34 -17
- src/services/test_case_service.py +269 -37
- src/services/test_layer_service.py +11 -0
- src/tools/__init__.py +19 -1
- src/tools/create_custom_field_value.py +38 -0
- src/tools/create_test_case.py +32 -2
- src/tools/delete_custom_field_value.py +57 -0
- src/tools/delete_test_case.py +5 -4
- src/tools/delete_test_layer.py +17 -4
- src/tools/delete_test_layer_schema.py +17 -4
- src/tools/launches.py +86 -0
- src/tools/link_shared_step.py +18 -12
- src/tools/list_custom_field_values.py +72 -0
- src/tools/list_integrations.py +77 -0
- src/tools/search.py +3 -3
- src/tools/shared_steps.py +23 -8
- src/tools/unlink_shared_step.py +19 -5
- src/tools/update_custom_field_value.py +55 -0
- src/tools/update_test_case.py +67 -2
- src/tools/update_test_layer.py +15 -4
- src/tools/update_test_layer_schema.py +16 -5
- lucius_mcp-0.3.0.dist-info/METADATA +0 -297
- {lucius_mcp-0.3.0.dist-info → lucius_mcp-0.4.0.dist-info}/WHEEL +0 -0
- {lucius_mcp-0.3.0.dist-info → lucius_mcp-0.4.0.dist-info}/entry_points.txt +0 -0
- {lucius_mcp-0.3.0.dist-info → lucius_mcp-0.4.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: lucius-mcp
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Allure TestOps MCP Server
|
|
5
|
+
Project-URL: Homepage, https://github.com/ivanostanin/lucius-mcp
|
|
6
|
+
Project-URL: Documentation, https://github.com/ivanostanin/lucius-mcp#readme
|
|
7
|
+
Project-URL: Repository, https://github.com/ivanostanin/lucius-mcp.git
|
|
8
|
+
Project-URL: Issues, https://github.com/ivanostanin/lucius-mcp/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/ivanostanin/lucius-mcp/blob/main/CHANGELOG.md
|
|
10
|
+
Project-URL: Releases, https://github.com/ivanostanin/lucius-mcp/releases
|
|
11
|
+
Author-email: Ivan Ostanin <ivan@ostanin.me>
|
|
12
|
+
License-Expression: Apache-2.0
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Keywords: allure,allure-testops,fastmcp,mcp,mcp-server,model-context-protocol,testops
|
|
15
|
+
Classifier: Development Status :: 4 - Beta
|
|
16
|
+
Classifier: Environment :: Console
|
|
17
|
+
Classifier: Intended Audience :: Developers
|
|
18
|
+
Classifier: Natural Language :: English
|
|
19
|
+
Classifier: Operating System :: OS Independent
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
22
|
+
Classifier: Topic :: Software Development
|
|
23
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
24
|
+
Classifier: Topic :: Software Development :: Testing
|
|
25
|
+
Classifier: Topic :: Utilities
|
|
26
|
+
Classifier: Typing :: Typed
|
|
27
|
+
Requires-Python: >=3.14
|
|
28
|
+
Requires-Dist: fastmcp>=2.14.4
|
|
29
|
+
Requires-Dist: httpx>=0.28.1
|
|
30
|
+
Requires-Dist: pydantic-settings>=2.12.0
|
|
31
|
+
Requires-Dist: pydantic>=2.12.5
|
|
32
|
+
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
33
|
+
Requires-Dist: python-json-logger>=2.0.7
|
|
34
|
+
Requires-Dist: rich>=13.7.0
|
|
35
|
+
Requires-Dist: starlette==0.52.1
|
|
36
|
+
Requires-Dist: uvicorn>=0.40.0
|
|
37
|
+
Requires-Dist: wsproto>=1.3.2
|
|
38
|
+
Provides-Extra: dev
|
|
39
|
+
Requires-Dist: allure-pytest>=2.15.3; extra == 'dev'
|
|
40
|
+
Requires-Dist: faker>=40.1.2; extra == 'dev'
|
|
41
|
+
Requires-Dist: mypy>=1.19.1; extra == 'dev'
|
|
42
|
+
Requires-Dist: openapi-generator-cli>=7.19.0; extra == 'dev'
|
|
43
|
+
Requires-Dist: pre-commit>=4.0.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
|
|
45
|
+
Requires-Dist: pytest-cov>=7.0.0; extra == 'dev'
|
|
46
|
+
Requires-Dist: pytest-mock>=3.15.1; extra == 'dev'
|
|
47
|
+
Requires-Dist: pytest-xdist>=3.8.0; extra == 'dev'
|
|
48
|
+
Requires-Dist: pytest>=9.0.2; extra == 'dev'
|
|
49
|
+
Requires-Dist: respx>=0.22.0; extra == 'dev'
|
|
50
|
+
Requires-Dist: ruff>=0.14.14; extra == 'dev'
|
|
51
|
+
Requires-Dist: twine>=6.2.0; extra == 'dev'
|
|
52
|
+
Description-Content-Type: text/markdown
|
|
53
|
+
|
|
54
|
+
# Lucius MCP Server
|
|
55
|
+
|
|
56
|
+
A specialized Model Context Protocol (MCP) server for Allure TestOps, built with `FastMCP` and `Starlette`.
|
|
57
|
+
|
|
58
|
+
## 🎯 Motivation
|
|
59
|
+
|
|
60
|
+
Allure TestOps is a powerful tool with a huge API. When you're using an AI agent to manage your tests, it can easily get
|
|
61
|
+
lost in the details or fail because of a small technical mistake.
|
|
62
|
+
|
|
63
|
+
Lucius makes this easier by giving your AI tools that are simple to use and hard to break:
|
|
64
|
+
|
|
65
|
+
- **Clear Tools**: Every tool is designed for a specific task, like "finding a test case" or "updating a launch".
|
|
66
|
+
- **Helpful Errors**: If an AI makes a mistake, Lucius doesn't just return a code—it provides an "Agent Hint" that
|
|
67
|
+
explains exactly what went wrong and how to fix it.
|
|
68
|
+
- **Solid Foundation**: We follow a clean "Thin Tool" structure, meaning the logic is consistent and easy for both
|
|
69
|
+
humans and AI to follow.
|
|
70
|
+
|
|
71
|
+
## 🛠️ Supported Tools
|
|
72
|
+
|
|
73
|
+
| Tool Category | Description | All Tools |
|
|
74
|
+
|:-----------------------|:-------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
75
|
+
| **Test Case Mgmt** | Full lifecycle for test documentation. | `create_test_case`, `update_test_case`, `delete_test_case`, `get_test_case_details`, `list_test_cases`, `get_test_case_custom_fields` |
|
|
76
|
+
| **Search & Discovery** | Advanced search and project metadata discovery. | `search_test_cases`, `get_custom_fields`, `list_integrations` |
|
|
77
|
+
| **Shared Steps** | Create and manage reusable sequence sequences. | `create_shared_step`, `list_shared_steps`, `update_shared_step`, `delete_shared_step`, `link_shared_step`, `unlink_shared_step` |
|
|
78
|
+
| **Test Layers** | Manage test taxonomy and auto-mapping schemas. | `list_test_layers`, `create_test_layer`, `update_test_layer`, `delete_test_layer`, `list_test_layer_schemas`, `create_test_layer_schema`, `update_test_layer_schema`, `delete_test_layer_schema` |
|
|
79
|
+
| **Custom Fields** | Project-level management of custom field values. | `list_custom_field_values`, `create_custom_field_value`, `update_custom_field_value`, `delete_custom_field_value` |
|
|
80
|
+
| **Launch Mgmt** | Execution tracking and launch statistics. | `create_launch`, `get_launch`, `list_launches` |
|
|
81
|
+
|
|
82
|
+
## 🚀 Quick Start
|
|
83
|
+
|
|
84
|
+
1. **Install uv**: `curl -LsSf https://astral.sh/uv/install.sh | sh`
|
|
85
|
+
2. **Setup Credentials**: Create a `.env` file with `ALLURE_ENDPOINT`, `ALLURE_PROJECT_ID`, and `ALLURE_API_TOKEN`.
|
|
86
|
+
3. **Run Server**: `uv run start`
|
|
87
|
+
|
|
88
|
+
### 🔌 Claude Desktop Integration
|
|
89
|
+
|
|
90
|
+
The easiest way to use Lucius in Claude Desktop is via the `.mcpb` bundle:
|
|
91
|
+
|
|
92
|
+
1. Download the latest `lucius-mcp.mcpb` from Releases.
|
|
93
|
+
2. Open with Claude Desktop.
|
|
94
|
+
3. Configure your Allure credentials in the UI.
|
|
95
|
+
|
|
96
|
+
### 💻 Claude Code Integration
|
|
97
|
+
|
|
98
|
+
To add Lucius to Claude Code, use the following command from within your project directory:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
claude mcp add testops-mcp --transport stdio \
|
|
102
|
+
--env ALLURE_ENDPOINT=https://example.testops.cloud\
|
|
103
|
+
--env ALLURE_PROJECT_ID=123 \
|
|
104
|
+
--env ALLURE_API_TOKEN=your_token \
|
|
105
|
+
--env MCP_MODE=stdio \
|
|
106
|
+
-- uvx --from lucius-mcp --refresh start
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
For detailed setup, including Claude Desktop (MCPB) integration, see [Setup Guide](docs/setup.md).
|
|
110
|
+
|
|
111
|
+
## 📂 Documentation
|
|
112
|
+
|
|
113
|
+
Full documentation is available in the [docs/](docs/index.md) folder:
|
|
114
|
+
|
|
115
|
+
- [Architecture & Design](docs/architecture.md)
|
|
116
|
+
- [Tool Reference](docs/tools.md)
|
|
117
|
+
- [Configuration & Setup](docs/setup.md)
|
|
118
|
+
- [Development Guide](docs/development.md)
|
|
119
|
+
- [AI Agent Protocol](docs/agent-documentation-protocol.md)
|
|
120
|
+
|
|
121
|
+
## 🤝 Contributing
|
|
122
|
+
|
|
123
|
+
Contributions are welcome! Please see the [Contribution Guidelines](CONTRIBUTING.md) and
|
|
124
|
+
the [Development Guide](docs/development.md) for more details.
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
src/main.py,sha256=JPT9QfOVOj5BGGVJtq6megXZqibTIHRV3zY38jQeI5g,2580
|
|
3
3
|
src/version.py,sha256=ZAzHiNwu2X1UtwUkcHNmKrXBwRJeVvXbpdfi7wtv3DY,76
|
|
4
|
-
src/client/__init__.py,sha256=
|
|
5
|
-
src/client/client.py,sha256=
|
|
6
|
-
src/client/exceptions.py,sha256=
|
|
7
|
-
src/client/generated/README.md,sha256=
|
|
8
|
-
src/client/generated/__init__.py,sha256=
|
|
4
|
+
src/client/__init__.py,sha256=G0G2BKEw93Wd6VveUQRtYxxjLyPnQgDn2K_1heOYBEo,1786
|
|
5
|
+
src/client/client.py,sha256=sgUsVVD064ujN3g27OslmvODZAGjYHSEKL8LY_729T0,72732
|
|
6
|
+
src/client/exceptions.py,sha256=Rl6RcuhpJoxYn1sTedseKolQfngiGCF1T6-araQUyhw,2177
|
|
7
|
+
src/client/generated/README.md,sha256=V_gkgGSNGOUBQPbvjFQvaNphH9gmfX2l2vmjkeQ3GC4,90765
|
|
8
|
+
src/client/generated/__init__.py,sha256=LUKu_SITT_ZTRonW4mxLg_HzMls3xHT7CSCEkQfH6-0,98580
|
|
9
9
|
src/client/generated/api_client.py,sha256=0m1Ax05egObKEi4V-APnDamj0FZVE5Z4isSu8QPIP8Y,27910
|
|
10
10
|
src/client/generated/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
11
11
|
src/client/generated/configuration.py,sha256=nJvRx1KvWIkb7B0u-PSKRtwmm8JTFPgBz1CpKlp5Gno,17823
|
|
12
12
|
src/client/generated/exceptions.py,sha256=ZpDRfPSo4xseVbDop1tZQhxJrUweRUcuCHI-pociYmg,6516
|
|
13
13
|
src/client/generated/rest.py,sha256=U6oxD5gY8dkbGrByetRZRb8UVU7IuFldQULHDM5xrF4,6470
|
|
14
|
-
src/client/generated/api/__init__.py,sha256=
|
|
14
|
+
src/client/generated/api/__init__.py,sha256=Id_y-UTcdmpMoxK9Qdx4VuBYmnd6p2qadQxiARQzedw,2360
|
|
15
15
|
src/client/generated/api/custom_field_controller_api.py,sha256=Cu5yPnHHR8DH3MjY1bVF3W2QkhWQsKqSWg75rMo7BpQ,99963
|
|
16
16
|
src/client/generated/api/custom_field_project_controller_api.py,sha256=itwkdD7cLKOIx2h4k_77lItQyETzhWtiqvjSoKfOpzE,90527
|
|
17
17
|
src/client/generated/api/custom_field_project_controller_v2_api.py,sha256=iXJtWSwq87b_QOU9WB8srvZijqr9tSOfGGuNhlh2Adc,25852
|
|
18
18
|
src/client/generated/api/custom_field_schema_controller_api.py,sha256=owULmpUNYCMGVLJKv_3m6fHwCc4J55Cep0TSXgHwfok,65843
|
|
19
19
|
src/client/generated/api/custom_field_value_controller_api.py,sha256=VGCT9QAlYUB137PbSw1Qi--mtJFLkxKvCU1_UY4x6ZI,122414
|
|
20
20
|
src/client/generated/api/custom_field_value_project_controller_api.py,sha256=Re_IpphBdpMFky0I81E2mGSzatsUl4wmk4CtN873cd4,73080
|
|
21
|
+
src/client/generated/api/integration_controller_api.py,sha256=8jsSppAyrgSxo2XAa6iVu9WK9bQGEJY7EONrpkdVn2g,207858
|
|
21
22
|
src/client/generated/api/launch_controller_api.py,sha256=UwUVvnDMl7WKeGffa2aWJy93V6tiNeyLm5lX0maVPlA,320808
|
|
22
23
|
src/client/generated/api/launch_search_controller_api.py,sha256=b1k3YJrwJYknRpfAVv3ZNTWcObJrfzobjWjt3J1Y7vc,24638
|
|
23
24
|
src/client/generated/api/project_controller_api.py,sha256=ykBhUwbv5oRJKx0BpP-FgR_CPU01rckJAMs2eej43h0,113644
|
|
@@ -215,6 +216,7 @@ src/client/generated/docs/ImportRequestDto.md,sha256=mB2FCmufT6YS6prvLvMet6i6PSt
|
|
|
215
216
|
src/client/generated/docs/ImportRequestInfoDto.md,sha256=Ta82s9wUQCLyhJVblQxWuwWV4GChyHoWoCjGlXlzTTA,1175
|
|
216
217
|
src/client/generated/docs/ImportRequestStateDto.md,sha256=ipWzEfB_VakOw72kMGaY-H9uiSSa9DSq-5IjOnz_TGQ,339
|
|
217
218
|
src/client/generated/docs/ImportRequestTypeDto.md,sha256=ay7oEl41tbrrLGNuQbqETr6qxfrWQCjj8bn6M8by_3g,244
|
|
219
|
+
src/client/generated/docs/IntegrationControllerApi.md,sha256=mSt0rgkSBoKA00SA2UPybphETXlyFS1dQjlJkMH00bM,42211
|
|
218
220
|
src/client/generated/docs/IntegrationCreateDto.md,sha256=gxAsZdjJjTjEAb-b03n4cb-acWHewBIosBpPKebTor0,1235
|
|
219
221
|
src/client/generated/docs/IntegrationDto.md,sha256=lIHYlAuccGDTwvz4DLtRFLiQmid8-9b_OICzC_ly8hQ,1145
|
|
220
222
|
src/client/generated/docs/IntegrationExportCreateDto.md,sha256=Mr9u5uJ6Qam7D93KKNAp8nWgPDWtS_090vJbWsX9qNY,1498
|
|
@@ -1426,33 +1428,40 @@ src/client/generated/models/workflow_schema_create_dto.py,sha256=hgXdh72-pgT8QQe
|
|
|
1426
1428
|
src/client/generated/models/workflow_schema_dto.py,sha256=pK6kpb7vIHE4dkdBrS2G871tnt2abuAumdB8i_M5-gk,3807
|
|
1427
1429
|
src/client/generated/models/workflow_schema_patch_dto.py,sha256=m4RDERQlbWY997XTMgufFp5vQgYEQRmkJ8jMQNhZjr4,2729
|
|
1428
1430
|
src/client/overridden/test_case_custom_fields_v2.py,sha256=3bzOTWaOAUAJftDdHVSA76QjvyvOiWOnPcupMDV5WqE,10464
|
|
1429
|
-
src/services/__init__.py,sha256=
|
|
1431
|
+
src/services/__init__.py,sha256=7dy-IPW2JLnxhXZtG0ORAYz5altjcYpo1nslEoZcNdk,512
|
|
1430
1432
|
src/services/attachment_service.py,sha256=_aQ-CAOCCDth_sWz1EyDw4W-1POQDsQ28YYCHUEXAlA,3890
|
|
1431
|
-
src/services/
|
|
1433
|
+
src/services/custom_field_value_service.py,sha256=TN0M5f5bZ5zGklQszcIOhoQBO0cxCi-mhiwccKr8-1c,12407
|
|
1434
|
+
src/services/integration_service.py,sha256=cge8itF93udcYp1bnwPU5tDW2XGLuvo0eDpOMWwp5gs,7455
|
|
1435
|
+
src/services/launch_service.py,sha256=dhf_NTSoUYNMimVvatVnYQvUQa4V2EoslGPTZfOhu9Y,11573
|
|
1432
1436
|
src/services/search_service.py,sha256=H_j4Cpq-trDYh9P3DD3yU57gTftdxx-YN7O_zf5umio,7832
|
|
1433
|
-
src/services/shared_step_service.py,sha256=
|
|
1434
|
-
src/services/test_case_service.py,sha256=
|
|
1435
|
-
src/services/test_layer_service.py,sha256=
|
|
1436
|
-
src/tools/__init__.py,sha256=
|
|
1437
|
-
src/tools/
|
|
1437
|
+
src/services/shared_step_service.py,sha256=nQ3zZ5U6uzxdMaGePXhEAP96CTlDNX5o09bVFDfBneY,13501
|
|
1438
|
+
src/services/test_case_service.py,sha256=zAjRQT3k6AF0sImUUXmSQ-4Rm6BnWGpYRoV5Cw-Q9t0,72089
|
|
1439
|
+
src/services/test_layer_service.py,sha256=VWRaNd3FOvy3oXZl3_uyV6kiWgioETnVl3jQ1Sd8uLY,15264
|
|
1440
|
+
src/tools/__init__.py,sha256=6A9mDb5KxttSNHjwUxzSZz2hXRGxieSi7Fl6Ddq8Tro,3025
|
|
1441
|
+
src/tools/create_custom_field_value.py,sha256=F6xbOwyS2nxuiVTP9QEZIO3QhTSaqUQ-s3ZsUT23pzE,1539
|
|
1442
|
+
src/tools/create_test_case.py,sha256=HLZ09d0MEAyRI5D89cOVBtSmov4SXvXCMjNKEhQxoKs,5220
|
|
1438
1443
|
src/tools/create_test_layer.py,sha256=6l8eP6bGqyOILJvOAhbCClht_FSYHLcgxCeNdwYMZhc,1111
|
|
1439
1444
|
src/tools/create_test_layer_schema.py,sha256=QuHvBgSYqyyPPSDtMaijOuM1Lzt8mH3u96owTNyLMhA,1569
|
|
1440
|
-
src/tools/
|
|
1441
|
-
src/tools/
|
|
1442
|
-
src/tools/
|
|
1445
|
+
src/tools/delete_custom_field_value.py,sha256=9LY-YHhIcmtVRaIm29bfCoK7vPOV-7fuOuC-7YFaFE8,2268
|
|
1446
|
+
src/tools/delete_test_case.py,sha256=fSGrCMcHGRg6ZnruCYlcQNRCiY_riwvJLFLIx3Xz_UM,2132
|
|
1447
|
+
src/tools/delete_test_layer.py,sha256=lnzDMdA68pxKikGT9ZehYbLQ6DHcgO2H5kWZIPy3v3o,1594
|
|
1448
|
+
src/tools/delete_test_layer_schema.py,sha256=PZ7mPxTidRAedp_gPaaliumVG5k8HwTVgJ9_yGI_TVM,1662
|
|
1443
1449
|
src/tools/get_custom_fields.py,sha256=jTbPzzFDUWZNWB1TbThpq8z5OnxaW24eK2-FX0Ba_Oc,1782
|
|
1444
1450
|
src/tools/get_test_case_custom_fields.py,sha256=vcEj5CWaBtvva-buN2WEGBNuwzgXNHj9nOsrn2jOcO4,1336
|
|
1445
|
-
src/tools/launches.py,sha256
|
|
1446
|
-
src/tools/link_shared_step.py,sha256=
|
|
1451
|
+
src/tools/launches.py,sha256=-fvV-CgJ2OKrUKHdFZHRoufIxzZq3N8JsYrFcmtfedc,7345
|
|
1452
|
+
src/tools/link_shared_step.py,sha256=Q_-5UbHSHGERC4xzr-6Fyvg3AePDe6nba8ckRQbHxK0,3903
|
|
1453
|
+
src/tools/list_custom_field_values.py,sha256=Q7Yt0KACDsyiw_N1fzq0FJTAHM5GYrTmfOefElKoSUE,3170
|
|
1454
|
+
src/tools/list_integrations.py,sha256=NIAHIJv7aSj6gP_1LGjhEic7kapchj4IAi78nRhVB6g,3055
|
|
1447
1455
|
src/tools/list_test_layer_schemas.py,sha256=ju5fjXMXGho9jJ8TRXYooFHMzJDThhyFso0z8OZPgas,1580
|
|
1448
1456
|
src/tools/list_test_layers.py,sha256=nH_VIJHt5kxfmD5z6_N4UER3anvNY3D-ukPo3HL15hk,1202
|
|
1449
|
-
src/tools/search.py,sha256=
|
|
1450
|
-
src/tools/shared_steps.py,sha256=
|
|
1457
|
+
src/tools/search.py,sha256=hmjruKOLvShs_35O5j6gUcCOwDMNMJU8g4AVWIKz3nc,13898
|
|
1458
|
+
src/tools/shared_steps.py,sha256=0R9HQg6w0dLp3KVyhvNPxyBa7gufHMbGlb33XaApwhY,7994
|
|
1451
1459
|
src/tools/test_layers.py,sha256=lnvL-wKkexQ5sldC_3P-fWOZXCQDPBbDB03Cu1VudJ0,793
|
|
1452
|
-
src/tools/unlink_shared_step.py,sha256=
|
|
1453
|
-
src/tools/
|
|
1454
|
-
src/tools/
|
|
1455
|
-
src/tools/
|
|
1460
|
+
src/tools/unlink_shared_step.py,sha256=xXyWI-dLKDUfkBCPz4GWpIl78nuPK-wOhzBPYg5N44I,3245
|
|
1461
|
+
src/tools/update_custom_field_value.py,sha256=TFI-5k-0L3Kve2UIvlAYtR_YAJFWXhx0tRB5EtV0skU,2358
|
|
1462
|
+
src/tools/update_test_case.py,sha256=o3ZG4LqYGPnktiENM8zM1IeL57pAwOVbNVD5bOAs2As,10137
|
|
1463
|
+
src/tools/update_test_layer.py,sha256=dJgs16qwcaQgLumrRyjti1CJ7TwEniqpW739EcCKE78,1760
|
|
1464
|
+
src/tools/update_test_layer_schema.py,sha256=9QlNPjoUDBxeuCHdpoTnFM6xiAW98rJvjtzXI0sgcGk,2168
|
|
1456
1465
|
src/utils/__init__.py,sha256=puuJIVHt6RMo6xvMBsvGydGJuW0b6v1zi6rBexmOVGM,114
|
|
1457
1466
|
src/utils/auth.py,sha256=CfQws2BUct_wmPPbe_COTjHqoeKRfF0PcCs_8pkINjQ,3334
|
|
1458
1467
|
src/utils/config.py,sha256=q6PUlkfgpFEzrzspbmAYcvBbFOgOIDp5RTk5XcR4IGk,1412
|
|
@@ -1460,8 +1469,8 @@ src/utils/error.py,sha256=kUsp62qbz_Q1pz6dGblGTi0rNixJOiF-Vtp19punh7Q,6347
|
|
|
1460
1469
|
src/utils/links.py,sha256=yPIqofIYbTnglOJ_4xUa-UvPB0S5blARjTClsMzv49w,538
|
|
1461
1470
|
src/utils/logger.py,sha256=8ZKOitFjwBRwDfD8wt0hfwIkS-rrrw2bjX5CaxgaZ9g,2504
|
|
1462
1471
|
src/utils/schema_hint.py,sha256=tQkoWTQG7rGbS-pA5Hve-wdb3Sx0869IOy9DCHU_3QM,1811
|
|
1463
|
-
lucius_mcp-0.
|
|
1464
|
-
lucius_mcp-0.
|
|
1465
|
-
lucius_mcp-0.
|
|
1466
|
-
lucius_mcp-0.
|
|
1467
|
-
lucius_mcp-0.
|
|
1472
|
+
lucius_mcp-0.4.0.dist-info/METADATA,sha256=kwjuYzKKk_rxFB4CE8cMkUJdyKav3gs46ih2OWOgejc,6842
|
|
1473
|
+
lucius_mcp-0.4.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
1474
|
+
lucius_mcp-0.4.0.dist-info/entry_points.txt,sha256=Y-XfajjPTM5lObHWqsMYRsLrJRsILKpFGgwBcefRZvw,41
|
|
1475
|
+
lucius_mcp-0.4.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
1476
|
+
lucius_mcp-0.4.0.dist-info/RECORD,,
|
src/client/__init__.py
CHANGED
|
@@ -13,10 +13,12 @@ from .client import (
|
|
|
13
13
|
PageTestCaseDto,
|
|
14
14
|
ScenarioStepCreatedResponseDto,
|
|
15
15
|
ScenarioStepCreateDto,
|
|
16
|
+
ScenarioStepPatchDto,
|
|
16
17
|
SharedStepAttachmentRowDto,
|
|
17
18
|
SharedStepCreateDto,
|
|
18
19
|
SharedStepDto,
|
|
19
20
|
SharedStepPatchDto,
|
|
21
|
+
StepWithExpected,
|
|
20
22
|
TestCaseAttachmentRowDto,
|
|
21
23
|
TestCaseCreateV2Dto,
|
|
22
24
|
TestCaseDto,
|
|
@@ -32,6 +34,7 @@ from .exceptions import (
|
|
|
32
34
|
AllureNotFoundError,
|
|
33
35
|
AllureRateLimitError,
|
|
34
36
|
AllureValidationError,
|
|
37
|
+
LaunchNotFoundError,
|
|
35
38
|
TestCaseNotFoundError,
|
|
36
39
|
)
|
|
37
40
|
|
|
@@ -47,16 +50,19 @@ __all__ = [
|
|
|
47
50
|
"FindAll29200Response",
|
|
48
51
|
"LaunchCreateDto",
|
|
49
52
|
"LaunchDto",
|
|
53
|
+
"LaunchNotFoundError",
|
|
50
54
|
"PageLaunchDto",
|
|
51
55
|
"PageLaunchPreviewDto",
|
|
52
56
|
"PageSharedStepDto",
|
|
53
57
|
"PageTestCaseDto",
|
|
54
58
|
"ScenarioStepCreateDto",
|
|
55
59
|
"ScenarioStepCreatedResponseDto",
|
|
60
|
+
"ScenarioStepPatchDto",
|
|
56
61
|
"SharedStepAttachmentRowDto",
|
|
57
62
|
"SharedStepCreateDto",
|
|
58
63
|
"SharedStepDto",
|
|
59
64
|
"SharedStepPatchDto",
|
|
65
|
+
"StepWithExpected",
|
|
60
66
|
"TestCaseAttachmentRowDto",
|
|
61
67
|
"TestCaseCreateV2Dto",
|
|
62
68
|
"TestCaseDto",
|