codemie-sdk-python 0.1.528__tar.gz → 0.1.530__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.
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/PKG-INFO +1 -1
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/pyproject.toml +1 -1
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/client/client.py +4 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/assistant.py +1 -0
- codemie_sdk_python-0.1.530/src/codemie_sdk/models/mcp_config.py +72 -0
- codemie_sdk_python-0.1.530/src/codemie_sdk/services/mcp_configs.py +86 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/README.md +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/__init__.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/auth/__init__.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/auth/credentials.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/client/__init__.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/exceptions.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/__init__.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/activity_event.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/admin.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/analytics.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/categories.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/common.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/conversation.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/datasource.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/errors.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/file_operation.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/guardrails.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/integration.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/llm.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/mermaid.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/project.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/skill.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/task.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/user.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_assistant.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_runtime.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_workflow.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/workflow.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/workflow_state.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/workflow_transition.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/activity_event.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/admin.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/analytics.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/assistant.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/categories.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/conversation.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/datasource.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/files.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/integration.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/llm.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/mermaid.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/project.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/skill.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/task.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/user.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/vendor_assistant.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/vendor_runtime.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/vendor_workflow.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/webhook.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/workflow.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/workflow_execution.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/utils/__init__.py +0 -0
- {codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/utils/http.py +0 -0
|
@@ -26,6 +26,7 @@ from ..services.vendor_guardrail import VendorGuardrailService
|
|
|
26
26
|
from ..services.vendor_runtime import VendorRuntimeService
|
|
27
27
|
from ..services.activity_event import ActivityEventService
|
|
28
28
|
from ..services.codemie_guardrails import CodemieGuardrailService
|
|
29
|
+
from ..services.mcp_configs import MCPConfigsService
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
class CodeMieClient:
|
|
@@ -161,6 +162,9 @@ class CodeMieClient:
|
|
|
161
162
|
self.activity_events = ActivityEventService(
|
|
162
163
|
self._api_domain, _token_source, verify_ssl=self._verify_ssl
|
|
163
164
|
)
|
|
165
|
+
self.mcp_configs = MCPConfigsService(
|
|
166
|
+
self._api_domain, _token_source, verify_ssl=self._verify_ssl
|
|
167
|
+
)
|
|
164
168
|
|
|
165
169
|
@property
|
|
166
170
|
def token(self) -> str:
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/assistant.py
RENAMED
|
@@ -123,6 +123,7 @@ class MCPServerDetails(BaseModel):
|
|
|
123
123
|
description: str | None
|
|
124
124
|
enabled: bool
|
|
125
125
|
mcp_config_id: str | None = None
|
|
126
|
+
use_custom_config: bool = False
|
|
126
127
|
config: MCPServerConfig | None = None
|
|
127
128
|
mcp_connect_url: str | None = None
|
|
128
129
|
tools_tokens_size_limit: int | None = None
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"""MCP Configuration models for Settings > MCPs management."""
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from typing import Any
|
|
5
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class MCPServerConfigData(BaseModel):
|
|
9
|
+
"""MCP server configuration data (mirrors the catalog config format)."""
|
|
10
|
+
|
|
11
|
+
model_config = ConfigDict(extra="ignore")
|
|
12
|
+
|
|
13
|
+
command: str | None = None
|
|
14
|
+
url: str | None = None
|
|
15
|
+
args: list[str] = Field(default_factory=list)
|
|
16
|
+
headers: dict[str, str] = Field(default_factory=dict)
|
|
17
|
+
env: dict[str, Any] = Field(default_factory=dict)
|
|
18
|
+
type: str | None = None
|
|
19
|
+
auth_token: str | None = None
|
|
20
|
+
single_usage: bool = False
|
|
21
|
+
tools: list[str] | None = None
|
|
22
|
+
audience: str | None = None
|
|
23
|
+
auth_config: dict[str, Any] | None = None
|
|
24
|
+
allow_issuer_prefix_match: bool = False
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class MCPConfigCreateRequest(BaseModel):
|
|
28
|
+
"""Request model for creating a global MCP configuration entry."""
|
|
29
|
+
|
|
30
|
+
model_config = ConfigDict(extra="ignore")
|
|
31
|
+
|
|
32
|
+
name: str = Field(..., min_length=1, max_length=255)
|
|
33
|
+
description: str | None = None
|
|
34
|
+
server_home_url: str | None = None
|
|
35
|
+
source_url: str | None = None
|
|
36
|
+
logo_url: str | None = None
|
|
37
|
+
categories: list[str] = Field(default_factory=list)
|
|
38
|
+
config: MCPServerConfigData
|
|
39
|
+
is_public: bool = False
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class MCPConfigResponse(BaseModel):
|
|
43
|
+
"""Response model for a global MCP configuration entry."""
|
|
44
|
+
|
|
45
|
+
model_config = ConfigDict(extra="ignore")
|
|
46
|
+
|
|
47
|
+
id: str
|
|
48
|
+
name: str
|
|
49
|
+
description: str | None = None
|
|
50
|
+
server_home_url: str | None = None
|
|
51
|
+
source_url: str | None = None
|
|
52
|
+
logo_url: str | None = None
|
|
53
|
+
categories: list[str] = Field(default_factory=list)
|
|
54
|
+
config: MCPServerConfigData | None = None
|
|
55
|
+
user_id: str | None = None
|
|
56
|
+
is_public: bool = False
|
|
57
|
+
is_system: bool = False
|
|
58
|
+
usage_count: int = 0
|
|
59
|
+
is_active: bool = True
|
|
60
|
+
date: datetime | None = None
|
|
61
|
+
update_date: datetime | None = None
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class MCPConfigListResponse(BaseModel):
|
|
65
|
+
"""Response model for listing global MCP configurations."""
|
|
66
|
+
|
|
67
|
+
model_config = ConfigDict(extra="ignore")
|
|
68
|
+
|
|
69
|
+
data: list[MCPConfigResponse] = Field(default_factory=list)
|
|
70
|
+
total: int = 0
|
|
71
|
+
page: int = 0
|
|
72
|
+
per_page: int = 20
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"""MCPConfigs service — Settings > MCPs management (global catalog entries)."""
|
|
2
|
+
|
|
3
|
+
from ..models.mcp_config import (
|
|
4
|
+
MCPConfigCreateRequest,
|
|
5
|
+
MCPConfigListResponse,
|
|
6
|
+
MCPConfigResponse,
|
|
7
|
+
)
|
|
8
|
+
from ..utils import ApiRequestHandler, TokenSource
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class MCPConfigsService:
|
|
12
|
+
"""Service for managing global MCP server configurations (Settings > MCPs management)."""
|
|
13
|
+
|
|
14
|
+
def __init__(self, api_domain: str, token: TokenSource, verify_ssl: bool = True):
|
|
15
|
+
self._api = ApiRequestHandler(api_domain, token, verify_ssl)
|
|
16
|
+
|
|
17
|
+
def create(self, request: MCPConfigCreateRequest) -> MCPConfigResponse:
|
|
18
|
+
"""Create a new global MCP configuration entry.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
request: MCPConfigCreateRequest with name, config, etc.
|
|
22
|
+
|
|
23
|
+
Returns:
|
|
24
|
+
Created MCPConfigResponse with id and metadata.
|
|
25
|
+
"""
|
|
26
|
+
return self._api.post(
|
|
27
|
+
"/v1/mcp-configs",
|
|
28
|
+
MCPConfigResponse,
|
|
29
|
+
json_data=request.model_dump(exclude_none=True),
|
|
30
|
+
wrap_response=False,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
def get(self, config_id: str) -> MCPConfigResponse:
|
|
34
|
+
"""Retrieve a single global MCP configuration by ID.
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
config_id: The MCP config entry ID.
|
|
38
|
+
|
|
39
|
+
Returns:
|
|
40
|
+
MCPConfigResponse.
|
|
41
|
+
"""
|
|
42
|
+
return self._api.get(
|
|
43
|
+
f"/v1/mcp-configs/{config_id}",
|
|
44
|
+
MCPConfigResponse,
|
|
45
|
+
wrap_response=False,
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
def list(
|
|
49
|
+
self,
|
|
50
|
+
page: int = 0,
|
|
51
|
+
per_page: int = 20,
|
|
52
|
+
search: str | None = None,
|
|
53
|
+
) -> list[MCPConfigResponse]:
|
|
54
|
+
"""List global MCP configuration entries.
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
page: 0-indexed page number.
|
|
58
|
+
per_page: Items per page (max 100).
|
|
59
|
+
search: Optional search string.
|
|
60
|
+
|
|
61
|
+
Returns:
|
|
62
|
+
List of MCPConfigResponse.
|
|
63
|
+
"""
|
|
64
|
+
params: dict = {"page": page, "per_page": per_page}
|
|
65
|
+
if search:
|
|
66
|
+
params["search"] = search
|
|
67
|
+
|
|
68
|
+
response = self._api.get(
|
|
69
|
+
"/v1/mcp-configs",
|
|
70
|
+
MCPConfigListResponse,
|
|
71
|
+
params=params,
|
|
72
|
+
wrap_response=False,
|
|
73
|
+
)
|
|
74
|
+
return response.data
|
|
75
|
+
|
|
76
|
+
def delete(self, config_id: str) -> None:
|
|
77
|
+
"""Delete a global MCP configuration entry.
|
|
78
|
+
|
|
79
|
+
Args:
|
|
80
|
+
config_id: The MCP config entry ID to delete.
|
|
81
|
+
"""
|
|
82
|
+
self._api.delete(
|
|
83
|
+
f"/v1/mcp-configs/{config_id}",
|
|
84
|
+
dict,
|
|
85
|
+
wrap_response=False,
|
|
86
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/auth/credentials.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/__init__.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/activity_event.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/analytics.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/categories.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/file_operation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/guardrails.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_guardrail.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_runtime.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/vendor_workflow.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/models/workflow_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/activity_event.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/analytics.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/categories.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/mermaid.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/project.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/vendor_runtime.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/webhook.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.528 → codemie_sdk_python-0.1.530}/src/codemie_sdk/services/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|