codemie-sdk-python 0.1.428__tar.gz → 0.1.429__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.
Files changed (60) hide show
  1. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/auth/credentials.py +8 -8
  4. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/client/client.py +8 -8
  5. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/exceptions.py +2 -4
  6. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/admin.py +1 -2
  7. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/analytics.py +17 -17
  8. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/assistant.py +115 -121
  9. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/categories.py +5 -7
  10. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/common.py +5 -5
  11. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/conversation.py +72 -71
  12. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/datasource.py +62 -64
  13. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/errors.py +8 -14
  14. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/file_operation.py +3 -3
  15. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/guardrails.py +3 -5
  16. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/integration.py +9 -9
  17. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/llm.py +14 -15
  18. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/project.py +22 -22
  19. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/skill.py +21 -22
  20. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/task.py +2 -3
  21. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/user.py +7 -12
  22. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/vendor_assistant.py +11 -12
  23. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/vendor_guardrail.py +11 -12
  24. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/vendor_knowledgebase.py +11 -12
  25. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/vendor_workflow.py +10 -11
  26. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/workflow.py +15 -16
  27. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/workflow_execution_payload.py +5 -6
  28. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/workflow_state.py +6 -7
  29. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/workflow_thoughts.py +2 -3
  30. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/admin.py +1 -3
  31. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/analytics.py +22 -24
  32. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/assistant.py +20 -18
  33. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/categories.py +2 -4
  34. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/conversation.py +10 -9
  35. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/datasource.py +12 -10
  36. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/files.py +1 -2
  37. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/integration.py +5 -5
  38. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/llm.py +5 -5
  39. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/project.py +7 -7
  40. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/skill.py +14 -12
  41. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/vendor_assistant.py +4 -4
  42. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/vendor_guardrail.py +4 -4
  43. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/vendor_knowledgebase.py +3 -3
  44. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/vendor_workflow.py +4 -4
  45. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/webhook.py +2 -2
  46. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/workflow.py +14 -12
  47. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/workflow_execution.py +14 -14
  48. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/workflow_execution_state.py +2 -4
  49. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/utils/http.py +23 -27
  50. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/README.md +0 -0
  51. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/__init__.py +0 -0
  52. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/auth/__init__.py +0 -0
  53. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/client/__init__.py +0 -0
  54. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/__init__.py +0 -0
  55. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/models/mermaid.py +0 -0
  56. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  57. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/mermaid.py +0 -0
  58. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/task.py +0 -0
  59. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/services/user.py +0 -0
  60. {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.429}/src/codemie_sdk/utils/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.428
3
+ Version: 0.1.429
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.428"
3
+ version = "0.1.429"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -2,7 +2,7 @@
2
2
 
3
3
  import time
4
4
  import requests
5
- from typing import Callable, Optional, Union
5
+ from typing import Callable
6
6
 
7
7
 
8
8
  class KeycloakCredentials:
@@ -14,12 +14,12 @@ class KeycloakCredentials:
14
14
  self,
15
15
  server_url: str,
16
16
  realm_name: str,
17
- client_id: Optional[str] = None,
18
- client_secret: Optional[str] = None,
19
- username: Optional[str] = None,
20
- password: Optional[str] = None,
21
- external_token: Optional[Union[str, Callable[[], str]]] = None,
22
- external_idp: Optional[str] = None,
17
+ client_id: str | None = None,
18
+ client_secret: str | None = None,
19
+ username: str | None = None,
20
+ password: str | None = None,
21
+ external_token: str | Callable[[], str] | None = None,
22
+ external_idp: str | None = None,
23
23
  verify_ssl: bool = True,
24
24
  ):
