codemie-sdk-python 0.1.428__tar.gz → 0.1.430__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.428 → codemie_sdk_python-0.1.430}/PKG-INFO +1 -1
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/pyproject.toml +1 -1
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/auth/credentials.py +8 -8
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/client/client.py +8 -8
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/exceptions.py +2 -4
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/admin.py +1 -2
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/analytics.py +17 -17
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/assistant.py +174 -121
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/categories.py +5 -7
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/common.py +5 -5
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/conversation.py +72 -71
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/datasource.py +62 -64
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/errors.py +8 -14
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/file_operation.py +3 -3
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/guardrails.py +3 -5
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/integration.py +9 -9
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/llm.py +14 -15
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/project.py +22 -22
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/skill.py +21 -22
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/task.py +2 -3
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/user.py +7 -12
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/vendor_assistant.py +11 -12
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/vendor_guardrail.py +11 -12
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/vendor_knowledgebase.py +11 -12
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/vendor_workflow.py +10 -11
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/workflow.py +15 -16
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/workflow_execution_payload.py +5 -6
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/workflow_state.py +6 -7
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/workflow_thoughts.py +2 -3
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/admin.py +1 -3
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/analytics.py +22 -24
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/assistant.py +58 -18
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/categories.py +2 -4
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/conversation.py +10 -9
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/datasource.py +12 -10
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/files.py +1 -2
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/integration.py +5 -5
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/llm.py +5 -5
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/project.py +7 -7
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/skill.py +14 -12
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/vendor_assistant.py +4 -4
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/vendor_guardrail.py +4 -4
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/vendor_knowledgebase.py +3 -3
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/vendor_workflow.py +4 -4
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/webhook.py +2 -2
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/workflow.py +14 -12
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/workflow_execution.py +14 -14
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/workflow_execution_state.py +2 -4
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/utils/http.py +23 -27
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/README.md +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/__init__.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/auth/__init__.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/client/__init__.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/__init__.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/mermaid.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/mermaid.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/task.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/services/user.py +0 -0
- {codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/utils/__init__.py +0 -0
{codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/auth/credentials.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import time
|
|
4
4
|
import requests
|
|
5
|
-
from typing import Callable
|
|
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:
|
|
18
|
-
client_secret:
|
|
19
|
-
username:
|
|
20
|
-
password:
|
|
21
|
-
external_token:
|
|
22
|
-
external_idp:
|
|
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:
|
|
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
|
|
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:
|
|
38
|
-
auth_client_secret:
|
|
39
|
-
username:
|
|
40
|
-
password:
|
|
41
|
-
external_token:
|
|
42
|
-
external_idp:
|
|
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:
|
|
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:
|
|
19
|
-
response:
|
|
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:
|
|
11
|
+
applications: list[str] = Field(..., description="List of application names")
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
class ApplicationCreateRequest(BaseModel):
|
{codemie_sdk_python-0.1.428 → codemie_sdk_python-0.1.430}/src/codemie_sdk/models/analytics.py
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Models for analytics-related data structures."""
|
|
2
2
|
|
|
3
|
-
from typing import Any
|
|
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:
|
|
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:
|
|
38
|
+
format: str | None = Field(
|
|
39
39
|
None, description='Format hint: "currency", "percentage", "timestamp"'
|
|
40
40
|
)
|
|
41
|
-
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:
|
|
53
|
+
format: str | None = Field(
|
|
54
54
|
None, description='Format hint: "currency", "percentage", "number"'
|
|
55
55
|
)
|
|
56
|
-
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:
|
|
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:
|
|
73
|
-
rows:
|
|
74
|
-
totals:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
134
|
+
start_date: str | None = Field(
|
|
135
135
|
None, description="ISO 8601 format start date (use with end_date)"
|
|
136
136
|
)
|
|
137
|
-
end_date:
|
|
137
|
+
end_date: str | None = Field(
|
|
138
138
|
None, description="ISO 8601 format end date (use with start_date)"
|
|
139
139
|
)
|
|
140
|
-
users:
|
|
141
|
-
projects:
|
|
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):
|