codemie-sdk-python 0.1.280__tar.gz → 0.1.282__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.280 → codemie_sdk_python-0.1.282}/PKG-INFO +1 -1
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/pyproject.toml +1 -1
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/assistant.py +87 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/assistant.py +14 -7
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/README.md +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/__init__.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/auth/__init__.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/auth/credentials.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/client/__init__.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/client/client.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/exceptions.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/__init__.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/admin.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/common.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/conversation.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/datasource.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/file_operation.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/guardrails.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/integration.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/llm.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/task.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/user.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/vendor_assistant.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/vendor_workflow.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/workflow.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/workflow_state.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/admin.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/conversation.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/datasource.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/files.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/integration.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/llm.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/task.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/user.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/vendor_assistant.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/vendor_workflow.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/webhook.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/workflow.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/workflow_execution.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/utils/__init__.py +0 -0
- {codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/utils/http.py +0 -0
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/assistant.py
RENAMED
|
@@ -216,6 +216,7 @@ class AssistantRequestBase(AssistantBase):
|
|
|
216
216
|
mcp_servers: List[MCPServerDetails] = Field(default_factory=list)
|
|
217
217
|
assistant_ids: List[str] = Field(default_factory=list)
|
|
218
218
|
prompt_variables: List[PromptVariable] = Field(default_factory=list)
|
|
219
|
+
skip_integration_validation: Optional[bool] = Field(default=False)
|
|
219
220
|
|
|
220
221
|
|
|
221
222
|
class AssistantCreateRequest(AssistantRequestBase):
|
|
@@ -230,6 +231,92 @@ class AssistantUpdateRequest(AssistantRequestBase):
|
|
|
230
231
|
pass
|
|
231
232
|
|
|
232
233
|
|
|
234
|
+
class MissingIntegration(BaseModel):
|
|
235
|
+
"""Model representing a single missing tool credential."""
|
|
236
|
+
|
|
237
|
+
model_config = ConfigDict(extra="ignore")
|
|
238
|
+
|
|
239
|
+
toolkit: str = Field(..., description="Toolkit name (e.g., 'Data Management')")
|
|
240
|
+
tool: str = Field(..., description="Tool name (e.g., 'sql')")
|
|
241
|
+
label: str = Field(..., description="Display label for the tool (e.g., 'SQL')")
|
|
242
|
+
credential_type: Optional[str] = Field(
|
|
243
|
+
None, description="Credential type required (e.g., 'AWS', 'Jira')"
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
class MissingIntegrationsByCredentialType(BaseModel):
|
|
248
|
+
"""Model representing missing tools grouped by credential type."""
|
|
249
|
+
|
|
250
|
+
model_config = ConfigDict(extra="ignore")
|
|
251
|
+
|
|
252
|
+
credential_type: str = Field(
|
|
253
|
+
..., description="Credential type (e.g., 'AWS', 'Jira', 'Confluence')"
|
|
254
|
+
)
|
|
255
|
+
missing_tools: List[MissingIntegration] = Field(
|
|
256
|
+
..., description="List of missing tools requiring this credential type"
|
|
257
|
+
)
|
|
258
|
+
# Optional sub-assistant context
|
|
259
|
+
assistant_id: Optional[str] = Field(
|
|
260
|
+
None, description="Sub-assistant ID (if from sub-assistant)"
|
|
261
|
+
)
|
|
262
|
+
assistant_name: Optional[str] = Field(
|
|
263
|
+
None, description="Sub-assistant name (if from sub-assistant)"
|
|
264
|
+
)
|
|
265
|
+
icon_url: Optional[str] = Field(
|
|
266
|
+
None, description="Sub-assistant icon URL (if from sub-assistant)"
|
|
267
|
+
)
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
class IntegrationValidationResult(BaseModel):
|
|
271
|
+
"""Complete validation result for assistant integrations."""
|
|
272
|
+
|
|
273
|
+
model_config = ConfigDict(extra="ignore")
|
|
274
|
+
|
|
275
|
+
has_missing_integrations: bool = Field(
|
|
276
|
+
..., description="Whether any integrations are missing"
|
|
277
|
+
)
|
|
278
|
+
missing_by_credential_type: List[MissingIntegrationsByCredentialType] = Field(
|
|
279
|
+
default_factory=list,
|
|
280
|
+
description="Missing tools in main assistant grouped by credential type",
|
|
281
|
+
)
|
|
282
|
+
sub_assistants_missing: List[MissingIntegrationsByCredentialType] = Field(
|
|
283
|
+
default_factory=list,
|
|
284
|
+
description="Missing tools in sub-assistants grouped by credential type",
|
|
285
|
+
)
|
|
286
|
+
message: Optional[str] = Field(
|
|
287
|
+
None, description="User-friendly message about missing integrations"
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
class AssistantCreateResponse(BaseModel):
|
|
292
|
+
"""Response model for assistant creation with validation."""
|
|
293
|
+
|
|
294
|
+
model_config = ConfigDict(extra="ignore", populate_by_name=True)
|
|
295
|
+
|
|
296
|
+
message: str = Field(..., description="Response message")
|
|
297
|
+
assistant_id: Optional[str] = Field(
|
|
298
|
+
None,
|
|
299
|
+
alias="assistantId",
|
|
300
|
+
description="Created assistant ID (None if validation failed)",
|
|
301
|
+
)
|
|
302
|
+
validation: Optional[IntegrationValidationResult] = Field(
|
|
303
|
+
None,
|
|
304
|
+
description="Validation result (populated if validation found missing integrations)",
|
|
305
|
+
)
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
class AssistantUpdateResponse(BaseModel):
|
|
309
|
+
"""Response model for assistant update with validation."""
|
|
310
|
+
|
|
311
|
+
model_config = ConfigDict(extra="ignore")
|
|
312
|
+
|
|
313
|
+
message: str = Field(..., description="Response message")
|
|
314
|
+
validation: Optional[IntegrationValidationResult] = Field(
|
|
315
|
+
None,
|
|
316
|
+
description="Validation result (populated if validation found missing integrations)",
|
|
317
|
+
)
|
|
318
|
+
|
|
319
|
+
|
|
233
320
|
class AssistantVersion(BaseModel):
|
|
234
321
|
"""Immutable snapshot of assistant configuration for a specific version."""
|
|
235
322
|
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/assistant.py
RENAMED
|
@@ -14,6 +14,8 @@ from ..models.assistant import (
|
|
|
14
14
|
Assistant,
|
|
15
15
|
AssistantCreateRequest,
|
|
16
16
|
AssistantUpdateRequest,
|
|
17
|
+
AssistantCreateResponse,
|
|
18
|
+
AssistantUpdateResponse,
|
|
17
19
|
ToolKitDetails,
|
|
18
20
|
AssistantChatRequest,
|
|
19
21
|
BaseModelResponse,
|
|
@@ -90,20 +92,24 @@ class AssistantService:
|
|
|
90
92
|
"""
|
|
91
93
|
return self._api.get(f"/v1/assistants/slug/{slug}", Assistant)
|
|
92
94
|
|
|
93
|
-
def create(self, request: AssistantCreateRequest) ->
|
|
95
|
+
def create(self, request: AssistantCreateRequest) -> AssistantCreateResponse:
|
|
94
96
|
"""Create a new assistant.
|
|
95
97
|
|
|
96
98
|
Args:
|
|
97
99
|
request: Assistant creation request
|
|
98
100
|
|
|
99
101
|
Returns:
|
|
100
|
-
|
|
102
|
+
AssistantCreateResponse with assistant_id and optional validation results
|
|
101
103
|
"""
|
|
102
104
|
return self._api.post(
|
|
103
|
-
"/v1/assistants",
|
|
105
|
+
"/v1/assistants",
|
|
106
|
+
AssistantCreateResponse,
|
|
107
|
+
json_data=request.model_dump(exclude_none=True),
|
|
104
108
|
)
|
|
105
109
|
|
|
106
|
-
def update(
|
|
110
|
+
def update(
|
|
111
|
+
self, assistant_id: str, request: AssistantUpdateRequest
|
|
112
|
+
) -> AssistantUpdateResponse:
|
|
107
113
|
"""Update an existing assistant.
|
|
108
114
|
|
|
109
115
|
Args:
|
|
@@ -111,11 +117,11 @@ class AssistantService:
|
|
|
111
117
|
request: Assistant update request
|
|
112
118
|
|
|
113
119
|
Returns:
|
|
114
|
-
|
|
120
|
+
AssistantUpdateResponse with optional validation results
|
|
115
121
|
"""
|
|
116
122
|
return self._api.put(
|
|
117
123
|
f"/v1/assistants/{assistant_id}",
|
|
118
|
-
|
|
124
|
+
AssistantUpdateResponse,
|
|
119
125
|
json_data=request.model_dump(exclude_none=True),
|
|
120
126
|
)
|
|
121
127
|
|
|
@@ -296,7 +302,8 @@ class AssistantService:
|
|
|
296
302
|
if hasattr(version, "assistant_ids")
|
|
297
303
|
else assistant.assistant_ids,
|
|
298
304
|
)
|
|
299
|
-
|
|
305
|
+
update_resp = self.update(assistant_id, update_req)
|
|
306
|
+
resp = update_resp.model_dump()
|
|
300
307
|
resp["_rollback_fallback"] = True
|
|
301
308
|
resp["_target_version"] = version_number
|
|
302
309
|
if change_notes:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/auth/credentials.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/datasource.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/file_operation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/guardrails.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/vendor_assistant.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/vendor_guardrail.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/vendor_workflow.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/models/workflow_state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/conversation.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/datasource.py
RENAMED
|
File without changes
|
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/integration.py
RENAMED
|
File without changes
|
|
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.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/webhook.py
RENAMED
|
File without changes
|
{codemie_sdk_python-0.1.280 → codemie_sdk_python-0.1.282}/src/codemie_sdk/services/workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|