25
25
  """Initialize Keycloak credentials.
@@ -44,7 +44,7 @@ class KeycloakCredentials:
44
44
  self.external_token = external_token
45
45
  self.external_idp = external_idp
46
46
  self.verify_ssl = verify_ssl
47
- self._cached_token: Optional[str] = None
47
+ self._cached_token: str | None = None
48
48
  self._token_expires_at: float = 0.0
49
49
 
50
50
  def get_token(self) -> str:
@@ -1,6 +1,6 @@
1
1
  """Base client implementation for CodeMie SDK."""
2
2
 
3
- from typing import Optional
3
+ from typing import Callable
4
4
 
5
5
  from ..auth.credentials import KeycloakCredentials
6
6
  from ..services.admin import AdminService
@@ -34,12 +34,12 @@ class CodeMieClient:
34
34
  auth_server_url: str,
35
35
  auth_realm_name: str,
36
36
  codemie_api_domain: str,
37
- auth_client_id: Optional[str] = None,
38
- auth_client_secret: Optional[str] = None,
39
- username: Optional[str] = None,
40
- password: Optional[str] = None,
41
- external_token: Optional[str] = None,
42
- external_idp: Optional[str] = None,
37
+ auth_client_id: str | None = None,
38
+ auth_client_secret: str | None = None,
39
+ username: str | None = None,
40
+ password: str | None = None,
41
+ external_token: str | Callable[[], str] | None = None,
42
+ external_idp: str | None = None,
43
43
  verify_ssl: bool = True,
44
44
  ):
45
45
  """Initialize CodeMie client with authentication credentials.
@@ -68,7 +68,7 @@ class CodeMieClient:
68
68
  verify_ssl=verify_ssl,
69
69
  )
70
70
 
71
- self._token: Optional[str] = None
71
+ self._token: str | None = None
72
72
  self._api_domain = codemie_api_domain.rstrip("/")
73
73
  self._is_localhost = self._is_localhost_domain(self._api_domain)
74
74
  self._verify_ssl = verify_ssl
@@ -1,7 +1,5 @@
1
1
  """Custom exceptions for the CodeMie SDK."""
2
2
 
3
- from typing import Optional
4
-
5
3
 
6
4
  class CodeMieError(Exception):
7
5
  """Base exception for all CodeMie SDK errors."""
@@ -15,8 +13,8 @@ class ApiError(CodeMieError):
15
13
  def __init__(
16
14
  self,
17
15
  message: str,
18
- status_code: Optional[int] = None,
19
- response: Optional[dict] = None,
16
+ status_code: int | None = None,
17
+ response: dict | None = None,
20
18
  ):
