mcp-souschef 2.1.2__py3-none-any.whl → 2.2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-souschef
3
- Version: 2.1.2
3
+ Version: 2.2.0
4
4
  Summary: AI-powered MCP server for Chef to Ansible conversion
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -16,7 +16,7 @@ Requires-Dist: python-dotenv (>=1.2.1)
16
16
  Requires-Dist: zod (>=0.8.0)
17
17
  Description-Content-Type: text/markdown
18
18
 
19
- # Chef to Ansible migration - SousChef MCP
19
+ # Chef to Ansible migration - SousChef MCP
20
20
 
21
21
  An AI-powered MCP (Model Context Protocol) server that provides comprehensive Chef-to-Ansible migration capabilities for enterprise infrastructure transformation.
22
22
 
@@ -246,6 +246,33 @@ generate_inspec_from_recipe /path/to/recipe.rb
246
246
  convert_inspec_to_test /path/to/inspec_profile testinfra
247
247
  ```
248
248
 
249
+ ### Performance Profiling & Optimization
250
+ Profile cookbook parsing performance to identify bottlenecks and optimize large-scale migrations:
251
+
252
+ ```bash
253
+ # Profile entire cookbook (all parsing operations)
254
+ souschef-cli profile /path/to/cookbook
255
+
256
+ # Save profiling report to file
257
+ souschef-cli profile /path/to/cookbook --output profile_report.txt
258
+
259
+ # Profile specific operations with detailed statistics
260
+ souschef-cli profile-operation recipe /path/to/recipe.rb --detailed
261
+ souschef-cli profile-operation attributes /path/to/attributes/default.rb
262
+ souschef-cli profile-operation template /path/to/template.erb
263
+
264
+ # MCP Tool Usage (from AI assistants)
265
+ profile_cookbook_performance /path/to/large_cookbook
266
+ profile_parsing_operation recipe /path/to/recipe.rb --detailed
267
+ ```
268
+
269
+ **Features:**
270
+ - Execution time and peak memory tracking for all parsing operations
271
+ - Detailed cProfile statistics with top function calls
272
+ - Automatic performance recommendations based on thresholds
273
+ - Before/after comparison for optimization validation
274
+ - Integration with CLI and MCP for AI-assisted profiling
275
+
249
276
  ## Enterprise Features
250
277
 
251
278
  ### Migration Assessment & Reporting
@@ -437,7 +464,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
437
464
 
438
465
  ## Roadmap
439
466
 
440
- ### Completed
467
+ ### Completed
441
468
  - Complete Chef cookbook parsing (recipes, attributes, metadata, templates)
442
469
  - InSpec profile parsing and conversion to Testinfra/Ansible tests
443
470
  - Chef resource to Ansible task conversion with module mapping
@@ -455,12 +482,13 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
455
482
  - Automated branch cleanup for release PRs
456
483
  - Automated conversion validation and testing framework
457
484
  - Chef Habitat to containerized deployment conversion (parse_habitat_plan, convert_habitat_to_dockerfile, generate_compose_from_habitat)
485
+ - Enhanced error handling with custom exceptions and actionable recovery suggestions
486
+ - Technical debt reduction - ALL PHASES COMPLETE: 16 functions refactored (15 C-grade eliminated, 70+ helpers extracted, average 77% complexity reduction, zero C-grade functions remaining)
487
+ - Performance profiling and optimization for large cookbooks (profiling module, CLI commands, MCP tools)
458
488
 
459
- ### In Progress
460
- - Enhanced error handling and user experience improvements
461
- - Documentation website and interactive examples
462
- - Performance optimizations for large-scale enterprise migrations
463
- - Technical debt reduction (15 functions tracked in [GitHub Issues](https://github.com/kpeacocke/souschef/issues?q=is%3Aissue+is%3Aopen+label%3Atechnical-debt))
489
+ ### In Progress 🚧
490
+ - Documentation website with MkDocs + Material theme
491
+ - Documentation content (Getting Started, Tool Reference, Migration Guide)
464
492
 
465
493
  ### Planned 📅
466
494
  - 📅 Integration with additional test frameworks (ServerSpec, Goss)
@@ -0,0 +1,31 @@
1
+ souschef/__init__.py,sha256=Lkrvi2wu-OMRkdlwzxencm8QzBKc1FpK4y6SWhKqrqI,432
2
+ souschef/assessment.py,sha256=VZ5M-Kj2j0_U1q88w1ZFV_jyAjZe6_S0NZH8Mmvoc3k,51044
3
+ souschef/cli.py,sha256=iq-0opbFBo7Lp4YYKJJZlmqlO3R5eDmHCE62LAEjCrc,14459
4
+ souschef/converters/__init__.py,sha256=WHBBPH60_rPX1LVieimqIYlVzeV8ttG4Q7N1dMUMBb0,681
5
+ souschef/converters/habitat.py,sha256=4eVGAcX0576zLXW9yqYvuaRxOK2g6BOIJo_ws-PonHU,22516
6
+ souschef/converters/playbook.py,sha256=i8HKxoJPLzw47rsq3pXreYSqte5_lBozgbTdyzMnIwA,57336
7
+ souschef/converters/resource.py,sha256=9cuAeTxVwl7aejFxozW8nQXMvapnT1LKu77duuknZnc,9692
8
+ souschef/core/__init__.py,sha256=80a0G6wQGfh-Z7U1gsFaeC97bM4sp_3YGil-lN02Pl0,1894
9
+ souschef/core/constants.py,sha256=wJBKtDUpGUD02RZUT7RPclITJqkeJKe9ny6_G-qSCOw,4694
10
+ souschef/core/errors.py,sha256=zj_LHDRxUvHmcs-nZjOWu4B_MhY5WVq2okyZOxyycCI,8605
11
+ souschef/core/path_utils.py,sha256=zfhNDQtSgiO8nK_3-uOZuM28rn3AVuRZ81o-D9Mrt1E,1731
12
+ souschef/core/ruby_utils.py,sha256=vUeFZBdjbFFFJlwo4fIboR23rXmbcYL2Tztt4RYhps0,1043
13
+ souschef/core/validation.py,sha256=tKDPQvPGZ9dtR9UnjCbcCXqPg_ApdXRW0nEDz2vpxYs,16674
14
+ souschef/deployment.py,sha256=oO93ak-CLQSh_Gn5hM78QwFuHJKMgo2ks_3NFV9X_YY,60300
15
+ souschef/filesystem/__init__.py,sha256=2H7Pdeedz0MfmgpRlmii_vx61qr0jtxFndT0APPm6Qs,142
16
+ souschef/filesystem/operations.py,sha256=NqVz4rT9-2VuiMMp6qY8yU70Z4dSPPK0NvKQKGlzEzY,1782
17
+ souschef/parsers/__init__.py,sha256=W-fDU1cIrhYvvgcdWdy58xh0GtcoUSelBpzkpo4bfYA,1031
18
+ souschef/parsers/attributes.py,sha256=JrxBYUOdE1Uu7c7mlqdjmyvZhXvuQ2VFzC19JpVUZ5U,7919
19
+ souschef/parsers/habitat.py,sha256=CtVgLfmpo7SLp-ADyR-DXRYaRUur3bwJjlnpLyocMhc,10483
20
+ souschef/parsers/inspec.py,sha256=cmUks_BjcZrUW78eX--VMBskDDQQNALPj-cHEOih8rY,23361
21
+ souschef/parsers/metadata.py,sha256=xeKgsZ1RH8SG2gmb4mukM2x3KUdPwAvMYUj-1N8sYtk,5439
22
+ souschef/parsers/recipe.py,sha256=6PuslWMc0R8HlMaS8FaMKc0FtfuPfH4jVEP29QiCezQ,5941
23
+ souschef/parsers/resource.py,sha256=EHxmojbQ7Hx5GsL5-x9mFBYk3FhGTpx-qw1uUVKQkRo,5348
24
+ souschef/parsers/template.py,sha256=iOHMoQH7KkPzigTyyoxav8rb2ENYmfxgcvKGqvoYkgU,10532
25
+ souschef/profiling.py,sha256=a6Pn57CZR3UPR1YIY8gfbuTPRuPkFrfIFBmctOcaZgY,17315
26
+ souschef/server.py,sha256=MHYQwo_fTvUYhJ9f1mIMT-LL4ELgvCVUaf3SqZPITBU,80037
27
+ mcp_souschef-2.2.0.dist-info/METADATA,sha256=YMhHfw3xZi7JiXmxXKJbyrEnnXPXi15w1HETjpKYQn0,43106
28
+ mcp_souschef-2.2.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
29
+ mcp_souschef-2.2.0.dist-info/entry_points.txt,sha256=CKlj3OhURaO6qPn3jrFiKe9hCIP5laDMAkRsiUZVWA0,80
30
+ mcp_souschef-2.2.0.dist-info/licenses/LICENSE,sha256=t31dYSuvYYNw6trj-coWSsLK-Tg_Iyl8ObcolQcrUKM,1078
31
+ mcp_souschef-2.2.0.dist-info/RECORD,,