mcp-souschef 2.8.0__py3-none-any.whl → 3.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.
- {mcp_souschef-2.8.0.dist-info → mcp_souschef-3.2.0.dist-info}/METADATA +159 -384
- mcp_souschef-3.2.0.dist-info/RECORD +47 -0
- {mcp_souschef-2.8.0.dist-info → mcp_souschef-3.2.0.dist-info}/WHEEL +1 -1
- souschef/__init__.py +31 -7
- souschef/assessment.py +1451 -105
- souschef/ci/common.py +126 -0
- souschef/ci/github_actions.py +3 -92
- souschef/ci/gitlab_ci.py +2 -52
- souschef/ci/jenkins_pipeline.py +2 -59
- souschef/cli.py +149 -16
- souschef/converters/playbook.py +378 -138
- souschef/converters/resource.py +12 -11
- souschef/converters/template.py +177 -0
- souschef/core/__init__.py +6 -1
- souschef/core/metrics.py +313 -0
- souschef/core/path_utils.py +233 -19
- souschef/core/validation.py +53 -0
- souschef/deployment.py +71 -12
- souschef/generators/__init__.py +13 -0
- souschef/generators/repo.py +695 -0
- souschef/parsers/attributes.py +1 -1
- souschef/parsers/habitat.py +1 -1
- souschef/parsers/inspec.py +25 -2
- souschef/parsers/metadata.py +5 -3
- souschef/parsers/recipe.py +1 -1
- souschef/parsers/resource.py +1 -1
- souschef/parsers/template.py +1 -1
- souschef/server.py +1039 -121
- souschef/ui/app.py +486 -374
- souschef/ui/pages/ai_settings.py +74 -8
- souschef/ui/pages/cookbook_analysis.py +3216 -373
- souschef/ui/pages/validation_reports.py +274 -0
- mcp_souschef-2.8.0.dist-info/RECORD +0 -42
- souschef/converters/cookbook_specific.py.backup +0 -109
- {mcp_souschef-2.8.0.dist-info → mcp_souschef-3.2.0.dist-info}/entry_points.txt +0 -0
- {mcp_souschef-2.8.0.dist-info → mcp_souschef-3.2.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
souschef/__init__.py,sha256=EqHUtFUSPV2fOQO3lhmyhMPfX7cUso88I6rEjvG8PRA,1434
|
|
2
|
+
souschef/assessment.py,sha256=zsgdnMvaHDN-3FSJ3W8q7a1lsDFS0qqklUg4G0n5IOs,98094
|
|
3
|
+
souschef/ci/__init__.py,sha256=GHaqDk4auB2kI7_fQtF2FRg5nP-iX6wJchj_uTlXcYg,411
|
|
4
|
+
souschef/ci/common.py,sha256=vHX1wtDNaTPiPfwW9If3aBm1hRmnTto2r3MkZGwYPTM,4757
|
|
5
|
+
souschef/ci/github_actions.py,sha256=EVnnOPTLCeUmTfR-acpLp-c_dxapMfrrDWaK4SSBkdM,7818
|
|
6
|
+
souschef/ci/gitlab_ci.py,sha256=4FcK8edci3ixuiUtYb6EFaAfsqjz0OBmW-lyPLH3YzY,6708
|
|
7
|
+
souschef/ci/jenkins_pipeline.py,sha256=XEuZrVKVmOlQOKucgGcd3vhAFh5qT05ILNnjKjkqTPU,7362
|
|
8
|
+
souschef/cli.py,sha256=8kxVkvg9eFOWIII29p9sQm9u2Z6kfhmdJThBlpxTdrA,38159
|
|
9
|
+
souschef/converters/__init__.py,sha256=kkPm758XiFDdUYvdVPAVjssFvf15LasJcob1EY1EMIs,681
|
|
10
|
+
souschef/converters/cookbook_specific.py,sha256=ZvE9-bZtyXuf2E3HW4E9_GWzAqtm7e4YHj9qm1Xu_XI,3767
|
|
11
|
+
souschef/converters/habitat.py,sha256=4eVGAcX0576zLXW9yqYvuaRxOK2g6BOIJo_ws-PonHU,22516
|
|
12
|
+
souschef/converters/playbook.py,sha256=dyeAzcCyWcBUc6o9IcBTB4N4XVIX4cImNFsNe2TXTSU,94395
|
|
13
|
+
souschef/converters/resource.py,sha256=NYMcp1-obg_ad_XPuYDuUH_0j65agRbAeWzXPfbSi5c,13570
|
|
14
|
+
souschef/converters/template.py,sha256=swX7LpWrKZgFtg6MaR7rltShBkPDbQAb65d1NF_nILo,5447
|
|
15
|
+
souschef/core/__init__.py,sha256=PXiZSEfXw77te3SvMRKy0_g0CwQqworbgFLca89u7wA,1969
|
|
16
|
+
souschef/core/constants.py,sha256=AyIpc9cJjQEDc1yOcoKc_2-cJB4PekSpPKEK2S9jDl8,5122
|
|
17
|
+
souschef/core/errors.py,sha256=zj_LHDRxUvHmcs-nZjOWu4B_MhY5WVq2okyZOxyycCI,8605
|
|
18
|
+
souschef/core/metrics.py,sha256=k56opuVmRorrBwErbxLgXu_GkfGZXA_rEfhcsHs1JHI,9850
|
|
19
|
+
souschef/core/path_utils.py,sha256=eU5lNujUX45MbMahstm4C0gJxKN14QIKaxmgD6O5l9U,8993
|
|
20
|
+
souschef/core/ruby_utils.py,sha256=vUeFZBdjbFFFJlwo4fIboR23rXmbcYL2Tztt4RYhps0,1043
|
|
21
|
+
souschef/core/validation.py,sha256=DXfkm1p5prSAJ-Oruk5JekNiDFI49Dql1bGEzKymYXs,19158
|
|
22
|
+
souschef/deployment.py,sha256=UKxq9G06b7de_5ioA7RdxdjwQaW2mJKf6WlNl0Sq5wk,62193
|
|
23
|
+
souschef/filesystem/__init__.py,sha256=2H7Pdeedz0MfmgpRlmii_vx61qr0jtxFndT0APPm6Qs,142
|
|
24
|
+
souschef/filesystem/operations.py,sha256=OMMozBfV_o70b47KioiZ2i6HViiUQPE5mVBeKcKFepo,1654
|
|
25
|
+
souschef/generators/__init__.py,sha256=T_XShFRPEceciUCq3q0EzYkAloN7CtoCq63kWzpQPW4,254
|
|
26
|
+
souschef/generators/repo.py,sha256=RUc8uCHPF5SXFWn43eSRph1hAZwQxLKLwYbnZN0CdcQ,18851
|
|
27
|
+
souschef/parsers/__init__.py,sha256=gF-vPslzs9iLxsaDzFnWDPpYFDAIwyAifjUwzYurPLg,1104
|
|
28
|
+
souschef/parsers/attributes.py,sha256=ss0H7QAPAZEf2YPrln7yXVHWQIjV4vqlcmLR8ZZXiNo,18250
|
|
29
|
+
souschef/parsers/habitat.py,sha256=n2mb5ydcIqday4TH_bmp6Nka0VxoMpKM5doaCh8ClY0,10494
|
|
30
|
+
souschef/parsers/inspec.py,sha256=Ln0Y2_HyOavGRkHY_srb4r0XA_0u6vlck-XANmzMkb0,34839
|
|
31
|
+
souschef/parsers/metadata.py,sha256=qDPLgZLblACDvSJxE4Jo5GIZSaB01uYS68DrEYrO0yE,6420
|
|
32
|
+
souschef/parsers/recipe.py,sha256=PNGQKVv0wwqj_q8WYT2NjsSavLA9WXdo2C9bp6pY9qc,7101
|
|
33
|
+
souschef/parsers/resource.py,sha256=WcKsUjP3yZx2-2nsTUTLPxIxtfwEihHVNkv3OC6bBHs,5359
|
|
34
|
+
souschef/parsers/template.py,sha256=v51BMUHmr9FYwE7zDNFA01dsClWHLrc_YD3rCM-2lqc,10543
|
|
35
|
+
souschef/profiling.py,sha256=a6Pn57CZR3UPR1YIY8gfbuTPRuPkFrfIFBmctOcaZgY,17315
|
|
36
|
+
souschef/server.py,sha256=jtNiPX9uWP5KoRCZj0nasBlxPooAy5AHKcW-HO0YWU4,122047
|
|
37
|
+
souschef/ui/__init__.py,sha256=U3W6X4ww7CxQVuetcocObWn5iY6lUFiNX7WoDBJeD34,195
|
|
38
|
+
souschef/ui/app.py,sha256=0lFphbMTL21H_CpT9rO2tITj48b4_zK8YZqW2_sm8TU,101744
|
|
39
|
+
souschef/ui/health_check.py,sha256=mEzec8L6XPRekOBAXngqQz5dnzal-a4p3D70mkPriiA,903
|
|
40
|
+
souschef/ui/pages/ai_settings.py,sha256=tIwgWBqxCEqFykmrLRPiVQjl-m-I1Mbq0RoB1YA5faM,17774
|
|
41
|
+
souschef/ui/pages/cookbook_analysis.py,sha256=qcCYtnk01XGD14wbQe5EzT3Fx_ETkIjMhz8r3ZOXwm8,146148
|
|
42
|
+
souschef/ui/pages/validation_reports.py,sha256=R3xHTJb_y2b0tI8N0qPF1oS4f9ZVb539_82dj5nmmxA,7593
|
|
43
|
+
mcp_souschef-3.2.0.dist-info/METADATA,sha256=8yGaW_bXIxvKHzwS7x_gBMXqH850qif_HuTyq2nnDVY,41878
|
|
44
|
+
mcp_souschef-3.2.0.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
|
|
45
|
+
mcp_souschef-3.2.0.dist-info/entry_points.txt,sha256=NVSk61tLG4W0xEkWGOMXAVCIUyodyZCY_j3Z_0m6rkQ,80
|
|
46
|
+
mcp_souschef-3.2.0.dist-info/licenses/LICENSE,sha256=t31dYSuvYYNw6trj-coWSsLK-Tg_Iyl8ObcolQcrUKM,1078
|
|
47
|
+
mcp_souschef-3.2.0.dist-info/RECORD,,
|
souschef/__init__.py
CHANGED
|
@@ -1,18 +1,42 @@
|
|
|
1
1
|
"""SousChef: AI-powered Chef to Ansible converter."""
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
import tomllib
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# Read version from pyproject.toml
|
|
9
|
+
def _get_version() -> str:
|
|
10
|
+
"""Get version from pyproject.toml."""
|
|
11
|
+
pyproject_path = Path(__file__).parent.parent / "pyproject.toml"
|
|
12
|
+
try:
|
|
13
|
+
with pyproject_path.open("rb") as f:
|
|
14
|
+
data = tomllib.load(f)
|
|
15
|
+
version = data.get("tool", {}).get("poetry", {}).get("version")
|
|
16
|
+
return str(version) if version else "unknown"
|
|
17
|
+
except OSError:
|
|
18
|
+
return "unknown"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
__version__ = _get_version()
|
|
22
|
+
|
|
23
|
+
from souschef.assessment import ( # noqa: E402
|
|
4
24
|
analyse_cookbook_dependencies,
|
|
5
25
|
assess_chef_migration_complexity,
|
|
6
26
|
generate_migration_plan,
|
|
7
27
|
generate_migration_report,
|
|
8
28
|
validate_conversion,
|
|
9
29
|
)
|
|
10
|
-
from souschef.deployment import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
analyse_chef_search_patterns
|
|
15
|
-
|
|
30
|
+
from souschef.deployment import analyse_chef_application_patterns # noqa: E402
|
|
31
|
+
|
|
32
|
+
# Import server functions only if MCP is available
|
|
33
|
+
try:
|
|
34
|
+
from souschef.server import analyse_chef_search_patterns
|
|
35
|
+
except ImportError:
|
|
36
|
+
# Define a placeholder function for when MCP is not available
|
|
37
|
+
def analyse_chef_search_patterns(*args, **kwargs):
|
|
38
|
+
raise NotImplementedError("MCP server not available")
|
|
39
|
+
|
|
16
40
|
|
|
17
41
|
__all__ = [
|
|
18
42
|
"analyse_cookbook_dependencies",
|