21
19
  """Initialize API error.
22
20
 
@@ -1,6 +1,5 @@
1
1
  """Admin models for managing applications/projects."""
2
2
 
3
- from typing import List
4
3
  from pydantic import BaseModel, ConfigDict, Field
5
4
 
6
5
 
@@ -9,7 +8,7 @@ class ApplicationsListResponse(BaseModel):
9
8
 
10
9
  model_config = ConfigDict(extra="ignore")
11
10
 
12
- applications: List[str] = Field(..., description="List of application names")
11
+ applications: list[str] = Field(..., description="List of application names")
13
12
 
14
13
 
15
14
  class ApplicationCreateRequest(BaseModel):
@@ -1,6 +1,6 @@
1
1
  """Models for analytics-related data structures."""
2
2
 
3
- from typing import Any, Dict, List, Optional
3
+ from typing import Any
4
4
 
5
5
  from pydantic import BaseModel, ConfigDict, Field
6
6
 
@@ -12,7 +12,7 @@ class ResponseMetadata(BaseModel):
12
12
 
13
13
  timestamp: str = Field(description="ISO 8601 timestamp when response generated")
14
14
  data_as_of: str = Field(description="ISO 8601 timestamp of data freshness")
15
- filters_applied: Dict[str, Any] = Field(description="Applied filters")
15
+ filters_applied: dict[str, Any] = Field(description="Applied filters")
16
16
  execution_time_ms: float = Field(description="Query execution time in milliseconds")
17
17
 
18
18
 
@@ -35,10 +35,10 @@ class ColumnDefinition(BaseModel):
35
35
  id: str = Field(description="Column identifier")
36
36
  label: str = Field(description="Human-readable label")
37
37
  type: str = Field(description='Data type: "string", "number", "date"')
38
- format: Optional[str] = Field(
38
+ format: str | None = Field(
39
39
  None, description='Format hint: "currency", "percentage", "timestamp"'
40
40
  )
41
- description: Optional[str] = Field(None, description="Column description")
41
+ description: str | None = Field(None, description="Column description")
42
42
 
43
43
 
44
44
  class Metric(BaseModel):
@@ -50,10 +50,10 @@ class Metric(BaseModel):
50
50
  label: str = Field(description="Human-readable label")
51
51
  type: str = Field(description="Data type")
52
52
  value: Any = Field(description="Metric value (int, float, str, etc.)")
53
- format: Optional[str] = Field(
53
+ format: str | None = Field(
54
54
  None, description='Format hint: "currency", "percentage", "number"'
55
55
  )
56
- description: Optional[str] = Field(None, description="Metric description")
56
+ description: str | None = Field(None, description="Metric description")
57
57
 
58
58
 
59
59
  class SummariesData(BaseModel):
@@ -61,7 +61,7 @@ class SummariesData(BaseModel):
61
61
 
62
62
  model_config = ConfigDict(extra="ignore")
63
63
 
64
- metrics: List[Metric] = Field(description="Array of metrics")
64
+ metrics: list[Metric] = Field(description="Array of metrics")
65
65
 
66
66
 
67
67
  class TabularData(BaseModel):
@@ -69,9 +69,9 @@ class TabularData(BaseModel):
69
69
 
70
70
  model_config = ConfigDict(extra="ignore")
71
71
 
72
- columns: List[ColumnDefinition] = Field(description="Column definitions")
73
- rows: List[Dict[str, Any]] = Field(description="Data rows (dict per row)")
74
- totals: Optional[Dict[str, Any]] = Field(None, description="Optional totals row")
72
+ columns: list[ColumnDefinition] = Field(description="Column definitions")
73
+ rows: list[dict[str, Any]] = Field(description="Data rows (dict per row)")
74
+ totals: dict[str, Any] | None = Field(None, description="Optional totals row")
75
75
 
76
76
 
77
77
  class UserListItem(BaseModel):
@@ -88,7 +88,7 @@ class UsersListData(BaseModel):
88
88
 
89
89
  model_config = ConfigDict(extra="ignore")
90
90
 
91
- users: List[UserListItem] = Field(description="List of users")
91
+ users: list[UserListItem] = Field(description="List of users")
92
92
  total_count: int = Field(description="Total number of users")
93
93
 
94
94
 
@@ -108,7 +108,7 @@ class TabularResponse(BaseModel):
108
108
 
109
109
  data: TabularData = Field(description="Tabular data")
110
110
  metadata: ResponseMetadata = Field(description="Response metadata")
111
- pagination: Optional[PaginationMetadata] = Field(
111
+ pagination: PaginationMetadata | None = Field(
112
112
  None, description="Optional pagination metadata"
113
113
  )
114
114
 
@@ -127,18 +127,18 @@ class AnalyticsQueryParams(BaseModel):
127
127
 
128
128
  model_config = ConfigDict(extra="ignore")
129
129
 
130
- time_period: Optional[str] = Field(
130
+ time_period: str | None = Field(
131
131
  None,
132
132
  description='Time period: "last_hour", "last_6_hours", "last_24_hours", "last_7_days", "last_30_days", "last_90_days", "last_year"',
133
133
  )
134
- start_date: Optional[str] = Field(
134
+ start_date: str | None = Field(
135
135
  None, description="ISO 8601 format start date (use with end_date)"
136
136
  )
137
- end_date: Optional[str] = Field(
137
+ end_date: str | None = Field(
138
138
  None, description="ISO 8601 format end date (use with start_date)"
139
139
  )
140
- users: Optional[str] = Field(None, description="Comma-separated user IDs")
141
- projects: Optional[str] = Field(None, description="Comma-separated project names")
140
+ users: str | None = Field(None, description="Comma-separated user IDs")
141
+ projects: str | None = Field(None, description="Comma-separated project names")
142
142
 
143
143
 
144
144
  class PaginatedAnalyticsQueryParams(AnalyticsQueryParams):