codemie-sdk-python 0.1.660__py3-none-any.whl → 0.1.661__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.
@@ -6,6 +6,7 @@ from typing import Any, Literal
6
6
 
7
7
  from pydantic import BaseModel, ConfigDict, Field
8
8
 
9
+ from .assistant import MCPServerDetails
9
10
  from .common import User
10
11
 
11
12
 
@@ -41,6 +42,7 @@ class SkillBase(BaseModel):
41
42
  categories: list[str] = Field(default_factory=list)
42
43
  created_date: datetime = Field(alias="createdDate")
43
44
  enabled_builtin_subagents: list[str] = Field(default_factory=list)
45
+ mcp_servers: list[MCPServerDetails] = Field(default_factory=list)
44
46
 
45
47
 
46
48
  class SkillListResponse(SkillBase):
@@ -71,6 +73,7 @@ class SkillCreateRequest(BaseModel):
71
73
  visibility: SkillVisibility | None = SkillVisibility.PROJECT
72
74
  categories: list[str] | None = Field(default_factory=list)
73
75
  enabled_builtin_subagents: list[str] | None = None
76
+ mcp_servers: list[MCPServerDetails] | None = Field(default_factory=list)
74
77
 
75
78
 
76
79
  class SkillUpdateRequest(BaseModel):
@@ -83,6 +86,7 @@ class SkillUpdateRequest(BaseModel):
83
86
  visibility: SkillVisibility | None = None
84
87
  categories: list[str] | None = None
85
88
  enabled_builtin_subagents: list[str] | None = None
89
+ mcp_servers: list[MCPServerDetails] | None = None
86
90
 
87
91
 
88
92
  class SkillImportRequest(BaseModel):
@@ -9,6 +9,8 @@ Wraps four endpoints introduced in EPMCDME-13983:
9
9
 
10
10
  from ..utils.http import ApiRequestHandler, TokenSource
11
11
 
12
+ MCP_CUSTOM_SERVERS_DISABLED_COMPONENT_ID = "mcpCustomServersDisabled"
13
+
12
14
 
13
15
  class CustomerConfigService:
14
16
  """Service for managing customer configuration overrides via the admin endpoint."""
@@ -60,6 +62,22 @@ class CustomerConfigService:
60
62
  wrap_response=False,
61
63
  )
62
64
 
65
+ def is_mcp_custom_servers_disabled(self) -> bool:
66
+ """Typed read of the effective MCP governance toggle.
67
+
68
+ Backend's resolve_components() filters GET /v1/config to enabled==true
69
+ components only, so the component is PRESENT when the toggle is ON and
70
+ ABSENT when OFF — presence, not an ``enabled`` field, is the signal.
71
+
72
+ Returns:
73
+ True when hand-written/custom MCP servers are currently disallowed
74
+ on save paths (toggle ON); False otherwise (toggle OFF, default).
75
+ """
76
+ return any(
77
+ c.get("id") == MCP_CUSTOM_SERVERS_DISABLED_COMPONENT_ID
78
+ for c in self.get_config()
79
+ )
80
+
63
81
  def save_setting(self, component_id: str, settings: dict) -> dict:
