codemie-sdk-python 0.1.596__py3-none-any.whl → 0.1.598__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 CHANGED
@@ -151,10 +151,6 @@ from .models.skill import (
151
151
  from .services.skill import SkillService
152
152
  from .models.assistant import (
153
153
  BuiltinSubagent,
154
- AssistantProjectFeature,
155
- AssistantProjectMappingRequest,
156
- AssistantProjectMappingPagination,
157
- AssistantProjectMappingListResponse,
158
154
  )
159
155
  from .models.integration import (
160
156
  TransferMode,
@@ -165,10 +161,6 @@ from .models.integration import (
165
161
  __version__ = "0.2.12"
166
162
  __all__ = [
167
163
  "CodeMieClient",
168
- "AssistantProjectFeature",
169
- "AssistantProjectMappingRequest",
170
- "AssistantProjectMappingPagination",
171
- "AssistantProjectMappingListResponse",
172
164
  "VendorType",
173
165
  "VendorAssistantSetting",
174
166
  "VendorAssistantSettingsResponse",
@@ -612,53 +612,3 @@ class ReactionRequest(BaseModel):
612
612
  model_config = ConfigDict(extra="ignore", use_enum_values=True)
613
613
 
614
614
  reaction: ReactionType = Field(description="Reaction type: 'like' or 'dislike'")
615
-
616
-
617
- class AssistantProjectFeature(str, Enum):
618
- """Feature discriminator for assistant/project mappings (e.g. Teams bot).
619
-
620
- This enum is expected to grow over time on the backend; treat unrecognized
621
- wire values defensively rather than assuming this is the complete set.
622
- """
623
-
624
- TEAMS = "teams"
625
-
626
-
627
- class AssistantProjectMappingRequest(BaseModel):
628
- """Request body for POST /v1/assistants/{assistant_id}/projects/mapping."""
629
-
630
- model_config = ConfigDict(extra="ignore", use_enum_values=True)
631
-
632
- project_name: str = Field(description="Project (application) name")
633
- feature: AssistantProjectFeature = Field(
634
- description="Feature discriminator this mapping is for, e.g. 'teams'"
635
- )
636
-
637
-
638
- class AssistantProjectMappingPagination(BaseModel):
639
- """Pagination metadata returned by GET /v1/assistants/projects/mapping."""
640
-
641
- model_config = ConfigDict(extra="ignore")
642
-
643
- page: int = Field(description="Current page, 0-indexed")
644
- per_page: int = Field(description="Items per page")
645
- total: int = Field(description="Total matching assistants across all pages")
646
-
647
-
648
- class AssistantProjectMappingListResponse(BaseModel):
649
- """Response for GET /v1/assistants/projects/mapping.
650
-
651
- List items are intentionally typed as ``dict[str, Any]`` rather than
652
- ``Assistant``/``AssistantBase``. The backend contract documents this
653
- endpoint as returning "the same shape as GET /v1/assistants", but that
654
- endpoint's own shape is parameterized by a ``minimal_response`` flag that
655
- this new endpoint does not expose, and the exact per-item fields returned
656
- here are not otherwise confirmed. Rather than guess the wire format,
657
- callers get the raw dict and can assert on whichever fields they need
658
- (e.g. ``item["id"]``).
659
- """
660
-
661
- model_config = ConfigDict(extra="ignore")
662
-
663
- data: list[dict[str, Any]] = Field(default_factory=list)
664
- pagination: AssistantProjectMappingPagination
@@ -41,6 +41,7 @@ class CredentialTypes(str, Enum):
41
41
  SHAREPOINT = "SharePoint"
42
42
  GOOGLE_OAUTH = "GoogleOAuth"
43
43
  XWIKI = "XWiki"
44
+ MS_TEAMS = "MSTeams"
44
45
 
45
46
 
46
47
  class IntegrationType(str, Enum):
@@ -28,12 +28,8 @@ from ..models.assistant import (
28
28
  ExportAssistantPayload,
29
29
  AssistantEvaluationRequest,
30
30
  ReactionRequest,
31
- AssistantProjectFeature,
32
- AssistantProjectMappingRequest,
33
- AssistantProjectMappingListResponse,
34
31
  )
35
32
  from ..models.common import PaginationParams
36
- from ..models.conversation import BaseResponse
37
33
  from ..utils import ApiRequestHandler, TokenSource
38
34
 
39
35
 
@@ -618,95 +614,3 @@ class AssistantService:
618
614
  Response from the API
619
615
  """
620
616
  return self._api.delete(f"/v1/assistants/{assistant_id}/reactions", dict)
621
-
622
- def list_project_mapping(
623
- self,
624
- project_name: str,
625
- feature: AssistantProjectFeature = AssistantProjectFeature.TEAMS,
626
- page: int = 0,
627
- per_page: int = 12,
628
- ) -> AssistantProjectMappingListResponse:
629
- """List assistants enabled for a project feature (e.g. Teams bot).
630
-
631
- Accessible to any member of ``project_name``, not just project admins.
632
-
633
- Args:
634
- project_name: Project (application) name to list mappings for
635
- feature: Feature discriminator, currently only "teams"
636
- page: Page number, 0-indexed
637
- per_page: Items per page (default 12, max 10000)
638
-
639
- Returns:
640
- Paginated list of assistants enabled for the project feature
641
- """
642
- feature_value = (
643
- feature.value if isinstance(feature, AssistantProjectFeature) else feature
644
- )
645
- params = PaginationParams(page=page, per_page=per_page).to_dict()
646
- params["feature"] = feature_value
647
- params["project"] = project_name
648
- return self._api.get(
649
- "/v1/assistants/projects/mapping",
650
- AssistantProjectMappingListResponse,
651
- params=params,
652
- wrap_response=False,
653
- )
654
-
655
- def enable_for_project(
656
- self,
657
- assistant_id: str,
658
- project_name: str,
659
- feature: AssistantProjectFeature = AssistantProjectFeature.TEAMS,
660
- ) -> BaseResponse:
661
- """Enable an assistant for a project feature (e.g. Teams bot).
662
-
663
- Idempotent — calling this when the mapping already exists returns 200
664
- with no error. Requires the caller to be a project admin/maintainer
665
- (or application admin) for ``project_name``.
666
-
667
- Args:
668
- assistant_id: ID of the assistant to enable
669
- project_name: Project (application) name to enable the mapping for
670
- feature: Feature discriminator, currently only "teams"
671
-
672
- Returns:
673
- Response confirming the assistant was enabled
674
- """
675
- request = AssistantProjectMappingRequest(
676
- project_name=project_name, feature=feature
677
- )
678
- return self._api.post(
679
- f"/v1/assistants/{assistant_id}/projects/mapping",
680
- BaseResponse,
681
- json_data=request.model_dump(exclude_none=True),
682
- )
683
-
684
- def disable_for_project(
685
- self,
686
- assistant_id: str,
687
- project_name: str,
688
- feature: AssistantProjectFeature = AssistantProjectFeature.TEAMS,
689
- ) -> BaseResponse:
690
- """Disable an assistant for a project feature (e.g. Teams bot).
691
-
692
- Raises an HTTP error (404) if the mapping does not exist. Requires the
693
- caller to be a project admin/maintainer (or application admin) for
694
- ``project_name``.
695
-
696
- Args:
697
- assistant_id: ID of the assistant to disable
698
- project_name: Project (application) name to disable the mapping for
699
- feature: Feature discriminator, currently only "teams"
700
-
701
- Returns:
702
- Response confirming the assistant was disabled
703
- """
704
- feature_value = (
705
- feature.value if isinstance(feature, AssistantProjectFeature) else feature
706
- )
707
- params = {"project": project_name, "feature": feature_value}
708
- return self._api.delete(
709
- f"/v1/assistants/{assistant_id}/projects/mapping",
710
- BaseResponse,
711
- params=params,
712
- )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.596
3
+ Version: 0.1.598
4
4
  Summary: CodeMie SDK for Python
5
5
  Author: Vadym Vlasenko
6
6
  Author-email: vadym_vlasenko@epam.com
@@ -353,48 +353,6 @@ 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
-
398
356
  ### Datasource Service
399
357
 
400
358
  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=PzP62mXplNNrQDouEAZXCeuQsfqphWStCAVKxy3VHC4,8271
1
+ codemie_sdk/__init__.py,sha256=WkEpO3bDVaIUACQsFqLV2b7TcLbQqUY1kWPAIKV5GVA,7973
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
@@ -8,7 +8,7 @@ codemie_sdk/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
8
8
  codemie_sdk/models/activity_event.py,sha256=KDEzzUEfs1J9ALNo4mLP-Rq7jeTM4g-P4A5A7Z4YjzM,1072
9
9
  codemie_sdk/models/admin.py,sha256=2UGaO60ZrHHcDcV9thYBVxDyUCvtfPQhs10WswhGFJs,2298
10
10
  codemie_sdk/models/analytics.py,sha256=B29Cqt2Mvqohfjz-keRV5gFBpTKw_iIkF2ARxmEUv-Y,4953
11
- codemie_sdk/models/assistant.py,sha256=902cNExQun62yz8ENydIvLYvXMgW588Ou4Nm_DCAs6g,22908
11
+ codemie_sdk/models/assistant.py,sha256=yxEhD0ZV0UnwyeukKrYitwq4CxnQNwGeWnE65bTERjA,20988
12
12
  codemie_sdk/models/categories.py,sha256=eq7_sw-sevNLeWpjaW3N055Xcgbbevs0Bl_rj--maUk,2303
13
13
  codemie_sdk/models/common.py,sha256=ipNNdQlv4Ct1UyIAknjJbrdjjvv0lZJYK6dnPm8wai4,1170
14
14
  codemie_sdk/models/conversation.py,sha256=Sxgg2qvrHsDK2nKIeOrbv7wCdqZ9uSoq-e6nT4D1y_w,6288
@@ -16,7 +16,7 @@ codemie_sdk/models/datasource.py,sha256=OWdNUCuNkOpgjj3GLFLu6aFJjSIEZ0xBt2iJxQgS
16
16
  codemie_sdk/models/errors.py,sha256=tQXoPUhM2U95NoyTxsSSJws8PQ-Fr3iOQQ8IjJCsx78,11658
17
17
  codemie_sdk/models/file_operation.py,sha256=h5UBCCAbQQGm1EavF0AHn_dNE2t_Cc9be20lv_K5Vo8,722
18
18
  codemie_sdk/models/guardrails.py,sha256=813PRnu9VEF6hoUB-lw5xG_qAZXPic38qL40AwYkSMQ,2114
19
- codemie_sdk/models/integration.py,sha256=VSf6aWkVXjijId7Ioz61WIyYzviH2F4bCyeVbXPtYdc,3206
19
+ codemie_sdk/models/integration.py,sha256=HCZgWtma-YClnDyuVUBBPA3ALclhDh7yIHIsiV1oeEw,3231
20
20
  codemie_sdk/models/llm.py,sha256=e5ds-u1LBAhxIK9tz1Co3zi-SMtjgEi_DETgPbWsjXE,1218
21
21
  codemie_sdk/models/mcp_config.py,sha256=mvD2utb4fthjNGAIkZKEkTtHSQQyF2WEYrA7tn-e0Lo,2184
22
22
  codemie_sdk/models/mermaid.py,sha256=dhRgX-itvfyrt0LUg5pbSo0CTH5PewiegqcZn3hWggU,675
@@ -37,7 +37,7 @@ codemie_sdk/models/workflow_transition.py,sha256=axZeiwTo4wzEwZ5GuKphmlRpWmjIuKx
37
37
  codemie_sdk/services/activity_event.py,sha256=KoD0DyeqJ0CmQPA4PAXH4uGIAQCgcJbYwDnv-MCckGc,3630
38
38
  codemie_sdk/services/admin.py,sha256=yk1xdBXDjpdW4OMOdBaURkZhAxak9h-TppKyhStLekc,4006
39
39
  codemie_sdk/services/analytics.py,sha256=FiCWx12hzm-_xuAWJ3As0mySu-vHvSQTR-9yLEw0Lq4,20027
40
- codemie_sdk/services/assistant.py,sha256=Z3Vys9dX1Brk_XClsDP5NWoXxE0myWHUhVVuTrUPpBk,24677
40
+ codemie_sdk/services/assistant.py,sha256=CRCJodsO-rWJxmhM5gx8ODQlMQG427sihXSQ6BJGrXw,21096
41
41
  codemie_sdk/services/categories.py,sha256=1qd98JCcMNdpbos0O1WpMApT6TurE7OuI7zoYewnwk8,5030
42
42
  codemie_sdk/services/codemie_guardrails.py,sha256=O3yCeIQYG8W7z-sVRR4Cw9UVncqP9lPVNxUSaUZrh7I,2833
43
43
  codemie_sdk/services/conversation.py,sha256=lYdNbiA1PeyN3qt0ZuHOIWDgVtP0keNXsDGQ-X-uluU,10447
@@ -64,6 +64,6 @@ codemie_sdk/services/workflow_execution.py,sha256=PwavvjFo-9DYVzt06ayIAPApHfnzFW
64
64
  codemie_sdk/services/workflow_execution_state.py,sha256=u1xmGvaHjqvQS5ujhyvJ_Ac7ByjKem2Qe8q0swsmoWw,2045
65
65
  codemie_sdk/utils/__init__.py,sha256=EzK_UrS5KHmAnE73Hci9LaObB5omjVUhIq4svh0gfwo,137
66
66
  codemie_sdk/utils/http.py,sha256=3aYK3ukXdSpXFLFoiz0IGNVd8PbcJj8Uw4ZEHuIt-gU,13666
67
- codemie_sdk_python-0.1.596.dist-info/METADATA,sha256=zDSxOdXZG3pbH3K_CAlVBXYhin9Pa07roJdT2vjxDWo,37915
68
- codemie_sdk_python-0.1.596.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
69
- codemie_sdk_python-0.1.596.dist-info/RECORD,,
67
+ codemie_sdk_python-0.1.598.dist-info/METADATA,sha256=D7W3OxsoYm3t7COI_S55dk2t4q8Cqx1QiiJvPq0cA1A,36801
68
+ codemie_sdk_python-0.1.598.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
69
+ codemie_sdk_python-0.1.598.dist-info/RECORD,,