cyberdesk 2.1.4__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 (26) hide show
  1. cyberdesk/__init__.py +1 -1
  2. cyberdesk/client.py +73 -0
  3. {cyberdesk-2.1.4.dist-info → cyberdesk-2.1.6.dist-info}/METADATA +1 -1
  4. {cyberdesk-2.1.4.dist-info → cyberdesk-2.1.6.dist-info}/RECORD +26 -13
  5. openapi_client/cyberdesk_cloud_client/api/computer/mouse_scroll_v1_computer_machine_id_input_mouse_scroll_post.py +187 -0
  6. openapi_client/cyberdesk_cloud_client/api/runs/create_run_chain_v1_runs_chain_post.py +192 -0
  7. openapi_client/cyberdesk_cloud_client/models/__init__.py +22 -0
  8. openapi_client/cyberdesk_cloud_client/models/chain_step.py +122 -0
  9. openapi_client/cyberdesk_cloud_client/models/chain_step_inputs_type_0.py +74 -0
  10. openapi_client/cyberdesk_cloud_client/models/machine_response.py +30 -0
  11. openapi_client/cyberdesk_cloud_client/models/machine_update.py +32 -0
  12. openapi_client/cyberdesk_cloud_client/models/mouse_scroll_request.py +109 -0
  13. openapi_client/cyberdesk_cloud_client/models/ref_value.py +61 -0
  14. openapi_client/cyberdesk_cloud_client/models/run_bulk_create.py +85 -0
  15. openapi_client/cyberdesk_cloud_client/models/run_bulk_create_sensitive_input_values_type_0.py +44 -0
  16. openapi_client/cyberdesk_cloud_client/models/run_create.py +105 -0
  17. openapi_client/cyberdesk_cloud_client/models/run_create_sensitive_input_values_type_0.py +44 -0
  18. openapi_client/cyberdesk_cloud_client/models/run_response.py +83 -0
  19. openapi_client/cyberdesk_cloud_client/models/run_response_sensitive_input_aliases_type_0.py +44 -0
  20. openapi_client/cyberdesk_cloud_client/models/workflow_chain_create.py +305 -0
  21. openapi_client/cyberdesk_cloud_client/models/workflow_chain_create_shared_inputs_type_0.py +44 -0
  22. openapi_client/cyberdesk_cloud_client/models/workflow_chain_create_shared_sensitive_inputs_type_0.py +44 -0
  23. openapi_client/cyberdesk_cloud_client/models/workflow_chain_response.py +77 -0
  24. {cyberdesk-2.1.4.dist-info → cyberdesk-2.1.6.dist-info}/WHEEL +0 -0
  25. {cyberdesk-2.1.4.dist-info → cyberdesk-2.1.6.dist-info}/licenses/LICENSE +0 -0
  26. {cyberdesk-2.1.4.dist-info → cyberdesk-2.1.6.dist-info}/top_level.txt +0 -0
@@ -10,6 +10,7 @@ from ..types import UNSET, Unset
10
10
  if TYPE_CHECKING:
11
11
  from ..models.file_input import FileInput
12
12
  from ..models.run_bulk_create_input_values_type_0 import RunBulkCreateInputValuesType0
13
+ from ..models.run_bulk_create_sensitive_input_values_type_0 import RunBulkCreateSensitiveInputValuesType0
13
14
 
14
15
 
15
16
  T = TypeVar("T", bound="RunBulkCreate")
@@ -28,6 +29,11 @@ class RunBulkCreate:
28
29
  these pools (intersection). Ignored when machine_id is provided.
29
30
  input_values (Union['RunBulkCreateInputValuesType0', None, Unset]): Input values for workflow variables
30
31
  file_inputs (Union[None, Unset, list['FileInput']]): Files to upload to the machine