64
82
  """PUT /v1/config/declarations/{component_id} — persist a settings override.
65
83
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.660
3
+ Version: 0.1.661
4
4
  Summary: CodeMie SDK for Python
5
5
  Author: Vadym Vlasenko
6
6
  Author-email: vadym_vlasenko@epam.com
@@ -23,7 +23,7 @@ codemie_sdk/models/llm.py,sha256=ViADvsSAkc85YQyPUkGE3ZvMc5pnHWHO0_rOkLSTfu4,133
23
23
  codemie_sdk/models/mcp_config.py,sha256=mvD2utb4fthjNGAIkZKEkTtHSQQyF2WEYrA7tn-e0Lo,2184
24
24
  codemie_sdk/models/mermaid.py,sha256=dhRgX-itvfyrt0LUg5pbSo0CTH5PewiegqcZn3hWggU,675
25
25
  codemie_sdk/models/project.py,sha256=_iE45WdlAufZIW0XyqwxExOhHhSVY-YLs--68phj5tQ,6983
26
- codemie_sdk/models/skill.py,sha256=hjErtfzjOC6BXftUVnepe5g0ZfQYE1UBVK0rf64ASxQ,5827
26
+ codemie_sdk/models/skill.py,sha256=JIVHubDlPL8tH62AQRL0nMd0vieN6MPGckj9Kuqp7RA,6068
27
27
  codemie_sdk/models/task.py,sha256=YHu5DRnECS2wnqIWZ_YH8Z72p1I4aV3xWFW5joxN_8Q,1442
28
28
  codemie_sdk/models/user.py,sha256=qVTgyqIOSPUo_wtD_6xX25OGBc15_VJUZZfvBdDZf_Q,3531
29
29
  codemie_sdk/models/vendor_assistant.py,sha256=vdpFq8aRlLj7IgRMWTA6pkrq8HZty8rgwA-kWrKKf3A,6357
@@ -45,7 +45,7 @@ codemie_sdk/services/categories.py,sha256=1qd98JCcMNdpbos0O1WpMApT6TurE7OuI7zoYe
45
45
  codemie_sdk/services/codemie_guardrails.py,sha256=O3yCeIQYG8W7z-sVRR4Cw9UVncqP9lPVNxUSaUZrh7I,2833
46
46
  codemie_sdk/services/conversation.py,sha256=5vjCjD5C0j7poJE9J2u_ZHS7_E1pjUa2V3XZ1DlbkyA,14841
47
47
  codemie_sdk/services/cost_center.py,sha256=eybq5DrkHQANegKVbpuLSkiF0J518wDnAGzsweXSQVY,3282
48
- codemie_sdk/services/customer_config_service.py,sha256=EbXXyIhEaHG7Jq3-XBi0EbAp6Bumc1l15XsYXw4qytc,4133
48
+ codemie_sdk/services/customer_config_service.py,sha256=p1bfFCrIWbxT33ItZc7HDd7fvT0tJhESEH2-qZSz8iQ,4883
49
49
  codemie_sdk/services/datasource.py,sha256=6kIaHuMzYcrSCaB6_CXemRm2gMPsNxXTQCDxOtRxhDQ,13991
50
50
  codemie_sdk/services/dynamic_config.py,sha256=amgSOZ-835r6O_U72sjiFe60rrxJZqJ2L7oKCK-avE4,4214
51
51
  codemie_sdk/services/files.py,sha256=ERb6irexO2hIKepUiTw498J0dt0427YNdKrXdcOu9tM,2762
@@ -69,6 +69,6 @@ codemie_sdk/services/workflow_execution.py,sha256=PwavvjFo-9DYVzt06ayIAPApHfnzFW
69
69
  codemie_sdk/services/workflow_execution_state.py,sha256=u1xmGvaHjqvQS5ujhyvJ_Ac7ByjKem2Qe8q0swsmoWw,2045
70
70
  codemie_sdk/utils/__init__.py,sha256=EzK_UrS5KHmAnE73Hci9LaObB5omjVUhIq4svh0gfwo,137
71
71
  codemie_sdk/utils/http.py,sha256=Jh9l4zRPriTEjIKEWBSLdgb-Y0no1n6AnG8f9CkdOQQ,13997
72
- codemie_sdk_python-0.1.660.dist-info/METADATA,sha256=OM4QWJ9697iyRZwwSIxR6u3th5XaqHNKK201NalqhXw,36801
73
- codemie_sdk_python-0.1.660.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
74
- codemie_sdk_python-0.1.660.dist-info/RECORD,,
72
+ codemie_sdk_python-0.1.661.dist-info/METADATA,sha256=w9j8CoJiYgiATfUX_Uuem05fiJ726ppk4VsIZdIdfDM,36801
73
+ codemie_sdk_python-0.1.661.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
74
+ codemie_sdk_python-0.1.661.dist-info/RECORD,,