codemie-sdk-python 0.1.541__tar.gz → 0.1.543__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 (67) hide show
  1. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/PKG-INFO +1 -1
  2. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/pyproject.toml +1 -1
  3. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/__init__.py +8 -0
  4. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/integration.py +32 -0
  5. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/integration.py +48 -1
  6. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/README.md +0 -0
  7. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/auth/__init__.py +0 -0
  8. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/auth/credentials.py +0 -0
  9. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/client/__init__.py +0 -0
  10. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/client/client.py +0 -0
  11. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/exceptions.py +0 -0
  12. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/__init__.py +0 -0
  13. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/activity_event.py +0 -0
  14. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/admin.py +0 -0
  15. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/analytics.py +0 -0
  16. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/assistant.py +0 -0
  17. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/categories.py +0 -0
  18. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/common.py +0 -0
  19. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/conversation.py +0 -0
  20. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/datasource.py +0 -0
  21. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/errors.py +0 -0
  22. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/file_operation.py +0 -0
  23. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/guardrails.py +0 -0
  24. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/llm.py +0 -0
  25. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/mcp_config.py +0 -0
  26. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/mermaid.py +0 -0
  27. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/project.py +0 -0
  28. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/skill.py +0 -0
  29. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/task.py +0 -0
  30. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/user.py +0 -0
  31. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/vendor_assistant.py +0 -0
  32. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/vendor_guardrail.py +0 -0
  33. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/vendor_knowledgebase.py +0 -0
  34. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/vendor_runtime.py +0 -0
  35. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/vendor_workflow.py +0 -0
  36. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/workflow.py +0 -0
  37. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/workflow_execution_payload.py +0 -0
  38. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/workflow_state.py +0 -0
  39. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/workflow_thoughts.py +0 -0
  40. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/models/workflow_transition.py +0 -0
  41. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/activity_event.py +0 -0
  42. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/admin.py +0 -0
  43. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/analytics.py +0 -0
  44. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/assistant.py +0 -0
  45. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/categories.py +0 -0
  46. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/codemie_guardrails.py +0 -0
  47. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/conversation.py +0 -0
  48. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/datasource.py +0 -0
  49. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/files.py +0 -0
  50. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/llm.py +0 -0
  51. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/mcp_configs.py +0 -0
  52. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/mermaid.py +0 -0
  53. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/project.py +0 -0
  54. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/skill.py +0 -0
  55. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/task.py +0 -0
  56. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/user.py +0 -0
  57. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/vendor_assistant.py +0 -0
  58. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/vendor_guardrail.py +0 -0
  59. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/vendor_knowledgebase.py +0 -0
  60. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/vendor_runtime.py +0 -0
  61. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/vendor_workflow.py +0 -0
  62. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/webhook.py +0 -0
  63. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/workflow.py +0 -0
  64. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/workflow_execution.py +0 -0
  65. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/services/workflow_execution_state.py +0 -0
  66. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/utils/__init__.py +0 -0
  67. {codemie_sdk_python-0.1.541 → codemie_sdk_python-0.1.543}/src/codemie_sdk/utils/http.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.541
3
+ Version: 0.1.543
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.541"
3
+ version = "0.1.543"
4
4
  description = "CodeMie SDK for Python"