32
+ sensitive_input_values (Union['RunBulkCreateSensitiveInputValuesType0', None, Unset]): Sensitive input values to
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.
31
37
  """
32
38
 
33
39
  workflow_id: UUID
@@ -36,10 +42,14 @@ class RunBulkCreate:
36
42
  pool_ids: Union[None, Unset, list[UUID]] = UNSET
37
43
  input_values: Union["RunBulkCreateInputValuesType0", None, Unset] = UNSET
38
44
  file_inputs: Union[None, Unset, list["FileInput"]] = UNSET
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
39
48
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
40
49
 
41
50
  def to_dict(self) -> dict[str, Any]:
42
51
  from ..models.run_bulk_create_input_values_type_0 import RunBulkCreateInputValuesType0
52
+ from ..models.run_bulk_create_sensitive_input_values_type_0 import RunBulkCreateSensitiveInputValuesType0
43
53
 
44
54
  workflow_id = str(self.workflow_id)
45
55
 
@@ -85,6 +95,28 @@ class RunBulkCreate:
85
95
  else:
86
96
  file_inputs = self.file_inputs
87
97
 
98
+ sensitive_input_values: Union[None, Unset, dict[str, Any]]
99
+ if isinstance(self.sensitive_input_values, Unset):
100
+ sensitive_input_values = UNSET
101
+ elif isinstance(self.sensitive_input_values, RunBulkCreateSensitiveInputValuesType0):
102
+ sensitive_input_values = self.sensitive_input_values.to_dict()
103
+ else:
104
+ sensitive_input_values = self.sensitive_input_values
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
+
88
120
  field_dict: dict[str, Any] = {}
89
121
  field_dict.update(self.additional_properties)
90
122
  field_dict.update(
@@ -101,6 +133,12 @@ class RunBulkCreate:
101
133
  field_dict["input_values"] = input_values
102
134
  if file_inputs is not UNSET:
103
135
  field_dict["file_inputs"] = file_inputs
136
+ if sensitive_input_values is not UNSET:
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
104
142
 
105
143
  return field_dict
106
144
 
@@ -108,6 +146,7 @@ class RunBulkCreate:
108
146
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
109
147
  from ..models.file_input import FileInput
110
148
  from ..models.run_bulk_create_input_values_type_0 import RunBulkCreateInputValuesType0
149
+ from ..models.run_bulk_create_sensitive_input_values_type_0 import RunBulkCreateSensitiveInputValuesType0
111
150
 
112
151
  d = dict(src_dict)
113
152
  workflow_id = UUID(d.pop("workflow_id"))
@@ -192,6 +231,49 @@ class RunBulkCreate:
192
231
 
193
232
  file_inputs = _parse_file_inputs(d.pop("file_inputs", UNSET))
194
233
 
234
+ def _parse_sensitive_input_values(data: object) -> Union["RunBulkCreateSensitiveInputValuesType0", None, Unset]:
235
+ if data is None:
236
+ return data
237
+ if isinstance(data, Unset):
238
+ return data
239
+ try:
240
+ if not isinstance(data, dict):
241
+ raise TypeError()
242
+ sensitive_input_values_type_0 = RunBulkCreateSensitiveInputValuesType0.from_dict(data)
243
+
244
+ return sensitive_input_values_type_0
245
+ except: # noqa: E722
246
+ pass
247
+ return cast(Union["RunBulkCreateSensitiveInputValuesType0", None, Unset], data)
248
+
249
+ sensitive_input_values = _parse_sensitive_input_values(d.pop("sensitive_input_values", UNSET))
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
+
195
277
  run_bulk_create = cls(
196
278
  workflow_id=workflow_id,
197
279
  count=count,
@@ -199,6 +281,9 @@ class RunBulkCreate:
199
281
  pool_ids=pool_ids,
200
282
  input_values=input_values,
201
283
  file_inputs=file_inputs,
284
+ sensitive_input_values=sensitive_input_values,
285
+ session_id=session_id,
286
+ start_session=start_session,
202
287
  )
203
288
 
204
289
  run_bulk_create.additional_properties = d
@@ -0,0 +1,44 @@
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="RunBulkCreateSensitiveInputValuesType0")
8
+
9
+
10
+ @_attrs_define
11
+ class RunBulkCreateSensitiveInputValuesType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ run_bulk_create_sensitive_input_values_type_0 = cls()
26
+
27
+ run_bulk_create_sensitive_input_values_type_0.additional_properties = d
28
+ return run_bulk_create_sensitive_input_values_type_0
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> str:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: str) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -10,6 +10,7 @@ from ..types import UNSET, Unset
10
10
  if TYPE_CHECKING:
11
11
  from ..models.file_input import FileInput
12
12
  from ..models.run_create_input_values_type_0 import RunCreateInputValuesType0
13
+ from ..models.run_create_sensitive_input_values_type_0 import RunCreateSensitiveInputValuesType0
13
14
 
14
15
 
15
16
  T = TypeVar("T", bound="RunCreate")
@@ -27,6 +28,12 @@ class RunCreate:
27
28
  these pools (intersection). Ignored when machine_id is provided.
28
29
  input_values (Union['RunCreateInputValuesType0', None, Unset]): Input values for workflow variables
29
30
  file_inputs (Union[None, Unset, list['FileInput']]): Files to upload to the machine
31
+ sensitive_input_values (Union['RunCreateSensitiveInputValuesType0', None, Unset]): Sensitive input values. These
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
30
37
  """
31
38
 
32
39
  workflow_id: UUID
@@ -34,10 +41,15 @@ class RunCreate:
34
41
  pool_ids: Union[None, Unset, list[UUID]] = UNSET
35
42
  input_values: Union["RunCreateInputValuesType0", None, Unset] = UNSET
