codemie-sdk-python 0.1.27__tar.gz → 0.1.28__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.

Potentially problematic release.


This version of codemie-sdk-python might be problematic. Click here for more details.

Files changed (29) hide show
  1. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/assistant.py +25 -2
  4. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/README.md +0 -0
  5. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/__init__.py +0 -0
  6. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/auth/__init__.py +0 -0
  7. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/auth/credentials.py +0 -0
  8. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/client/__init__.py +0 -0
  9. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/client/client.py +0 -0
  10. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/exceptions.py +0 -0
  11. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/common.py +0 -0
  12. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/datasource.py +0 -0
  13. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/integration.py +0 -0
  14. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/llm.py +0 -0
  15. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/task.py +0 -0
  16. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/user.py +0 -0
  17. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/workflow.py +0 -0
  18. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/models/workflow_state.py +0 -0
  19. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/assistant.py +0 -0
  20. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/datasource.py +0 -0
  21. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/integration.py +0 -0
  22. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/llm.py +0 -0
  23. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/task.py +0 -0
  24. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/user.py +0 -0
  25. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/workflow.py +0 -0
  26. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/workflow_execution.py +0 -0
  27. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  28. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/utils/__init__.py +0 -0
  29. {codemie_sdk_python-0.1.27 → codemie_sdk_python-0.1.28}/src/codemie_sdk/utils/http.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.27
3
+ Version: 0.1.28
4
4
  Summary: CodeMie SDK for Python
5
5
  Author: Vadym Vlasenko
6
6
  Author-email: vadym_vlasenko@epam.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "codemie-sdk-python"
3
- version = "0.1.27"
3
+ version = "0.1.28"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -3,9 +3,9 @@
3
3
  import uuid
4
4
  from datetime import datetime
5
5
  from enum import Enum
6
- from typing import List, Optional, Any, Union
6
+ from typing import List, Optional, Any, Union, Dict
7
7
 
8
- from pydantic import BaseModel, Field, ConfigDict
8
+ from pydantic import BaseModel, Field, ConfigDict, model_validator
9
9
 
10
10
  from .common import User
11
11
  from .integration import Integration
@@ -171,6 +171,28 @@ class ChatMessage(BaseModel):
171
171
  message: Optional[str] = Field(default="")
172
172
 
173
173
 
174
+ class ToolConfig(BaseModel):
175
+ name: str
176
+ tool_creds: Optional[Dict[str, Any]] = None
177
+ integration_id: Optional[str] = None
178
+
179
+ @model_validator(mode="after")
180
+ def validate_credentials_provided(self) -> "ToolConfig":
181
+ """
182
+ Validate that either tool_creds or integration_id is provided.
183
+
184
+ At least one of these fields must be specified for the tool configuration
185
+ to be valid. This ensures that the tool has a way to obtain credentials.
186
+ """
187
+ if not self.tool_creds and not self.integration_id:
188
+ raise ValueError("Either tool_creds or integration_id must be provided")
189
+ if self.tool_creds and self.integration_id:
190
+ raise ValueError(
191
+ "Either tool_creds or integration_id must be provided, but not both"
192
+ )
193
+ return self
194
+
195
+
174
196
  class AssistantChatRequest(BaseModel):
175
197
  """Model for chat request to assistant."""
176
198
 
@@ -197,6 +219,7 @@ class AssistantChatRequest(BaseModel):
197
219
  metadata: Optional[dict[str, Any]] = Field(
198
220
  default=None, description="Provide additional metadata"
199
221
  )
222
+ tools_config: Optional[List[ToolConfig]] = None
200
223
 
201
224
 
202
225
  class BaseModelResponse(BaseModel):