codemie-sdk-python 0.1.503__py3-none-any.whl → 0.1.504__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 +9 -1
- codemie_sdk/models/assistant.py +23 -0
- codemie_sdk/services/assistant.py +81 -0
- {codemie_sdk_python-0.1.503.dist-info → codemie_sdk_python-0.1.504.dist-info}/METADATA +43 -1
- {codemie_sdk_python-0.1.503.dist-info → codemie_sdk_python-0.1.504.dist-info}/RECORD +6 -6
- {codemie_sdk_python-0.1.503.dist-info → codemie_sdk_python-0.1.504.dist-info}/WHEEL +0 -0
codemie_sdk/__init__.py
CHANGED
|
@@ -148,7 +148,12 @@ from .models.skill import (
|
|
|
148
148
|
SkillPagination,
|
|
149
149
|
)
|
|
150
150
|
from .services.skill import SkillService
|
|
151
|
-
from .models.assistant import
|
|
151
|
+
from .models.assistant import (
|
|
152
|
+
BuiltinSubagent,
|
|
153
|
+
AssistantProjectFeature,
|
|
154
|
+
AssistantProjectMappingRequest,
|
|
155
|
+
AssistantProjectMappingResponse,
|
|
156
|
+
)
|
|
152
157
|
|
|
153
158
|
__version__ = "0.2.12"
|
|
154
159
|
__all__ = [
|
|
@@ -264,4 +269,7 @@ __all__ = [
|
|
|
264
269
|
"SkillPagination",
|
|
265
270
|
"SkillService",
|
|
266
271
|
"BuiltinSubagent",
|
|
272
|
+
"AssistantProjectFeature",
|
|
273
|
+
"AssistantProjectMappingRequest",
|
|
274
|
+
"AssistantProjectMappingResponse",
|
|
267
275
|
]
|
codemie_sdk/models/assistant.py
CHANGED
|
@@ -607,3 +607,26 @@ class ReactionRequest(BaseModel):
|
|
|
607
607
|
model_config = ConfigDict(extra="ignore", use_enum_values=True)
|
|
608
608
|
|
|
609
609
|
reaction: ReactionType = Field(description="Reaction type: 'like' or 'dislike'")
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
class AssistantProjectFeature(str, Enum):
|
|
613
|
+
"""Enum for assistant project feature discriminators."""
|
|
614
|
+
|
|
615
|
+
teams = "teams"
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
class AssistantProjectMappingRequest(BaseModel):
|
|
619
|
+
"""Request body for enabling an assistant for a project feature."""
|
|
620
|
+
|
|
621
|
+
model_config = ConfigDict(extra="ignore", use_enum_values=True)
|
|
622
|
+
|
|
623
|
+
project_name: str = Field(description="Project identifier")
|
|
624
|
+
feature: AssistantProjectFeature = Field(description="Feature discriminator")
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
class AssistantProjectMappingResponse(BaseModel):
|
|
628
|
+
"""Response for assistant project mapping operations."""
|
|
629
|
+
|
|
630
|
+
model_config = ConfigDict(extra="ignore")
|
|
631
|
+
|
|
632
|
+
message: str = Field(description="Operation result message")
|
|
@@ -28,6 +28,9 @@ from ..models.assistant import (
|
|
|
28
28
|
ExportAssistantPayload,
|
|
29
29
|
AssistantEvaluationRequest,
|
|
30
30
|
ReactionRequest,
|
|
31
|
+
AssistantProjectFeature,
|
|
32
|
+
AssistantProjectMappingRequest,
|
|
33
|
+
AssistantProjectMappingResponse,
|
|
31
34
|
)
|
|
32
35
|
from ..models.common import PaginationParams
|
|
33
36
|
from ..utils import ApiRequestHandler, TokenSource
|
|
@@ -607,3 +610,81 @@ class AssistantService:
|
|
|
607
610
|
Response from the API
|
|
608
611
|
"""
|
|
609
612
|
return self._api.delete(f"/v1/assistants/{assistant_id}/reactions", dict)
|
|
613
|
+
|
|
614
|
+
def list_project_mapping(
|
|
615
|
+
self,
|
|
616
|
+
feature: Union[AssistantProjectFeature, str],
|
|
617
|
+
project: str,
|
|
618
|
+
page: int = 0,
|
|
619
|
+
per_page: int = 12,
|
|
620
|
+
) -> list[Assistant]:
|
|
621
|
+
"""List assistants enabled for a project feature.
|
|
622
|
+
|
|
623
|
+
Args:
|
|
624
|
+
feature: Feature discriminator (e.g. "teams")
|
|
625
|
+
project: Project name (application name)
|
|
626
|
+
page: 0-indexed page number
|
|
627
|
+
per_page: Items per page (max 100)
|
|
628
|
+
|
|
629
|
+
Returns:
|
|
630
|
+
List of assistants mapped to the project feature
|
|
631
|
+
"""
|
|
632
|
+
params = {
|
|
633
|
+
"feature": feature if isinstance(feature, str) else feature.value,
|
|
634
|
+
"project": project,
|
|
635
|
+
"page": page,
|
|
636
|
+
"per_page": per_page,
|
|
637
|
+
}
|
|
638
|
+
return self._api.get(
|
|
639
|
+
"/v1/assistants/projects/mapping", list[Assistant], params=params
|
|
640
|
+
)
|
|
641
|
+
|
|
642
|
+
def enable_project_mapping(
|
|
643
|
+
self,
|
|
644
|
+
assistant_id: str,
|
|
645
|
+
request: AssistantProjectMappingRequest,
|
|
646
|
+
) -> AssistantProjectMappingResponse:
|
|
647
|
+
"""Enable an assistant for a project feature.
|
|
648
|
+
|
|
649
|
+
Idempotent: returns 200 whether the mapping already existed or not.
|
|
650
|
+
|
|
651
|
+
Args:
|
|
652
|
+
assistant_id: UUID of the assistant
|
|
653
|
+
request: Mapping request with project_name and feature
|
|
654
|
+
|
|
655
|
+
Returns:
|
|
656
|
+
AssistantProjectMappingResponse with confirmation message
|
|
657
|
+
"""
|
|
658
|
+
return self._api.post(
|
|
659
|
+
f"/v1/assistants/{assistant_id}/projects/mapping",
|
|
660
|
+
AssistantProjectMappingResponse,
|
|
661
|
+
json_data=request.model_dump(exclude_none=True),
|
|
662
|
+
wrap_response=False,
|
|
663
|
+
)
|
|
664
|
+
|
|
665
|
+
def disable_project_mapping(
|
|
666
|
+
self,
|
|
667
|
+
assistant_id: str,
|
|
668
|
+
project: str,
|
|
669
|
+
feature: Union[AssistantProjectFeature, str],
|
|
670
|
+
) -> AssistantProjectMappingResponse:
|
|
671
|
+
"""Disable an assistant for a project feature.
|
|
672
|
+
|
|
673
|
+
Args:
|
|
674
|
+
assistant_id: UUID of the assistant
|
|
675
|
+
project: Project name
|
|
676
|
+
feature: Feature discriminator (e.g. "teams")
|
|
677
|
+
|
|
678
|
+
Returns:
|
|
679
|
+
AssistantProjectMappingResponse with confirmation message
|
|
680
|
+
"""
|
|
681
|
+
params = {
|
|
682
|
+
"project": project,
|
|
683
|
+
"feature": feature if isinstance(feature, str) else feature.value,
|
|
684
|
+
}
|
|
685
|
+
return self._api.delete(
|
|
686
|
+
f"/v1/assistants/{assistant_id}/projects/mapping",
|
|
687
|
+
AssistantProjectMappingResponse,
|
|
688
|
+
params=params,
|
|
689
|
+
wrap_response=False,
|
|
690
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: codemie-sdk-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.504
|
|
4
4
|
Summary: CodeMie SDK for Python
|
|
5
5
|
Author: Vadym Vlasenko
|
|
6
6
|
Author-email: vadym_vlasenko@epam.com
|
|
@@ -353,6 +353,48 @@ response = client.assistants.chat_with_version("assistant-id", version_number=2,
|
|
|
353
353
|
print(response.generated)
|
|
354
354
|
```
|
|
355
355
|
|
|
356
|
+
#### Project Feature Mapping
|
|
357
|
+
|
|
358
|
+
Control which assistants have a feature enabled per project. Currently the only supported feature is `teams`.
|
|
359
|
+
|
|
360
|
+
1. **List assistants with a feature enabled for a project**
|
|
361
|
+
```python
|
|
362
|
+
from codemie_sdk import AssistantProjectFeature
|
|
363
|
+
|
|
364
|
+
assistants = client.assistants.list_project_mapping(
|
|
365
|
+
feature=AssistantProjectFeature.teams,
|
|
366
|
+
project="my-project",
|
|
367
|
+
page=0,
|
|
368
|
+
per_page=12,
|
|
369
|
+
)
|
|
370
|
+
for a in assistants:
|
|
371
|
+
print(a.name)
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
2. **Enable a feature for an assistant on a project**
|
|
375
|
+
```python
|
|
376
|
+
from codemie_sdk import AssistantProjectFeature, AssistantProjectMappingRequest
|
|
377
|
+
|
|
378
|
+
request = AssistantProjectMappingRequest(
|
|
379
|
+
project_name="my-project",
|
|
380
|
+
feature=AssistantProjectFeature.teams,
|
|
381
|
+
)
|
|
382
|
+
response = client.assistants.enable_project_mapping("assistant-id", request)
|
|
383
|
+
print(response.message)
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
3. **Disable a feature for an assistant on a project**
|
|
387
|
+
```python
|
|
388
|
+
from codemie_sdk import AssistantProjectFeature
|
|
389
|
+
|
|
390
|
+
response = client.assistants.disable_project_mapping(
|
|
391
|
+
"assistant-id",
|
|
392
|
+
project="my-project",
|
|
393
|
+
feature=AssistantProjectFeature.teams,
|
|
394
|
+
)
|
|
395
|
+
print(response.message)
|
|
396
|
+
```
|
|
397
|
+
|
|
356
398
|
### Datasource Service
|
|
357
399
|
|
|
358
400
|
The Datasource service enables managing various types of data sources in CodeMie, including code repositories, Confluence spaces, Jira projects, files, and Google documents.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
codemie_sdk/__init__.py,sha256=
|
|
1
|
+
codemie_sdk/__init__.py,sha256=_UfLtQJ46-DnFEbmO46FbyASz6T1pUkXUjPmSzsIwzk,7912
|
|
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/client/__init__.py,sha256=yf6C39MmrJ6gK9ZHMhBeynKwUUYVSUTQbKxU8-4qpKg,101
|
|
@@ -7,7 +7,7 @@ codemie_sdk/exceptions.py,sha256=uuzvtvYBMzrNGt7Q4k5RVq0Pd8eJ_tR2tLy3pF2ICDs,114
|
|
|
7
7
|
codemie_sdk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
codemie_sdk/models/admin.py,sha256=2UGaO60ZrHHcDcV9thYBVxDyUCvtfPQhs10WswhGFJs,2298
|
|
9
9
|
codemie_sdk/models/analytics.py,sha256=B29Cqt2Mvqohfjz-keRV5gFBpTKw_iIkF2ARxmEUv-Y,4953
|
|
10
|
-
codemie_sdk/models/assistant.py,sha256=
|
|
10
|
+
codemie_sdk/models/assistant.py,sha256=kq-2mDApNdAWtV4-Dx3BJhdvhLpw_IGaYly8Dwy9NFA,21475
|
|
11
11
|
codemie_sdk/models/categories.py,sha256=eq7_sw-sevNLeWpjaW3N055Xcgbbevs0Bl_rj--maUk,2303
|
|
12
12
|
codemie_sdk/models/common.py,sha256=ipNNdQlv4Ct1UyIAknjJbrdjjvv0lZJYK6dnPm8wai4,1170
|
|
13
13
|
codemie_sdk/models/conversation.py,sha256=Sxgg2qvrHsDK2nKIeOrbv7wCdqZ9uSoq-e6nT4D1y_w,6288
|
|
@@ -33,7 +33,7 @@ codemie_sdk/models/workflow_state.py,sha256=uP1yLYwPpgPc17xpLwjanvlRzK6zT9qMZR-f
|
|
|
33
33
|
codemie_sdk/models/workflow_thoughts.py,sha256=9fE380lMvC23fq677EI_JTk48Nf2jyPg3-mpj9VTx54,579
|
|
34
34
|
codemie_sdk/services/admin.py,sha256=yk1xdBXDjpdW4OMOdBaURkZhAxak9h-TppKyhStLekc,4006
|
|
35
35
|
codemie_sdk/services/analytics.py,sha256=HosMPk8B_kmuU5XcJhy5Mjx3ZjIwZAQB0LwDPsdH7SI,14882
|
|
36
|
-
codemie_sdk/services/assistant.py,sha256=
|
|
36
|
+
codemie_sdk/services/assistant.py,sha256=1RWZl8LZEea1GB9AAUqu5W2CWL-8th0RENJL7Tcsf3A,23303
|
|
37
37
|
codemie_sdk/services/categories.py,sha256=1qd98JCcMNdpbos0O1WpMApT6TurE7OuI7zoYewnwk8,5030
|
|
38
38
|
codemie_sdk/services/codemie_guardrails.py,sha256=O3yCeIQYG8W7z-sVRR4Cw9UVncqP9lPVNxUSaUZrh7I,2833
|
|
39
39
|
codemie_sdk/services/conversation.py,sha256=lYdNbiA1PeyN3qt0ZuHOIWDgVtP0keNXsDGQ-X-uluU,10447
|
|
@@ -57,6 +57,6 @@ codemie_sdk/services/workflow_execution.py,sha256=Nnf_ZJQrK9HiRyCRuUjUu3jXmbH3sn
|
|
|
57
57
|
codemie_sdk/services/workflow_execution_state.py,sha256=u1xmGvaHjqvQS5ujhyvJ_Ac7ByjKem2Qe8q0swsmoWw,2045
|
|
58
58
|
codemie_sdk/utils/__init__.py,sha256=EzK_UrS5KHmAnE73Hci9LaObB5omjVUhIq4svh0gfwo,137
|
|
59
59
|
codemie_sdk/utils/http.py,sha256=yKWx-K9cFbpstVt0qran42e6MESm0f6XVd8MIctaD5Y,12546
|
|
60
|
-
codemie_sdk_python-0.1.
|
|
61
|
-
codemie_sdk_python-0.1.
|
|
62
|
-
codemie_sdk_python-0.1.
|
|
60
|
+
codemie_sdk_python-0.1.504.dist-info/METADATA,sha256=0MZPRQ0QpfQOLEHMmswMVNiZ9XekC4BieKTRCIhvaFY,37915
|
|
61
|
+
codemie_sdk_python-0.1.504.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
62
|
+
codemie_sdk_python-0.1.504.dist-info/RECORD,,
|
|
File without changes
|