cyberdesk 2.1.5__py3-none-any.whl → 2.1.6__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.

Potentially problematic release.


This version of cyberdesk might be problematic. Click here for more details.

Files changed (21) hide show
  1. cyberdesk/__init__.py +1 -1
  2. cyberdesk/client.py +73 -0
  3. {cyberdesk-2.1.5.dist-info → cyberdesk-2.1.6.dist-info}/METADATA +1 -1
  4. {cyberdesk-2.1.5.dist-info → cyberdesk-2.1.6.dist-info}/RECORD +21 -13
  5. openapi_client/cyberdesk_cloud_client/api/runs/create_run_chain_v1_runs_chain_post.py +192 -0
  6. openapi_client/cyberdesk_cloud_client/models/__init__.py +14 -0
  7. openapi_client/cyberdesk_cloud_client/models/chain_step.py +122 -0
  8. openapi_client/cyberdesk_cloud_client/models/chain_step_inputs_type_0.py +74 -0
  9. openapi_client/cyberdesk_cloud_client/models/machine_response.py +30 -0
  10. openapi_client/cyberdesk_cloud_client/models/machine_update.py +32 -0
  11. openapi_client/cyberdesk_cloud_client/models/ref_value.py +61 -0
  12. openapi_client/cyberdesk_cloud_client/models/run_bulk_create.py +51 -0
  13. openapi_client/cyberdesk_cloud_client/models/run_create.py +71 -0
  14. openapi_client/cyberdesk_cloud_client/models/run_response.py +50 -0
  15. openapi_client/cyberdesk_cloud_client/models/workflow_chain_create.py +305 -0
  16. openapi_client/cyberdesk_cloud_client/models/workflow_chain_create_shared_inputs_type_0.py +44 -0
  17. openapi_client/cyberdesk_cloud_client/models/workflow_chain_create_shared_sensitive_inputs_type_0.py +44 -0
  18. openapi_client/cyberdesk_cloud_client/models/workflow_chain_response.py +77 -0
  19. {cyberdesk-2.1.5.dist-info → cyberdesk-2.1.6.dist-info}/WHEEL +0 -0
  20. {cyberdesk-2.1.5.dist-info → cyberdesk-2.1.6.dist-info}/licenses/LICENSE +0 -0
  21. {cyberdesk-2.1.5.dist-info → cyberdesk-2.1.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,74 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ if TYPE_CHECKING:
8
+ from ..models.ref_value import RefValue
9
+
10
+
11
+ T = TypeVar("T", bound="ChainStepInputsType0")
12
+
13
+
14
+ @_attrs_define
15
+ class ChainStepInputsType0:
16
+ """ """
17
+
18
+ additional_properties: dict[str, Union["RefValue", str]] = _attrs_field(init=False, factory=dict)
19
+
20
+ def to_dict(self) -> dict[str, Any]:
21
+ from ..models.ref_value import RefValue
22
+
23
+ field_dict: dict[str, Any] = {}
24
+ for prop_name, prop in self.additional_properties.items():
25
+ if isinstance(prop, RefValue):
26
+ field_dict[prop_name] = prop.to_dict()
27
+ else:
28
+ field_dict[prop_name] = prop
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
34
+ from ..models.ref_value import RefValue
35
+
36
+ d = dict(src_dict)
37
+ chain_step_inputs_type_0 = cls()
38
+
39
+ additional_properties = {}
40
+ for prop_name, prop_dict in d.items():
41
+
42
+ def _parse_additional_property(data: object) -> Union["RefValue", str]:
43
+ try:
44
+ if not isinstance(data, dict):
45
+ raise TypeError()
46
+ additional_property_type_1 = RefValue.from_dict(data)
47
+
48
+ return additional_property_type_1
49
+ except: # noqa: E722
50
+ pass
51
+ return cast(Union["RefValue", str], data)
52
+
53
+ additional_property = _parse_additional_property(prop_dict)
54
+
55
+ additional_properties[prop_name] = additional_property
56
+
57
+ chain_step_inputs_type_0.additional_properties = additional_properties
58
+ return chain_step_inputs_type_0
59
+
60
+ @property
61
+ def additional_keys(self) -> list[str]:
62
+ return list(self.additional_properties.keys())
63
+
64
+ def __getitem__(self, key: str) -> Union["RefValue", str]:
65
+ return self.additional_properties[key]
66
+
67
+ def __setitem__(self, key: str, value: Union["RefValue", str]) -> None:
68
+ self.additional_properties[key] = value
69
+
70
+ def __delitem__(self, key: str) -> None:
71
+ del self.additional_properties[key]
72
+
73
+ def __contains__(self, key: str) -> bool:
74
+ return key in self.additional_properties
@@ -35,6 +35,7 @@ class MachineResponse:
35
35
  os_info (Union[None, Unset, str]):
36
36
  user_id (Union[None, UUID, Unset]):
37
37
  organization_id (Union[None, Unset, str]):
38
+ reserved_session_id (Union[None, UUID, Unset]):
38
39
  pools (Union[None, Unset, list['PoolResponse']]):
39
40
  """
40
41
 
@@ -51,6 +52,7 @@ class MachineResponse:
51
52
  os_info: Union[None, Unset, str] = UNSET
52
53
  user_id: Union[None, UUID, Unset] = UNSET
53
54
  organization_id: Union[None, Unset, str] = UNSET
55
+ reserved_session_id: Union[None, UUID, Unset] = UNSET
54
56
  pools: Union[None, Unset, list["PoolResponse"]] = UNSET
55
57
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
56
58
 
@@ -107,6 +109,14 @@ class MachineResponse:
107
109
  else:
108
110
  organization_id = self.organization_id
109
111
 
112
+ reserved_session_id: Union[None, Unset, str]
113
+ if isinstance(self.reserved_session_id, Unset):
114
+ reserved_session_id = UNSET
115
+ elif isinstance(self.reserved_session_id, UUID):
116
+ reserved_session_id = str(self.reserved_session_id)
117
+ else:
118
+ reserved_session_id = self.reserved_session_id
119
+
110
120
  pools: Union[None, Unset, list[dict[str, Any]]]
111
121
  if isinstance(self.pools, Unset):
112
122
  pools = UNSET
@@ -144,6 +154,8 @@ class MachineResponse:
144
154
  field_dict["user_id"] = user_id
145
155
  if organization_id is not UNSET:
146
156
  field_dict["organization_id"] = organization_id
157
+ if reserved_session_id is not UNSET:
158
+ field_dict["reserved_session_id"] = reserved_session_id
147
159
  if pools is not UNSET:
148
160
  field_dict["pools"] = pools
149
161
 
@@ -230,6 +242,23 @@ class MachineResponse:
230
242
 
231
243
  organization_id = _parse_organization_id(d.pop("organization_id", UNSET))
232
244
 
245
+ def _parse_reserved_session_id(data: object) -> Union[None, UUID, Unset]:
246
+ if data is None:
247
+ return data
248
+ if isinstance(data, Unset):
249
+ return data
250
+ try:
251
+ if not isinstance(data, str):
252
+ raise TypeError()
253
+ reserved_session_id_type_0 = UUID(data)
254
+
255
+ return reserved_session_id_type_0
256
+ except: # noqa: E722
257
+ pass
258
+ return cast(Union[None, UUID, Unset], data)
259
+
260
+ reserved_session_id = _parse_reserved_session_id(d.pop("reserved_session_id", UNSET))
261
+
233
262
  def _parse_pools(data: object) -> Union[None, Unset, list["PoolResponse"]]:
234
263
  if data is None:
235
264
  return data
@@ -266,6 +295,7 @@ class MachineResponse:
266
295
  os_info=os_info,
267
296
  user_id=user_id,
268
297
  organization_id=organization_id,
298
+ reserved_session_id=reserved_session_id,
269
299
  pools=pools,
270
300
  )
271
301
 
@@ -1,6 +1,7 @@
1
1
  import datetime
2
2
  from collections.abc import Mapping
3
3
  from typing import Any, TypeVar, Union, cast
4
+ from uuid import UUID
4
5
 
5
6
  from attrs import define as _attrs_define
6
7
  from attrs import field as _attrs_field
@@ -24,6 +25,8 @@ class MachineUpdate:
24
25
  status (Union[MachineStatus, None, Unset]):
25
26
  is_available (Union[None, Unset, bool]):
26
27
  last_seen (Union[None, Unset, datetime.datetime]):
28
+ reserved_session_id (Union[None, UUID, Unset]): Set to null to clear reservation; server will cancel
29
+ queued/running session runs and clear
27
30
  """
28
31
 
29
32
  name: Union[None, Unset, str] = UNSET
@@ -33,6 +36,7 @@ class MachineUpdate:
33
36
  status: Union[MachineStatus, None, Unset] = UNSET
34
37
  is_available: Union[None, Unset, bool] = UNSET
35
38
  last_seen: Union[None, Unset, datetime.datetime] = UNSET
39
+ reserved_session_id: Union[None, UUID, Unset] = UNSET
36
40
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
37
41
 
38
42
  def to_dict(self) -> dict[str, Any]:
@@ -82,6 +86,14 @@ class MachineUpdate:
82
86
  else:
83
87
  last_seen = self.last_seen
84
88
 
89
+ reserved_session_id: Union[None, Unset, str]
90
+ if isinstance(self.reserved_session_id, Unset):
91
+ reserved_session_id = UNSET
92
+ elif isinstance(self.reserved_session_id, UUID):
93
+ reserved_session_id = str(self.reserved_session_id)
94
+ else:
95
+ reserved_session_id = self.reserved_session_id
96
+
85
97
  field_dict: dict[str, Any] = {}
86
98
  field_dict.update(self.additional_properties)
87
99
  field_dict.update({})
@@ -99,6 +111,8 @@ class MachineUpdate:
99
111
  field_dict["is_available"] = is_available
100
112
  if last_seen is not UNSET:
101
113
  field_dict["last_seen"] = last_seen
114
+ if reserved_session_id is not UNSET:
115
+ field_dict["reserved_session_id"] = reserved_session_id
102
116
 
103
117
  return field_dict
104
118
 
@@ -185,6 +199,23 @@ class MachineUpdate:
185
199
 
186
200
  last_seen = _parse_last_seen(d.pop("last_seen", UNSET))
187
201
 
202
+ def _parse_reserved_session_id(data: object) -> Union[None, UUID, Unset]:
203
+ if data is None:
204
+ return data
205
+ if isinstance(data, Unset):
206
+ return data
207
+ try:
208
+ if not isinstance(data, str):
209
+ raise TypeError()
210
+ reserved_session_id_type_0 = UUID(data)
211
+
212
+ return reserved_session_id_type_0
213
+ except: # noqa: E722
214
+ pass
215
+ return cast(Union[None, UUID, Unset], data)
216
+
217
+ reserved_session_id = _parse_reserved_session_id(d.pop("reserved_session_id", UNSET))
218
+
188
219
  machine_update = cls(
189
220
  name=name,
190
221
  version=version,
@@ -193,6 +224,7 @@ class MachineUpdate:
193
224
  status=status,
194
225
  is_available=is_available,
195
226
  last_seen=last_seen,
227
+ reserved_session_id=reserved_session_id,
196
228
  )
197
229
 
198
230
  machine_update.additional_properties = d
@@ -0,0 +1,61 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="RefValue")
8
+
9
+
10
+ @_attrs_define
11
+ class RefValue:
12
+ """Reference to a prior step's output within the same session.
13
+ The wire shape is {"$ref": "alias.outputs.path"}.
14
+
15
+ Attributes:
16
+ ref (str):
17
+ """
18
+
19
+ ref: str
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+ ref = self.ref
24
+
25
+ field_dict: dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "$ref": ref,
30
+ }
31
+ )
32
+
33
+ return field_dict
34
+
35
+ @classmethod
36
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
37
+ d = dict(src_dict)
38
+ ref = d.pop("$ref")
39
+
40
+ ref_value = cls(
41
+ ref=ref,
42
+ )
43
+
44
+ ref_value.additional_properties = d
45
+ return ref_value
46
+
47
+ @property
48
+ def additional_keys(self) -> list[str]:
49
+ return list(self.additional_properties.keys())
50
+
51
+ def __getitem__(self, key: str) -> Any:
52
+ return self.additional_properties[key]
53
+
54
+ def __setitem__(self, key: str, value: Any) -> None:
55
+ self.additional_properties[key] = value
56
+
57
+ def __delitem__(self, key: str) -> None:
58
+ del self.additional_properties[key]
59
+
60
+ def __contains__(self, key: str) -> bool:
61
+ return key in self.additional_properties
@@ -31,6 +31,9 @@ class RunBulkCreate:
31
31
  file_inputs (Union[None, Unset, list['FileInput']]): Files to upload to the machine