36
43
  file_inputs: Union[None, Unset, list["FileInput"]] = UNSET
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
37
48
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
38
49
 
39
50
  def to_dict(self) -> dict[str, Any]:
40
51
  from ..models.run_create_input_values_type_0 import RunCreateInputValuesType0
52
+ from ..models.run_create_sensitive_input_values_type_0 import RunCreateSensitiveInputValuesType0
41
53
 
42
54
  workflow_id = str(self.workflow_id)
43
55
 
@@ -81,6 +93,34 @@ class RunCreate:
81
93
  else:
82
94
  file_inputs = self.file_inputs
83
95
 
96
+ sensitive_input_values: Union[None, Unset, dict[str, Any]]
97
+ if isinstance(self.sensitive_input_values, Unset):
98
+ sensitive_input_values = UNSET
99
+ elif isinstance(self.sensitive_input_values, RunCreateSensitiveInputValuesType0):
100
+ sensitive_input_values = self.sensitive_input_values.to_dict()
101
+ else:
102
+ sensitive_input_values = self.sensitive_input_values
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
+
84
124
  field_dict: dict[str, Any] = {}
85
125
  field_dict.update(self.additional_properties)
86
126
  field_dict.update(
@@ -96,6 +136,14 @@ class RunCreate:
96
136
  field_dict["input_values"] = input_values
97
137
  if file_inputs is not UNSET:
98
138
  field_dict["file_inputs"] = file_inputs
139
+ if sensitive_input_values is not UNSET:
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
99
147
 
100
148
  return field_dict
101
149
 
@@ -103,6 +151,7 @@ class RunCreate:
103
151
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
104
152
  from ..models.file_input import FileInput
105
153
  from ..models.run_create_input_values_type_0 import RunCreateInputValuesType0
154
+ from ..models.run_create_sensitive_input_values_type_0 import RunCreateSensitiveInputValuesType0
106
155
 
107
156
  d = dict(src_dict)
108
157
  workflow_id = UUID(d.pop("workflow_id"))
@@ -185,12 +234,68 @@ class RunCreate:
185
234
 
186
235
  file_inputs = _parse_file_inputs(d.pop("file_inputs", UNSET))
187
236
 
237
+ def _parse_sensitive_input_values(data: object) -> Union["RunCreateSensitiveInputValuesType0", None, Unset]:
238
+ if data is None:
239
+ return data
240
+ if isinstance(data, Unset):
241
+ return data
242
+ try:
243
+ if not isinstance(data, dict):
244
+ raise TypeError()
245
+ sensitive_input_values_type_0 = RunCreateSensitiveInputValuesType0.from_dict(data)
246
+
247
+ return sensitive_input_values_type_0
248
+ except: # noqa: E722
249
+ pass
250
+ return cast(Union["RunCreateSensitiveInputValuesType0", None, Unset], data)
251
+
252
+ sensitive_input_values = _parse_sensitive_input_values(d.pop("sensitive_input_values", UNSET))
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
+
188
289
  run_create = cls(
189
290
  workflow_id=workflow_id,
190
291
  machine_id=machine_id,
191
292
  pool_ids=pool_ids,
192
293
  input_values=input_values,
193
294
  file_inputs=file_inputs,
295
+ sensitive_input_values=sensitive_input_values,
296
+ session_id=session_id,
297
+ start_session=start_session,
298
+ session_alias=session_alias,
194
299
  )
195
300
 
196
301
  run_create.additional_properties = d
@@ -0,0 +1,44 @@
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="RunCreateSensitiveInputValuesType0")
8
+
9
+
10
+ @_attrs_define
11
+ class RunCreateSensitiveInputValuesType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ run_create_sensitive_input_values_type_0 = cls()
26
+
27
+ run_create_sensitive_input_values_type_0.additional_properties = d
28
+ return run_create_sensitive_input_values_type_0
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> str:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: str) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -14,6 +14,7 @@ if TYPE_CHECKING:
14
14
  from ..models.run_response_input_values_type_0 import RunResponseInputValuesType0
15
15
  from ..models.run_response_output_data_type_0 import RunResponseOutputDataType0
16
16
  from ..models.run_response_run_message_history_type_0_item import RunResponseRunMessageHistoryType0Item
17
+ from ..models.run_response_sensitive_input_aliases_type_0 import RunResponseSensitiveInputAliasesType0
17
18
 
18
19
 
19
20
  T = TypeVar("T", bound="RunResponse")
@@ -38,6 +39,9 @@ class RunResponse:
38
39
  user_id (Union[None, UUID, Unset]):
39
40
  organization_id (Union[None, Unset, str]):
40
41
  pool_ids (Union[None, Unset, list[UUID]]):