5
5
  authors = [
6
6
  "Vadym Vlasenko <vadym_vlasenko@epam.com>",
@@ -155,6 +155,11 @@ from .models.assistant import (
155
155
  AssistantProjectMappingPagination,
156
156
  AssistantProjectMappingListResponse,
157
157
  )
158
+ from .models.integration import (
159
+ TransferMode,
160
+ TransferItem,
161
+ TransferSettingsResponse,
162
+ )
158
163
 
159
164
  __version__ = "0.2.12"
160
165
  __all__ = [
@@ -274,4 +279,7 @@ __all__ = [
274
279
  "SkillPagination",
275
280
  "SkillService",
276
281
  "BuiltinSubagent",
282
+ "TransferMode",
283
+ "TransferItem",
284
+ "TransferSettingsResponse",
277
285
  ]
@@ -99,3 +99,35 @@ class IntegrationTestResponse(BaseModel):
99
99
 
100
100
  message: str
101
101
  success: bool
102
+
103
+
104
+ class TransferMode(str, Enum):
105
+ """Enum for the POST /v1/settings/transfer mode."""
106
+
107
+ MOVE = "move"
108
+ COPY = "copy"
109
+
110
+
111
+ class TransferItem(BaseModel):
112
+ """Model for a single integration transferred or skipped by a settings-transfer request."""
113
+
114
+ id: str
115
+ alias: str
116
+ credential_type: str
117
+
118
+
119
+ class TransferSettingsResponse(BaseModel):
120
+ """Model for the response of POST /v1/settings/transfer.
121
+
122
+ Mirrors ``codemie.rest_api.models.settings_transfer.TransferSettingsResponse``
123
+ on the backend.
124
+ """
125
+
126
+ message: str
127
+ source_project_name: str
128
+ target_project_name: str
129
+ mode: TransferMode
130
+ transferred_count: int
131
+ transferred: list[TransferItem] = Field(default_factory=list)
132
+ skipped_count: int = 0
133
+ skipped: list[TransferItem] = Field(default_factory=list)
@@ -1,7 +1,7 @@
1
1
  """Integration service implementation."""
2
2
 
3
3
  import json
4
- from typing import Any
4
+ from typing import Any, Literal
5
5
 
6
6
  from ..exceptions import NotFoundError
7
7
  from ..models.common import PaginationParams
@@ -9,6 +9,7 @@ from ..models.integration import (
9
9
  Integration,
10
10
  IntegrationType,
11
11
  IntegrationTestRequest,
12
+ TransferSettingsResponse,
12
13
  )
13
14
  from ..utils import ApiRequestHandler, TokenSource
14
15
 
@@ -170,3 +171,49 @@ class IntegrationService:
170
171
  response_model=response_type,
171
172
  json_data=integration.model_dump(exclude_none=True),
172
173
  )
174
+
175
+ def transfer(
176
+ self,
177
+ source_project_name: str,
178
+ target_project_name: str,
179
+ mode: Literal["move", "copy"] | None,
180
+ ) -> TransferSettingsResponse:
181
+ """Move or copy every transferable integration between two projects.
182
+
183
+ Calls ``POST /v1/settings/transfer``, which relocates ("move") or
184
+ duplicates ("copy") every transferable ``PROJECT``- and ``USER``-scoped
185
+ integration ("Settings" row) from ``source_project_name`` into
186
+ ``target_project_name`` in a single all-or-nothing transaction.
187
+
188
+ Args:
189
+ source_project_name: Name of the project to transfer integrations from
190
+ target_project_name: Name of the project to transfer integrations to
191
+ mode: "move" relocates integrations (removed from source), "copy"
192
+ duplicates them (source left untouched). ``None`` omits the
193
+ ``mode`` field from the request body entirely -- rather than
194
+ sending a JSON ``null`` -- so callers can exercise the API's
195
+ "field required" validation error (distinct from sending an
196
+ unsupported mode value).
197
+
198
+ Returns:
199
+ Summary of the transfer, including transferred and skipped items
200
+
201
+ Raises:
202
+ requests.exceptions.HTTPError: On 422 (invalid mode/project names),
203
+ 404 (source or target project not found), 403 (caller lacks
204
+ admin-or-maintainer privileges), or 409 (alias collision in the
205
+ target project, or a row changed concurrently).
206
+ """
207
+ json_data = {
208
+ "source_project_name": source_project_name,
209
+ "target_project_name": target_project_name,
210
+ }
211
+ if mode is not None:
212
+ json_data["mode"] = mode
213
+
214
+ return self._api.post(
215
+ "/v1/settings/transfer",
216
+ TransferSettingsResponse,
217
+ json_data=json_data,
218
+ wrap_response=False,
219
+ )