32
32
  sensitive_input_values (Union['RunBulkCreateSensitiveInputValuesType0', None, Unset]): Sensitive input values to
33
33
  store in the secure vault per run. Not persisted in our database.
34
+ session_id (Union[None, UUID, Unset]): Join an existing session; overrides machine_id/pool_ids for all runs
35
+ start_session (Union[None, Unset, bool]): Start a new session for these runs; a new UUID will be generated and
36
+ set on all runs. The first run will attempt to reserve a machine. Default: False.
34
37
  """
35
38
 
36
39
  workflow_id: UUID
@@ -40,6 +43,8 @@ class RunBulkCreate:
40
43
  input_values: Union["RunBulkCreateInputValuesType0", None, Unset] = UNSET
41
44
  file_inputs: Union[None, Unset, list["FileInput"]] = UNSET
42
45
  sensitive_input_values: Union["RunBulkCreateSensitiveInputValuesType0", None, Unset] = UNSET
46
+ session_id: Union[None, UUID, Unset] = UNSET
47
+ start_session: Union[None, Unset, bool] = False
43
48
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
44
49
 
45
50
  def to_dict(self) -> dict[str, Any]:
@@ -98,6 +103,20 @@ class RunBulkCreate:
98
103
  else:
99
104
  sensitive_input_values = self.sensitive_input_values
100
105
 
106
+ session_id: Union[None, Unset, str]
107
+ if isinstance(self.session_id, Unset):
108
+ session_id = UNSET
109
+ elif isinstance(self.session_id, UUID):
110
+ session_id = str(self.session_id)
111
+ else:
112
+ session_id = self.session_id
113
+
114
+ start_session: Union[None, Unset, bool]
115
+ if isinstance(self.start_session, Unset):
116
+ start_session = UNSET
117
+ else:
118
+ start_session = self.start_session
119
+
101
120
  field_dict: dict[str, Any] = {}
102
121
  field_dict.update(self.additional_properties)
103
122
  field_dict.update(
@@ -116,6 +135,10 @@ class RunBulkCreate:
116
135
  field_dict["file_inputs"] = file_inputs
117
136
  if sensitive_input_values is not UNSET:
118
137
  field_dict["sensitive_input_values"] = sensitive_input_values
138
+ if session_id is not UNSET:
139
+ field_dict["session_id"] = session_id
140
+ if start_session is not UNSET:
141
+ field_dict["start_session"] = start_session
119
142
 
120
143
  return field_dict
121
144
 
@@ -225,6 +248,32 @@ class RunBulkCreate:
225
248
 
226
249
  sensitive_input_values = _parse_sensitive_input_values(d.pop("sensitive_input_values", UNSET))
227
250
 
251
+ def _parse_session_id(data: object) -> Union[None, UUID, Unset]:
252
+ if data is None:
253
+ return data
254
+ if isinstance(data, Unset):
255
+ return data
256
+ try:
257
+ if not isinstance(data, str):
258
+ raise TypeError()
259
+ session_id_type_0 = UUID(data)
260
+
261
+ return session_id_type_0
262
+ except: # noqa: E722
263
+ pass
264
+ return cast(Union[None, UUID, Unset], data)
265
+
266
+ session_id = _parse_session_id(d.pop("session_id", UNSET))
267
+
268
+ def _parse_start_session(data: object) -> Union[None, Unset, bool]:
269
+ if data is None:
270
+ return data
271
+ if isinstance(data, Unset):
272
+ return data
273
+ return cast(Union[None, Unset, bool], data)
274
+
275
+ start_session = _parse_start_session(d.pop("start_session", UNSET))
276
+
228
277
  run_bulk_create = cls(
229
278
  workflow_id=workflow_id,
230
279
  count=count,
@@ -233,6 +282,8 @@ class RunBulkCreate:
233
282
  input_values=input_values,
234
283
  file_inputs=file_inputs,
235
284
  sensitive_input_values=sensitive_input_values,
285
+ session_id=session_id,
286
+ start_session=start_session,
236
287
  )
237
288
 
238
289
  run_bulk_create.additional_properties = d
@@ -30,6 +30,10 @@ class RunCreate:
30
30
  file_inputs (Union[None, Unset, list['FileInput']]): Files to upload to the machine
31
31
  sensitive_input_values (Union['RunCreateSensitiveInputValuesType0', None, Unset]): Sensitive input values. These
32
32
  are not stored and will be written to a secure vault and referenced by alias only.
33
+ session_id (Union[None, UUID, Unset]): Join an existing session; overrides machine_id/pool_ids
34
+ start_session (Union[None, Unset, bool]): Start a new session on the machine used by this run. Session ID will
35
+ be this run's ID. Default: False.
36
+ session_alias (Union[None, Unset, str]): Persist outputs under this alias for $ref in this session
33
37
  """