42
+ sensitive_input_aliases (Union['RunResponseSensitiveInputAliasesType0', None, Unset]):
43
+ session_id (Union[None, UUID, Unset]):
44
+ session_alias (Union[None, Unset, str]):
41
45
  """
42
46
 
43
47
  workflow_id: UUID
@@ -54,11 +58,15 @@ class RunResponse:
54
58
  user_id: Union[None, UUID, Unset] = UNSET
55
59
  organization_id: Union[None, Unset, str] = UNSET
56
60
  pool_ids: Union[None, Unset, list[UUID]] = UNSET
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
57
64
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
58
65
 
59
66
  def to_dict(self) -> dict[str, Any]:
60
67
  from ..models.run_response_input_values_type_0 import RunResponseInputValuesType0
61
68
  from ..models.run_response_output_data_type_0 import RunResponseOutputDataType0
69
+ from ..models.run_response_sensitive_input_aliases_type_0 import RunResponseSensitiveInputAliasesType0
62
70
 
63
71
  workflow_id = str(self.workflow_id)
64
72
 
@@ -143,6 +151,28 @@ class RunResponse:
143
151
  else:
144
152
  pool_ids = self.pool_ids
145
153
 
154
+ sensitive_input_aliases: Union[None, Unset, dict[str, Any]]
155
+ if isinstance(self.sensitive_input_aliases, Unset):
156
+ sensitive_input_aliases = UNSET
157
+ elif isinstance(self.sensitive_input_aliases, RunResponseSensitiveInputAliasesType0):
158
+ sensitive_input_aliases = self.sensitive_input_aliases.to_dict()
159
+ else:
160
+ sensitive_input_aliases = self.sensitive_input_aliases
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
+
146
176
  field_dict: dict[str, Any] = {}
147
177
  field_dict.update(self.additional_properties)
148
178
  field_dict.update(
@@ -166,6 +196,12 @@ class RunResponse:
166
196
  field_dict["organization_id"] = organization_id
167
197
  if pool_ids is not UNSET:
168
198
  field_dict["pool_ids"] = pool_ids
199
+ if sensitive_input_aliases is not UNSET:
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
169
205
 
170
206
  return field_dict
171
207
 
@@ -174,6 +210,7 @@ class RunResponse:
174
210
  from ..models.run_response_input_values_type_0 import RunResponseInputValuesType0
175
211
  from ..models.run_response_output_data_type_0 import RunResponseOutputDataType0
176
212
  from ..models.run_response_run_message_history_type_0_item import RunResponseRunMessageHistoryType0Item
213
+ from ..models.run_response_sensitive_input_aliases_type_0 import RunResponseSensitiveInputAliasesType0
177
214
 
178
215
  d = dict(src_dict)
179
216
  workflow_id = UUID(d.pop("workflow_id"))
@@ -344,6 +381,49 @@ class RunResponse:
344
381
 
345
382
  pool_ids = _parse_pool_ids(d.pop("pool_ids", UNSET))
346
383
 
384
+ def _parse_sensitive_input_aliases(data: object) -> Union["RunResponseSensitiveInputAliasesType0", None, Unset]:
385
+ if data is None:
386
+ return data
387
+ if isinstance(data, Unset):
388
+ return data
389
+ try:
390
+ if not isinstance(data, dict):
391
+ raise TypeError()
392
+ sensitive_input_aliases_type_0 = RunResponseSensitiveInputAliasesType0.from_dict(data)
393
+
394
+ return sensitive_input_aliases_type_0
395
+ except: # noqa: E722
396
+ pass
397
+ return cast(Union["RunResponseSensitiveInputAliasesType0", None, Unset], data)
398
+
399
+ sensitive_input_aliases = _parse_sensitive_input_aliases(d.pop("sensitive_input_aliases", UNSET))
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
+
347
427
  run_response = cls(
348
428
  workflow_id=workflow_id,
349
429
  machine_id=machine_id,
@@ -359,6 +439,9 @@ class RunResponse:
359
439
  user_id=user_id,
360
440
  organization_id=organization_id,
361
441
  pool_ids=pool_ids,
442
+ sensitive_input_aliases=sensitive_input_aliases,
443
+ session_id=session_id,
444
+ session_alias=session_alias,
362
445
  )
363
446
 
364
447
  run_response.additional_properties = d
@@ -0,0 +1,44 @@
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="RunResponseSensitiveInputAliasesType0")
8
+
9
+
10
+ @_attrs_define
11
+ class RunResponseSensitiveInputAliasesType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ run_response_sensitive_input_aliases_type_0 = cls()
26
+
27
+ run_response_sensitive_input_aliases_type_0.additional_properties = d
28
+ return run_response_sensitive_input_aliases_type_0
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> str:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: str) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties