codemie-sdk-python 0.1.690__py3-none-any.whl → 0.1.692__py3-none-any.whl
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/__init__.py +14 -0
- codemie_sdk/models/analytics.py +190 -0
- codemie_sdk/models/project.py +18 -0
- codemie_sdk/services/analytics.py +97 -0
- codemie_sdk/services/project.py +29 -0
- {codemie_sdk_python-0.1.690.dist-info → codemie_sdk_python-0.1.692.dist-info}/METADATA +1 -1
- {codemie_sdk_python-0.1.690.dist-info → codemie_sdk_python-0.1.692.dist-info}/RECORD +8 -8
- {codemie_sdk_python-0.1.690.dist-info → codemie_sdk_python-0.1.692.dist-info}/WHEEL +0 -0
codemie_sdk/__init__.py
CHANGED
|
@@ -93,6 +93,13 @@ from .models.analytics import (
|
|
|
93
93
|
UsersListResponse,
|
|
94
94
|
AnalyticsQueryParams,
|
|
95
95
|
PaginatedAnalyticsQueryParams,
|
|
96
|
+
CliAnalyticsQueryParams,
|
|
97
|
+
CliAnalyticsSessionsQueryParams,
|
|
98
|
+
CliAnalyticsCostResponse,
|
|
99
|
+
CliAnalyticsUsersResponse,
|
|
100
|
+
CliAnalyticsSessionsResponse,
|
|
101
|
+
CliAnalyticsSessionDetailResponse,
|
|
102
|
+
CliAnalyticsRepositoriesResponse,
|
|
96
103
|
)
|
|
97
104
|
from .services.customer_config_service import CustomerConfigService
|
|
98
105
|
from .services.vendor_assistant import VendorAssistantService
|
|
@@ -253,6 +260,13 @@ __all__ = [
|
|
|
253
260
|
"UsersListResponse",
|
|
254
261
|
"AnalyticsQueryParams",
|
|
255
262
|
"PaginatedAnalyticsQueryParams",
|
|
263
|
+
"CliAnalyticsQueryParams",
|
|
264
|
+
"CliAnalyticsSessionsQueryParams",
|
|
265
|
+
"CliAnalyticsCostResponse",
|
|
266
|
+
"CliAnalyticsUsersResponse",
|
|
267
|
+
"CliAnalyticsSessionsResponse",
|
|
268
|
+
"CliAnalyticsSessionDetailResponse",
|
|
269
|
+
"CliAnalyticsRepositoriesResponse",
|
|
256
270
|
"AnalyticsService",
|
|
257
271
|
"CustomerConfigService",
|
|
258
272
|
"MermaidDiagramRequest",
|
codemie_sdk/models/analytics.py
CHANGED
|
@@ -146,3 +146,193 @@ class PaginatedAnalyticsQueryParams(AnalyticsQueryParams):
|
|
|
146
146
|
|
|
147
147
|
page: int = Field(0, description="Zero-indexed page number")
|
|
148
148
|
per_page: int = Field(20, description="Items per page")
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
# ── CLI Analytics: /v1/analytics/cli-analytics/* ─────────────────────────────
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class CliAnalyticsQueryParams(AnalyticsQueryParams):
|
|
155
|
+
"""Filters shared by the /v1/analytics/cli-analytics/* read endpoints."""
|
|
156
|
+
|
|
157
|
+
repositories: str | None = Field(
|
|
158
|
+
None, description="Comma-separated repository names"
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
class CliAnalyticsSessionsQueryParams(CliAnalyticsQueryParams):
|
|
163
|
+
"""Query parameters of the CLI Analytics session list."""
|
|
164
|
+
|
|
165
|
+
page: int | None = Field(None, description="Zero-indexed page number")
|
|
166
|
+
per_page: int | None = Field(None, description="Items per page")
|
|
167
|
+
is_unattributed: bool | None = Field(
|
|
168
|
+
None, description="Only sessions with no attributed repository"
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
class CliAnalyticsMetadata(BaseModel):
|
|
173
|
+
"""Metadata of CLI Analytics responses."""
|
|
174
|
+
|
|
175
|
+
model_config = ConfigDict(extra="ignore")
|
|
176
|
+
|
|
177
|
+
timestamp: str = Field(description="ISO 8601 timestamp when response generated")
|
|
178
|
+
data_as_of: str = Field(description="ISO 8601 date/datetime of the newest data")
|
|
179
|
+
execution_time_ms: float = Field(description="Query execution time in milliseconds")
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class CliAnalyticsCostKpis(BaseModel):
|
|
183
|
+
"""Totals of the CLI Analytics cost breakdown."""
|
|
184
|
+
|
|
185
|
+
model_config = ConfigDict(extra="ignore")
|
|
186
|
+
|
|
187
|
+
total_sessions: int
|
|
188
|
+
total_cost_usd: float
|
|
189
|
+
total_tokens: int
|
|
190
|
+
avg_cost_per_session: float
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
class CliAnalyticsCostByUser(BaseModel):
|
|
194
|
+
"""Cost of one user."""
|
|
195
|
+
|
|
196
|
+
model_config = ConfigDict(extra="ignore")
|
|
197
|
+
|
|
198
|
+
developer_name: str
|
|
199
|
+
cost_usd: float
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
class CliAnalyticsCostByModel(BaseModel):
|
|
203
|
+
"""Cost of one model."""
|
|
204
|
+
|
|
205
|
+
model_config = ConfigDict(extra="ignore")
|
|
206
|
+
|
|
207
|
+
model_name: str
|
|
208
|
+
cost_usd: float
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
class CliAnalyticsCostData(BaseModel):
|
|
212
|
+
"""Cost breakdown data."""
|
|
213
|
+
|
|
214
|
+
model_config = ConfigDict(extra="ignore")
|
|
215
|
+
|
|
216
|
+
kpis: CliAnalyticsCostKpis
|
|
217
|
+
cost_by_user: list[CliAnalyticsCostByUser] = Field(default_factory=list)
|
|
218
|
+
cost_by_model: list[CliAnalyticsCostByModel] = Field(default_factory=list)
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class CliAnalyticsCostResponse(BaseModel):
|
|
222
|
+
"""Response of GET /v1/analytics/cli-analytics/cost."""
|
|
223
|
+
|
|
224
|
+
model_config = ConfigDict(extra="ignore")
|
|
225
|
+
|
|
226
|
+
data: CliAnalyticsCostData
|
|
227
|
+
metadata: CliAnalyticsMetadata
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
class CliAnalyticsUserRow(BaseModel):
|
|
231
|
+
"""One user of the CLI Analytics user leaderboard."""
|
|
232
|
+
|
|
233
|
+
model_config = ConfigDict(extra="ignore")
|
|
234
|
+
|
|
235
|
+
developer_name: str = Field(description="Resolved user email")
|
|
236
|
+
session_count: int
|
|
237
|
+
input_tokens: int
|
|
238
|
+
output_tokens: int
|
|
239
|
+
cache_read_tokens: int
|
|
240
|
+
cache_creation_tokens: int
|
|
241
|
+
cost_usd: float
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
class CliAnalyticsUsersData(BaseModel):
|
|
245
|
+
"""User leaderboard data."""
|
|
246
|
+
|
|
247
|
+
model_config = ConfigDict(extra="ignore")
|
|
248
|
+
|
|
249
|
+
rows: list[CliAnalyticsUserRow]
|
|
250
|
+
avg_session_duration_ms: int | None = None
|
|
251
|
+
total_count: int | None = None
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
class CliAnalyticsUsersResponse(BaseModel):
|
|
255
|
+
"""Response of GET /v1/analytics/cli-analytics/users."""
|
|
256
|
+
|
|
257
|
+
model_config = ConfigDict(extra="ignore")
|
|
258
|
+
|
|
259
|
+
data: CliAnalyticsUsersData
|
|
260
|
+
metadata: CliAnalyticsMetadata
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
class CliAnalyticsSessionRow(BaseModel):
|
|
264
|
+
"""One CLI session."""
|
|
265
|
+
|
|
266
|
+
model_config = ConfigDict(extra="ignore")
|
|
267
|
+
|
|
268
|
+
trace_id: str = Field(description="Session id")
|
|
269
|
+
developer_name: str = Field(description="Resolved user email")
|
|
270
|
+
repository: str | None = Field(None, description="None when unattributed")
|
|
271
|
+
branch: str | None = None
|
|
272
|
+
start_time: str = Field(description="ISO 8601 session start")
|
|
273
|
+
duration_ms: int = Field(description="Session start to its last event")
|
|
274
|
+
model_name: str
|
|
275
|
+
input_tokens: int
|
|
276
|
+
output_tokens: int
|
|
277
|
+
cache_read_tokens: int = 0
|
|
278
|
+
cache_creation_tokens: int = 0
|
|
279
|
+
cost_usd: float
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
class CliAnalyticsSessionsData(BaseModel):
|
|
283
|
+
"""Session list data."""
|
|
284
|
+
|
|
285
|
+
model_config = ConfigDict(extra="ignore")
|
|
286
|
+
|
|
287
|
+
sessions: list[CliAnalyticsSessionRow]
|
|
288
|
+
page: int
|
|
289
|
+
per_page: int
|
|
290
|
+
total: int
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
class CliAnalyticsSessionsResponse(BaseModel):
|
|
294
|
+
"""Response of GET /v1/analytics/cli-analytics/sessions."""
|
|
295
|
+
|
|
296
|
+
model_config = ConfigDict(extra="ignore")
|
|
297
|
+
|
|
298
|
+
data: CliAnalyticsSessionsData
|
|
299
|
+
metadata: CliAnalyticsMetadata
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
class CliAnalyticsSessionDetailResponse(BaseModel):
|
|
303
|
+
"""Response of GET /v1/analytics/cli-analytics/sessions/{trace_id}."""
|
|
304
|
+
|
|
305
|
+
model_config = ConfigDict(extra="ignore")
|
|
306
|
+
|
|
307
|
+
data: CliAnalyticsSessionRow
|
|
308
|
+
metadata: CliAnalyticsMetadata
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
class CliAnalyticsRepositoryRow(BaseModel):
|
|
312
|
+
"""One repository (or repository branch) of the CLI Analytics breakdown."""
|
|
313
|
+
|
|
314
|
+
model_config = ConfigDict(extra="ignore")
|
|
315
|
+
|
|
316
|
+
repository: str | None = Field(None, description="None for unattributed sessions")
|
|
317
|
+
branch: str | None = None
|
|
318
|
+
session_count: int
|
|
319
|
+
cost_usd: float
|
|
320
|
+
project_name: str | None = None
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
class CliAnalyticsRepositoriesData(BaseModel):
|
|
324
|
+
"""Repository breakdown data."""
|
|
325
|
+
|
|
326
|
+
model_config = ConfigDict(extra="ignore")
|
|
327
|
+
|
|
328
|
+
rows: list[CliAnalyticsRepositoryRow]
|
|
329
|
+
pagination: PaginationMetadata
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
class CliAnalyticsRepositoriesResponse(BaseModel):
|
|
333
|
+
"""Response of GET /v1/analytics/cli-analytics/repositories."""
|
|
334
|
+
|
|
335
|
+
model_config = ConfigDict(extra="ignore")
|
|
336
|
+
|
|
337
|
+
data: CliAnalyticsRepositoriesData
|
|
338
|
+
metadata: CliAnalyticsMetadata
|
codemie_sdk/models/project.py
CHANGED
|
@@ -176,6 +176,24 @@ class ProjectUpdateRequest(BaseModel):
|
|
|
176
176
|
chargeback_attribution: str | None = None
|
|
177
177
|
|
|
178
178
|
|
|
179
|
+
class ProjectOwnershipUpdateRequest(BaseModel):
|
|
180
|
+
"""Request to transfer project ownership to another user."""
|
|
181
|
+
|
|
182
|
+
model_config = ConfigDict(extra="ignore")
|
|
183
|
+
|
|
184
|
+
user_id: str
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
class ProjectOwnershipUpdateResponse(BaseModel):
|
|
188
|
+
"""Response after transferring project ownership."""
|
|
189
|
+
|
|
190
|
+
model_config = ConfigDict(extra="ignore")
|
|
191
|
+
|
|
192
|
+
name: str
|
|
193
|
+
created_by: str
|
|
194
|
+
message: str
|
|
195
|
+
|
|
196
|
+
|
|
179
197
|
class ProjectDeleteResponse(BaseModel):
|
|
180
198
|
"""Response after deleting a project."""
|
|
181
199
|
|
|
@@ -4,6 +4,13 @@ import json
|
|
|
4
4
|
|
|
5
5
|
from ..models.analytics import (
|
|
6
6
|
AnalyticsQueryParams,
|
|
7
|
+
CliAnalyticsCostResponse,
|
|
8
|
+
CliAnalyticsQueryParams,
|
|
9
|
+
CliAnalyticsRepositoriesResponse,
|
|
10
|
+
CliAnalyticsSessionDetailResponse,
|
|
11
|
+
CliAnalyticsSessionsQueryParams,
|
|
12
|
+
CliAnalyticsSessionsResponse,
|
|
13
|
+
CliAnalyticsUsersResponse,
|
|
7
14
|
PaginatedAnalyticsQueryParams,
|
|
8
15
|
SummariesResponse,
|
|
9
16
|
TabularResponse,
|
|
@@ -581,3 +588,93 @@ class AnalyticsService:
|
|
|
581
588
|
params=kwargs if kwargs else None,
|
|
582
589
|
wrap_response=False,
|
|
583
590
|
)
|
|
591
|
+
|
|
592
|
+
# ── CLI Analytics: /v1/analytics/cli-analytics/* ─────────────────────────
|
|
593
|
+
|
|
594
|
+
def ingest_cli_analytics_event_hooks(self, events: list[dict]) -> None:
|
|
595
|
+
"""POST /v1/analytics/cli-analytics/event-hooks — send CLI hook events.
|
|
596
|
+
|
|
597
|
+
The endpoint takes NDJSON (one event per line); each event is posted as
|
|
598
|
+
its own single-line body.
|
|
599
|
+
|
|
600
|
+
Args:
|
|
601
|
+
events: Hook events, e.g. ``agent.session.start``, ``agent.usage.request``
|
|
602
|
+
"""
|
|
603
|
+
for event in events:
|
|
604
|
+
self._api.post(
|
|
605
|
+
"/v1/analytics/cli-analytics/event-hooks",
|
|
606
|
+
dict,
|
|
607
|
+
json_data=event,
|
|
608
|
+
wrap_response=False,
|
|
609
|
+
extra_headers={"Content-Type": "application/x-ndjson"},
|
|
610
|
+
)
|
|
611
|
+
|
|
612
|
+
def ingest_cli_analytics_logs(self, payload: dict) -> None:
|
|
613
|
+
"""POST /v1/analytics/cli-analytics/logs — send OTLP logs as JSON.
|
|
614
|
+
|
|
615
|
+
Args:
|
|
616
|
+
payload: An OTLP ``ExportLogsServiceRequest`` in its JSON form
|
|
617
|
+
"""
|
|
618
|
+
self._api.post(
|
|
619
|
+
"/v1/analytics/cli-analytics/logs",
|
|
620
|
+
dict,
|
|
621
|
+
json_data=payload,
|
|
622
|
+
wrap_response=False,
|
|
623
|
+
)
|
|
624
|
+
|
|
625
|
+
def get_cli_analytics_cost(
|
|
626
|
+
self, params: CliAnalyticsQueryParams | None = None
|
|
627
|
+
) -> CliAnalyticsCostResponse:
|
|
628
|
+
"""GET /v1/analytics/cli-analytics/cost — session, token and cost totals."""
|
|
629
|
+
return self._api.get(
|
|
630
|
+
"/v1/analytics/cli-analytics/cost",
|
|
631
|
+
CliAnalyticsCostResponse,
|
|
632
|
+
params=params.model_dump(exclude_none=True) if params else {},
|
|
633
|
+
wrap_response=False,
|
|
634
|
+
)
|
|
635
|
+
|
|
636
|
+
def get_cli_analytics_users(
|
|
637
|
+
self, params: CliAnalyticsQueryParams | None = None
|
|
638
|
+
) -> CliAnalyticsUsersResponse:
|
|
639
|
+
"""GET /v1/analytics/cli-analytics/users — per-user sessions and tokens."""
|
|
640
|
+
return self._api.get(
|
|
641
|
+
"/v1/analytics/cli-analytics/users",
|
|
642
|
+
CliAnalyticsUsersResponse,
|
|
643
|
+
params=params.model_dump(exclude_none=True) if params else {},
|
|
644
|
+
wrap_response=False,
|
|
645
|
+
)
|
|
646
|
+
|
|
647
|
+
def get_cli_analytics_sessions(
|
|
648
|
+
self, params: CliAnalyticsSessionsQueryParams | None = None
|
|
649
|
+
) -> CliAnalyticsSessionsResponse:
|
|
650
|
+
"""GET /v1/analytics/cli-analytics/sessions — paginated session list."""
|
|
651
|
+
return self._api.get(
|
|
652
|
+
"/v1/analytics/cli-analytics/sessions",
|
|
653
|
+
CliAnalyticsSessionsResponse,
|
|
654
|
+
params=params.model_dump(exclude_none=True) if params else {},
|
|
655
|
+
wrap_response=False,
|
|
656
|
+
)
|
|
657
|
+
|
|
658
|
+
def get_cli_analytics_session(
|
|
659
|
+
self, trace_id: str
|
|
660
|
+
) -> CliAnalyticsSessionDetailResponse:
|
|
661
|
+
"""GET /v1/analytics/cli-analytics/sessions/{trace_id} — session detail."""
|
|
662
|
+
return self._api.get(
|
|
663
|
+
f"/v1/analytics/cli-analytics/sessions/{trace_id}",
|
|
664
|
+
CliAnalyticsSessionDetailResponse,
|
|
665
|
+
wrap_response=False,
|
|
666
|
+
)
|
|
667
|
+
|
|
668
|
+
def get_cli_analytics_repositories(
|
|
669
|
+
self, params: CliAnalyticsQueryParams | None = None
|
|
670
|
+
) -> CliAnalyticsRepositoriesResponse:
|
|
671
|
+
"""GET /v1/analytics/cli-analytics/repositories — per-repository breakdown.
|
|
672
|
+
|
|
673
|
+
Without pagination parameters the endpoint returns every repository branch.
|
|
674
|
+
"""
|
|
675
|
+
return self._api.get(
|
|
676
|
+
"/v1/analytics/cli-analytics/repositories",
|
|
677
|
+
CliAnalyticsRepositoriesResponse,
|
|
678
|
+
params=params.model_dump(exclude_none=True) if params else {},
|
|
679
|
+
wrap_response=False,
|
|
680
|
+
)
|
codemie_sdk/services/project.py
CHANGED
|
@@ -30,6 +30,8 @@ from ..models.project import (
|
|
|
30
30
|
ProjectCreateResponse,
|
|
31
31
|
ProjectDeleteResponse,
|
|
32
32
|
ProjectDetailResponse,
|
|
33
|
+
ProjectOwnershipUpdateRequest,
|
|
34
|
+
ProjectOwnershipUpdateResponse,
|
|
33
35
|
ProjectUpdateRequest,
|
|
34
36
|
ProjectUpdateResponse,
|
|
35
37
|
)
|
|
@@ -217,6 +219,33 @@ class ProjectService:
|
|
|
217
219
|
response_model=ProjectDeleteResponse,
|
|
218
220
|
)
|
|
219
221
|
|
|
222
|
+
def transfer_ownership(
|
|
223
|
+
self,
|
|
224
|
+
project_name: str,
|
|
225
|
+
user_id: str,
|
|
226
|
+
) -> ProjectOwnershipUpdateResponse:
|
|
227
|
+
"""Transfer ownership of a project to another active user.
|
|
228
|
+
|
|
229
|
+
Args:
|
|
230
|
+
project_name: Project name
|
|
231
|
+
user_id: ID of the user who becomes the new owner
|
|
232
|
+
|
|
233
|
+
Returns:
|
|
234
|
+
ProjectOwnershipUpdateResponse with the project name, new owner id and message
|
|
235
|
+
|
|
236
|
+
Raises:
|
|
237
|
+
HTTPException: 404 if the project or the target user is not found, or the
|
|
238
|
+
caller may not manage the project; 403 if the project is personal
|
|
239
|
+
"""
|
|
240
|
+
payload = ProjectOwnershipUpdateRequest(user_id=user_id)
|
|
241
|
+
|
|
242
|
+
return self._api.put(
|
|
243
|
+
f"/v1/projects/{project_name}/ownership",
|
|
244
|
+
response_model=ProjectOwnershipUpdateResponse,
|
|
245
|
+
json_data=payload.model_dump(),
|
|
246
|
+
wrap_response=False,
|
|
247
|
+
)
|
|
248
|
+
|
|
220
249
|
# Assignment endpoints
|
|
221
250
|
|
|
222
251
|
def assign_user_to_project(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
codemie_sdk/__init__.py,sha256=
|
|
1
|
+
codemie_sdk/__init__.py,sha256=9pK9aoMg0gpyYA1WqOjxGVMOX0tuRUszLdenKikbDIc,8800
|
|
2
2
|
codemie_sdk/auth/__init__.py,sha256=IksEj223xEZtJ-cQ0AT9L0Bs9psIJ8QNzDXrPTUQ3xQ,126
|
|
3
3
|
codemie_sdk/auth/credentials.py,sha256=hO0X3EQWZSlIm0ABhiJo4fIIndm2blB0JZWMaWvsuTE,7774
|
|
4
4
|
codemie_sdk/builders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -13,7 +13,7 @@ codemie_sdk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
13
13
|
codemie_sdk/models/a2a.py,sha256=zCNLiwwg78rok04hMlGPcQQS1IbEV4OaMcA_1KxQ9xs,1588
|
|
14
14
|
codemie_sdk/models/activity_event.py,sha256=KDEzzUEfs1J9ALNo4mLP-Rq7jeTM4g-P4A5A7Z4YjzM,1072
|
|
15
15
|
codemie_sdk/models/admin.py,sha256=2UGaO60ZrHHcDcV9thYBVxDyUCvtfPQhs10WswhGFJs,2298
|
|
16
|
-
codemie_sdk/models/analytics.py,sha256=
|
|
16
|
+
codemie_sdk/models/analytics.py,sha256=B9lLAddL_LylXsoOukiPqbz4HVd2itmuB6iaEbhpKiQ,10194
|
|
17
17
|
codemie_sdk/models/assistant.py,sha256=BkMMIBKA3fibL98PsyEtlIcvZql63oVdI9Pgy9YnemI,22230
|
|
18
18
|
codemie_sdk/models/categories.py,sha256=eq7_sw-sevNLeWpjaW3N055Xcgbbevs0Bl_rj--maUk,2303
|
|
19
19
|
codemie_sdk/models/common.py,sha256=ipNNdQlv4Ct1UyIAknjJbrdjjvv0lZJYK6dnPm8wai4,1170
|
|
@@ -27,7 +27,7 @@ codemie_sdk/models/integration.py,sha256=yBV28vZ8oN0oNRNHdDPL3UUSJqNga1YodABIfX8
|
|
|
27
27
|
codemie_sdk/models/llm.py,sha256=ViADvsSAkc85YQyPUkGE3ZvMc5pnHWHO0_rOkLSTfu4,1333
|
|
28
28
|
codemie_sdk/models/mcp_config.py,sha256=mvD2utb4fthjNGAIkZKEkTtHSQQyF2WEYrA7tn-e0Lo,2184
|
|
29
29
|
codemie_sdk/models/mermaid.py,sha256=dhRgX-itvfyrt0LUg5pbSo0CTH5PewiegqcZn3hWggU,675
|
|
30
|
-
codemie_sdk/models/project.py,sha256=
|
|
30
|
+
codemie_sdk/models/project.py,sha256=MWBWg_G373v8OHX_INqvZZg6TlRY0w8G_HDBqPa_CL0,7370
|
|
31
31
|
codemie_sdk/models/skill.py,sha256=KE4lsF8TMxIQa_UE0oRDMT6XIEHqKjsDyi0HYKEp1mM,6918
|
|
32
32
|
codemie_sdk/models/task.py,sha256=YHu5DRnECS2wnqIWZ_YH8Z72p1I4aV3xWFW5joxN_8Q,1442
|
|
33
33
|
codemie_sdk/models/user.py,sha256=YqPWzTgIKF-7Jw6aV7RD__su1iahEJPGaDR6Px-B4bU,3848
|
|
@@ -45,7 +45,7 @@ codemie_sdk/models/workspace.py,sha256=xYnVO1Pnd0l0PSBe2pwP80C2ZvYBc2ESo6OH_G0cO
|
|
|
45
45
|
codemie_sdk/services/a2a.py,sha256=JI_heDKmQ1qYGIES_6qPosHRyVb73tKs4v7uTGpzXx4,1026
|
|
46
46
|
codemie_sdk/services/activity_event.py,sha256=KoD0DyeqJ0CmQPA4PAXH4uGIAQCgcJbYwDnv-MCckGc,3630
|
|
47
47
|
codemie_sdk/services/admin.py,sha256=yk1xdBXDjpdW4OMOdBaURkZhAxak9h-TppKyhStLekc,4006
|
|
48
|
-
codemie_sdk/services/analytics.py,sha256=
|
|
48
|
+
codemie_sdk/services/analytics.py,sha256=wcbbzm9L4YLXy7I054jM8LYlIQnz3gB2K56--OkVT4g,23148
|
|
49
49
|
codemie_sdk/services/assistant.py,sha256=3fHK2cJERgNJJfkvdih0h7bRHdHjlIJHBcS7EcnJ90E,22135
|
|
50
50
|
codemie_sdk/services/categories.py,sha256=1qd98JCcMNdpbos0O1WpMApT6TurE7OuI7zoYewnwk8,5030
|
|
51
51
|
codemie_sdk/services/codemie_guardrails.py,sha256=O3yCeIQYG8W7z-sVRR4Cw9UVncqP9lPVNxUSaUZrh7I,2833
|
|
@@ -59,7 +59,7 @@ codemie_sdk/services/integration.py,sha256=n4ggDedJ2GCI5mTgZNfrYE49uzLsp_BKYKMdT
|
|
|
59
59
|
codemie_sdk/services/llm.py,sha256=GQWIi359f99uU4YRnAdpbyae1kXp1G5OpVgJNIIn7-8,1132
|
|
60
60
|
codemie_sdk/services/mcp_configs.py,sha256=MrCiWJ6-ezXE9NOTgOfHDhfyQokaumGp1rwB4IAKXzs,2466
|
|
61
61
|
codemie_sdk/services/mermaid.py,sha256=7cLykdrJVW576raUbON3yhuWnbGaXl8rX1QfVwbu2JE,2246
|
|
62
|
-
codemie_sdk/services/project.py,sha256=
|
|
62
|
+
codemie_sdk/services/project.py,sha256=2O57E63mkt5Z-OwTksxiKplRDHwh6MV_COaztXO7j4A,14298
|
|
63
63
|
codemie_sdk/services/project_budget_groups.py,sha256=B7QJt3sh_LV3lfwALZlxUq0SLR30BWafHcS6eHyOh8Y,5471
|
|
64
64
|
codemie_sdk/services/skill.py,sha256=0mExdeKTMNqkEpKafD0ya1WyLj9CMCFaprkggKYqnQg,13216
|
|
65
65
|
codemie_sdk/services/task.py,sha256=UaYh__xGF7VKWCJKPrncVjTvx46Gz1AN9XczPVL71oA,1052
|
|
@@ -76,6 +76,6 @@ codemie_sdk/services/workflow_execution_state.py,sha256=u1xmGvaHjqvQS5ujhyvJ_Ac7
|
|
|
76
76
|
codemie_sdk/services/workspace.py,sha256=eLwZ0fhi1BfOesrXaQlTdOll8q7ENP9b_jb5eybKSVw,5038
|
|
77
77
|
codemie_sdk/utils/__init__.py,sha256=EzK_UrS5KHmAnE73Hci9LaObB5omjVUhIq4svh0gfwo,137
|
|
78
78
|
codemie_sdk/utils/http.py,sha256=PWejBKa5pwzQ5eLVhdN8lYKEu1B1QtwGTRmZfnGFL6c,14158
|
|
79
|
-
codemie_sdk_python-0.1.
|
|
80
|
-
codemie_sdk_python-0.1.
|
|
81
|
-
codemie_sdk_python-0.1.
|
|
79
|
+
codemie_sdk_python-0.1.692.dist-info/METADATA,sha256=ay9di79CYESHDIo4qGdC0AynO_AYQJYp_mu2gT-f32c,47441
|
|
80
|
+
codemie_sdk_python-0.1.692.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
81
|
+
codemie_sdk_python-0.1.692.dist-info/RECORD,,
|
|
File without changes
|