34
38
 
35
39
  workflow_id: UUID
@@ -38,6 +42,9 @@ class RunCreate:
38
42
  input_values: Union["RunCreateInputValuesType0", None, Unset] = UNSET
39
43
  file_inputs: Union[None, Unset, list["FileInput"]] = UNSET
40
44
  sensitive_input_values: Union["RunCreateSensitiveInputValuesType0", None, Unset] = UNSET
45
+ session_id: Union[None, UUID, Unset] = UNSET
46
+ start_session: Union[None, Unset, bool] = False
47
+ session_alias: Union[None, Unset, str] = UNSET
41
48
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
42
49
 
43
50
  def to_dict(self) -> dict[str, Any]:
@@ -94,6 +101,26 @@ class RunCreate:
94
101
  else:
95
102
  sensitive_input_values = self.sensitive_input_values
96
103
 
104
+ session_id: Union[None, Unset, str]
105
+ if isinstance(self.session_id, Unset):
106
+ session_id = UNSET
107
+ elif isinstance(self.session_id, UUID):
108
+ session_id = str(self.session_id)
109
+ else:
110
+ session_id = self.session_id
111
+
112
+ start_session: Union[None, Unset, bool]
113
+ if isinstance(self.start_session, Unset):
114
+ start_session = UNSET
115
+ else:
116
+ start_session = self.start_session
117
+
118
+ session_alias: Union[None, Unset, str]
119
+ if isinstance(self.session_alias, Unset):
120
+ session_alias = UNSET
121
+ else:
122
+ session_alias = self.session_alias
123
+
97
124
  field_dict: dict[str, Any] = {}
