codemie-sdk-python 0.1.663__py3-none-any.whl → 0.1.665__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
@@ -156,6 +156,7 @@ from .models.integration import (
156
156
  TransferMode,
157
157
  TransferItem,
158
158
  TransferSettingsResponse,
159
+ TypeOfIntegration,
159
160
  )
160
161
  from .models.a2a import (
161
162
  AgentCard,
@@ -284,6 +285,7 @@ __all__ = [
284
285
  "TransferMode",
285
286
  "TransferItem",
286
287
  "TransferSettingsResponse",
288
+ "TypeOfIntegration",
287
289
  "AgentCard",
288
290
  "AgentProvider",
289
291
  "AgentCapabilities",
@@ -109,6 +109,16 @@ class TransferMode(str, Enum):
109
109
  COPY = "copy"
110
110
 
111
111
 
112
+ class TypeOfIntegration(BaseModel):
113
+ """Integration scopes to include in a POST /v1/settings/transfer request.
114
+
115
+ Mirrors ``codemie.rest_api.models.settings_transfer.TypeOfIntegration`` on the backend.
116
+ """
117
+
118
+ user_integrations: bool = False
119
+ project_integrations: bool = False
120
+
121
+
112
122
  class TransferItem(BaseModel):
113
123
  """Model for a single integration transferred or skipped by a settings-transfer request."""
114
124
 
@@ -10,6 +10,7 @@ from ..models.integration import (
10
10
  IntegrationType,
11
11
  IntegrationTestRequest,
12
12
  TransferSettingsResponse,
13
+ TypeOfIntegration,
13
14
  )
14
15
  from ..utils import ApiRequestHandler, TokenSource
15
16
 
@@ -203,6 +204,8 @@ class IntegrationService:
203
204
  source_project_name: str,
204
205
  target_project_name: str,
205
206
  mode: Literal["move", "copy"] | None,
207
+ type_of_integration: TypeOfIntegration | dict[str, bool] | None = None,
208
+ integrations_list: list[str] | None = None,
206
209
  ) -> TransferSettingsResponse:
207
210
  """Move or copy every transferable integration between two projects.
208
211
 
@@ -220,6 +223,15 @@ class IntegrationService:
220
223
  sending a JSON ``null`` -- so callers can exercise the API's
221
224
  "field required" validation error (distinct from sending an
222
225
  unsupported mode value).
226
+ type_of_integration: Which integration scopes to transfer. ``None``
227
+ omits the field (backend default: both ``user_integrations`` and
228
+ ``project_integrations`` are included). When given, only the
229
+ keys that were set are sent, so a partial object such as
230
+ ``{"user_integrations": True}`` leaves the other flag to the
231
+ backend default of ``False``.
232
+ integrations_list: Aliases of the integrations to transfer, sent as
233
+ ``list``. ``None`` omits the field (all integrations matching the
234
+ type filter are transferred).
223
235
 
224
236
  Returns:
225
237
  Summary of the transfer, including transferred and skipped items
@@ -228,7 +240,11 @@ class IntegrationService:
228
240
  requests.exceptions.HTTPError: On 422 (invalid mode/project names),
229
241
  404 (source or target project not found), 403 (caller lacks
230
242
  admin-or-maintainer privileges), or 409 (alias collision in the
231
- target project, or a row changed concurrently).
243
+ target project, or a row changed concurrently). 422 is also
244
+ returned when both ``type_of_integration`` flags are false, when
245
+ ``integrations_list`` is empty, contains an alias that is unknown
246
+ in the source project or does not match the requested type, or
247
+ (copy mode) names a webhook/scheduler integration.
232
248
  """
233
249
  json_data = {
234
250
  "source_project_name": source_project_name,
@@ -236,6 +252,14 @@ class IntegrationService:
236
252
  }
237
253
  if mode is not None:
238
254
  json_data["mode"] = mode
255
+ if type_of_integration is not None:
256
+ json_data["type_of_integration"] = (
257
+ type_of_integration.model_dump(exclude_unset=True)
258
+ if isinstance(type_of_integration, TypeOfIntegration)
259
+ else type_of_integration
260
+ )
261
+ if integrations_list is not None:
262
+ json_data["list"] = integrations_list
239
263
 
240
264
  return self._api.post(
241
265
  "/v1/settings/transfer",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codemie-sdk-python
3
- Version: 0.1.663
3
+ Version: 0.1.665
4
4
  Summary: CodeMie SDK for Python
5
5
  Author: Vadym Vlasenko
6
6
  Author-email: vadym_vlasenko@epam.com
@@ -1,4 +1,4 @@
1
- codemie_sdk/__init__.py,sha256=xCq01bDqaKSc60Bi22c1n3r7TluwJY_EU3F661ddGQM,8262
1
+ codemie_sdk/__init__.py,sha256=4l9nNwAgobEYrjLYkOuGYBH-KDagfp-03QPkn1aXcmg,8310
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
@@ -18,7 +18,7 @@ codemie_sdk/models/datasource.py,sha256=zLA6fwiTKl5H7IDMAlt5LqB2cOI9Cr13D1xU_2Ea
18
18
  codemie_sdk/models/errors.py,sha256=tQXoPUhM2U95NoyTxsSSJws8PQ-Fr3iOQQ8IjJCsx78,11658
19
19
  codemie_sdk/models/file_operation.py,sha256=h5UBCCAbQQGm1EavF0AHn_dNE2t_Cc9be20lv_K5Vo8,722
20
20
  codemie_sdk/models/guardrails.py,sha256=813PRnu9VEF6hoUB-lw5xG_qAZXPic38qL40AwYkSMQ,2114
21
- codemie_sdk/models/integration.py,sha256=HcVvFRa2biKT8c1aDViFncv3kKf1kRVVJRSFFjO3hqM,3198
21
+ codemie_sdk/models/integration.py,sha256=9r7SIMcudlX8tl2DPT-bkGXTjDxy7HAaWPhl5ObI0cw,3491
22
22
  codemie_sdk/models/llm.py,sha256=ViADvsSAkc85YQyPUkGE3ZvMc5pnHWHO0_rOkLSTfu4,1333
23
23
  codemie_sdk/models/mcp_config.py,sha256=mvD2utb4fthjNGAIkZKEkTtHSQQyF2WEYrA7tn-e0Lo,2184
24
24
  codemie_sdk/models/mermaid.py,sha256=dhRgX-itvfyrt0LUg5pbSo0CTH5PewiegqcZn3hWggU,675
@@ -49,7 +49,7 @@ codemie_sdk/services/customer_config_service.py,sha256=p1bfFCrIWbxT33ItZc7HDd7fv
49
49
  codemie_sdk/services/datasource.py,sha256=6kIaHuMzYcrSCaB6_CXemRm2gMPsNxXTQCDxOtRxhDQ,13991
50
50
  codemie_sdk/services/dynamic_config.py,sha256=amgSOZ-835r6O_U72sjiFe60rrxJZqJ2L7oKCK-avE4,4214
51
51
  codemie_sdk/services/files.py,sha256=ERb6irexO2hIKepUiTw498J0dt0427YNdKrXdcOu9tM,2762
52
- codemie_sdk/services/integration.py,sha256=HmzA9pJruOh0hdpagYiLY36ejdpEWS7Z1OnfDJVekoc,8413
52
+ codemie_sdk/services/integration.py,sha256=SA9sQjc4Aa5TQYLiReNO9qs36O0arkOCsidJrFuvCUo,9908
53
53
  codemie_sdk/services/llm.py,sha256=GQWIi359f99uU4YRnAdpbyae1kXp1G5OpVgJNIIn7-8,1132
54
54
  codemie_sdk/services/mcp_configs.py,sha256=MrCiWJ6-ezXE9NOTgOfHDhfyQokaumGp1rwB4IAKXzs,2466
55
55
  codemie_sdk/services/mermaid.py,sha256=7cLykdrJVW576raUbON3yhuWnbGaXl8rX1QfVwbu2JE,2246
@@ -69,6 +69,6 @@ codemie_sdk/services/workflow_execution.py,sha256=PwavvjFo-9DYVzt06ayIAPApHfnzFW
69
69
  codemie_sdk/services/workflow_execution_state.py,sha256=u1xmGvaHjqvQS5ujhyvJ_Ac7ByjKem2Qe8q0swsmoWw,2045
70
70
  codemie_sdk/utils/__init__.py,sha256=EzK_UrS5KHmAnE73Hci9LaObB5omjVUhIq4svh0gfwo,137
71
71
  codemie_sdk/utils/http.py,sha256=Jh9l4zRPriTEjIKEWBSLdgb-Y0no1n6AnG8f9CkdOQQ,13997
72
- codemie_sdk_python-0.1.663.dist-info/METADATA,sha256=9Jqi1FuXfWScfYDKXTMFqdX42u8qGH9W-9l1amqZ4kY,36801
73
- codemie_sdk_python-0.1.663.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
74
- codemie_sdk_python-0.1.663.dist-info/RECORD,,
72
+ codemie_sdk_python-0.1.665.dist-info/METADATA,sha256=E3oQKCbhHdj6QWrY5BDIe8hWMdA2M7wQjzSN3h0DVGo,36801
73
+ codemie_sdk_python-0.1.665.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
74
+ codemie_sdk_python-0.1.665.dist-info/RECORD,,