98
125
  field_dict.update(self.additional_properties)
99
126
  field_dict.update(
@@ -111,6 +138,12 @@ class RunCreate:
111
138
  field_dict["file_inputs"] = file_inputs
112
139
  if sensitive_input_values is not UNSET:
113
140
  field_dict["sensitive_input_values"] = sensitive_input_values
141
+ if session_id is not UNSET:
142
+ field_dict["session_id"] = session_id
143
+ if start_session is not UNSET:
144
+ field_dict["start_session"] = start_session
145
+ if session_alias is not UNSET:
146
+ field_dict["session_alias"] = session_alias
114
147
 
115
148
  return field_dict
116
149
 
@@ -218,6 +251,41 @@ class RunCreate:
218
251
 
219
252
  sensitive_input_values = _parse_sensitive_input_values(d.pop("sensitive_input_values", UNSET))
220
253
 
254
+ def _parse_session_id(data: object) -> Union[None, UUID, Unset]:
255
+ if data is None:
256
+ return data
257
+ if isinstance(data, Unset):
258
+ return data
259
+ try:
260
+ if not isinstance(data, str):
261
+ raise TypeError()
262
+ session_id_type_0 = UUID(data)
263
+
264
+ return session_id_type_0
265
+ except: # noqa: E722
266
+ pass
267
+ return cast(Union[None, UUID, Unset], data)
268
+
269
+ session_id = _parse_session_id(d.pop("session_id", UNSET))
270
+
271
+ def _parse_start_session(data: object) -> Union[None, Unset, bool]:
272
+ if data is None:
273
+ return data
274
+ if isinstance(data, Unset):
275
+ return data
276
+ return cast(Union[None, Unset, bool], data)
277
+
278
+ start_session = _parse_start_session(d.pop("start_session", UNSET))
279
+
280
+ def _parse_session_alias(data: object) -> Union[None, Unset, str]:
281
+ if data is None:
282
+ return data
283
+ if isinstance(data, Unset):
284
+ return data
285
+ return cast(Union[None, Unset, str], data)
286
+
287
+ session_alias = _parse_session_alias(d.pop("session_alias", UNSET))
288
+
221
289
  run_create = cls(
222
290
  workflow_id=workflow_id,
223
291
  machine_id=machine_id,
@@ -225,6 +293,9 @@ class RunCreate:
225
293
  input_values=input_values,
226
294
  file_inputs=file_inputs,
227
295
  sensitive_input_values=sensitive_input_values,
296
+ session_id=session_id,
297
+ start_session=start_session,
298
+ session_alias=session_alias,
228
299
  )
229
300
 
230
301
  run_create.additional_properties = d
@@ -40,6 +40,8 @@ class RunResponse:
40
40
  organization_id (Union[None, Unset, str]):
41
41
  pool_ids (Union[None, Unset, list[UUID]]):
42
42
  sensitive_input_aliases (Union['RunResponseSensitiveInputAliasesType0', None, Unset]):
43
+ session_id (Union[None, UUID, Unset]):
44
+ session_alias (Union[None, Unset, str]):
43
45
  """
44
46
 
45
47
  workflow_id: UUID
@@ -57,6 +59,8 @@ class RunResponse:
57
59
  organization_id: Union[None, Unset, str] = UNSET
58
60
  pool_ids: Union[None, Unset, list[UUID]] = UNSET
59
61
  sensitive_input_aliases: Union["RunResponseSensitiveInputAliasesType0", None, Unset] = UNSET
62
+ session_id: Union[None, UUID, Unset] = UNSET
63
+ session_alias: Union[None, Unset, str] = UNSET
60
64
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
61
65
 
62
66
  def to_dict(self) -> dict[str, Any]:
@@ -155,6 +159,20 @@ class RunResponse:
155
159
  else:
156
160
  sensitive_input_aliases = self.sensitive_input_aliases
157
161
 
162
+ session_id: Union[None, Unset, str]
163
+ if isinstance(self.session_id, Unset):
164
+ session_id = UNSET
165
+ elif isinstance(self.session_id, UUID):
166
+ session_id = str(self.session_id)
167
+ else:
168
+ session_id = self.session_id
169
+
170
+ session_alias: Union[None, Unset, str]
171
+ if isinstance(self.session_alias, Unset):
172
+ session_alias = UNSET
173
+ else:
174
+ session_alias = self.session_alias
175
+
158
176
  field_dict: dict[str, Any] = {}
159
177
  field_dict.update(self.additional_properties)
160
178
  field_dict.update(
@@ -180,6 +198,10 @@ class RunResponse:
180
198
  field_dict["pool_ids"] = pool_ids
181
199
  if sensitive_input_aliases is not UNSET:
182
200
  field_dict["sensitive_input_aliases"] = sensitive_input_aliases
201
+ if session_id is not UNSET:
202
+ field_dict["session_id"] = session_id
203
+ if session_alias is not UNSET:
204
+ field_dict["session_alias"] = session_alias
183
205
 
184
206
  return field_dict
185
207
 
@@ -376,6 +398,32 @@ class RunResponse:
376
398
 
377
399
  sensitive_input_aliases = _parse_sensitive_input_aliases(d.pop("sensitive_input_aliases", UNSET))
378
400
 
401
+ def _parse_session_id(data: object) -> Union[None, UUID, Unset]:
402
+ if data is None:
403
+ return data
404
+ if isinstance(data, Unset):
405
+ return data
406
+ try:
407
+ if not isinstance(data, str):
408
+ raise TypeError()
409
+ session_id_type_0 = UUID(data)
410
+
411
+ return session_id_type_0
412
+ except: # noqa: E722
413
+ pass
414
+ return cast(Union[None, UUID, Unset], data)
415
+
416
+ session_id = _parse_session_id(d.pop("session_id", UNSET))
417
+
418
+ def _parse_session_alias(data: object) -> Union[None, Unset, str]:
419
+ if data is None:
420
+ return data
421
+ if isinstance(data, Unset):
422
+ return data
423
+ return cast(Union[None, Unset, str], data)
424
+
425
+ session_alias = _parse_session_alias(d.pop("session_alias", UNSET))
426
+
379
427
  run_response = cls(
380
428
  workflow_id=workflow_id,
381
429
  machine_id=machine_id,
@@ -392,6 +440,8 @@ class RunResponse:
392
440
  organization_id=organization_id,
393
441
  pool_ids=pool_ids,
394
442
  sensitive_input_aliases=sensitive_input_aliases,
443
+ session_id=session_id,
444
+ session_alias=session_alias,
395
445
  )
396
446
 
397
447
  run_response.additional_properties = d