cyberdesk 2.1.13__py3-none-any.whl → 2.1.14__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.
- cyberdesk/__init__.py +1 -1
- cyberdesk/client.py +11 -2
- {cyberdesk-2.1.13.dist-info → cyberdesk-2.1.14.dist-info}/METADATA +1 -1
- {cyberdesk-2.1.13.dist-info → cyberdesk-2.1.14.dist-info}/RECORD +12 -9
- openapi_client/cyberdesk_cloud_client/api/computer/mouse_drag_v1_computer_machine_id_input_mouse_drag_post.py +183 -0
- openapi_client/cyberdesk_cloud_client/models/__init__.py +4 -0
- openapi_client/cyberdesk_cloud_client/models/chain_step.py +34 -0
- openapi_client/cyberdesk_cloud_client/models/chain_step_sensitive_inputs_type_0.py +44 -0
- openapi_client/cyberdesk_cloud_client/models/mouse_drag_request.py +125 -0
- {cyberdesk-2.1.13.dist-info → cyberdesk-2.1.14.dist-info}/WHEEL +0 -0
- {cyberdesk-2.1.13.dist-info → cyberdesk-2.1.14.dist-info}/licenses/LICENSE +0 -0
- {cyberdesk-2.1.13.dist-info → cyberdesk-2.1.14.dist-info}/top_level.txt +0 -0
cyberdesk/__init__.py
CHANGED
cyberdesk/client.py
CHANGED
|
@@ -1144,7 +1144,7 @@ class RunsAPI:
|
|
|
1144
1144
|
"""Create a multi-step chain that runs on a single reserved session/machine.
|
|
1145
1145
|
|
|
1146
1146
|
Args:
|
|
1147
|
-
data: WorkflowChainCreate with steps (session_alias, inputs),
|
|
1147
|
+
data: WorkflowChainCreate with steps (session_alias, inputs, sensitive_inputs),
|
|
1148
1148
|
optional shared_inputs/sensitive/file_inputs, and optional
|
|
1149
1149
|
session_id or machine_id/pool_ids for session start.
|
|
1150
1150
|
|
|
@@ -1161,7 +1161,16 @@ class RunsAPI:
|
|
|
1161
1161
|
return ApiResponse(error=e)
|
|
1162
1162
|
|
|
1163
1163
|
def chain_sync(self, data: WorkflowChainCreate) -> ApiResponse:
|
|
1164
|
-
"""Create a multi-step chain (synchronous).
|
|
1164
|
+
"""Create a multi-step chain (synchronous).
|
|
1165
|
+
|
|
1166
|
+
Args:
|
|
1167
|
+
data: WorkflowChainCreate with steps (session_alias, inputs, sensitive_inputs),
|
|
1168
|
+
optional shared_inputs/sensitive/file_inputs, and optional
|
|
1169
|
+
session_id or machine_id/pool_ids for session start.
|
|
1170
|
+
|
|
1171
|
+
Returns:
|
|
1172
|
+
ApiResponse with WorkflowChainResponse
|
|
1173
|
+
"""
|
|
1165
1174
|
try:
|
|
1166
1175
|
response = create_run_chain_v1_runs_chain_post.sync(
|
|
1167
1176
|
client=self.client,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
cyberdesk/__init__.py,sha256=
|
|
2
|
-
cyberdesk/client.py,sha256=
|
|
3
|
-
cyberdesk-2.1.
|
|
1
|
+
cyberdesk/__init__.py,sha256=QKt-Vt7h6fRZIxWfTlv8oVc_KJDeh5ntBuUxC0nQD1M,1158
|
|
2
|
+
cyberdesk/client.py,sha256=usySCtogL1BJ_7Bn_lWixcX0GQLZINkY09t3-BTTWrw,68990
|
|
3
|
+
cyberdesk-2.1.14.dist-info/licenses/LICENSE,sha256=06Op63FCwGhuUOz__M8IZW5sxd29WxyGC4X5-Uih7IQ,1071
|
|
4
4
|
openapi_client/cyberdesk_cloud_client/__init__.py,sha256=r_uVkNUL-SOK8j7-KiGMIKdinES5X8K1Q250ySX2F-A,158
|
|
5
5
|
openapi_client/cyberdesk_cloud_client/client.py,sha256=o_mdLqyBCQstu5tS1WZFwqIEbGwkvWQ7eQjuCJw_5VY,12419
|
|
6
6
|
openapi_client/cyberdesk_cloud_client/errors.py,sha256=gO8GBmKqmSNgAg-E5oT-oOyxztvp7V_6XG7OUTT15q0,546
|
|
@@ -17,6 +17,7 @@ openapi_client/cyberdesk_cloud_client/api/computer/get_screenshot_v1_computer_ma
|
|
|
17
17
|
openapi_client/cyberdesk_cloud_client/api/computer/keyboard_key_v1_computer_machine_id_input_keyboard_key_post.py,sha256=14iKQ2Pj9YCc4YgbNhsmIM8y4hO_xMzm2aOFMIFE4j8,4948
|
|
18
18
|
openapi_client/cyberdesk_cloud_client/api/computer/keyboard_type_v1_computer_machine_id_input_keyboard_type_post.py,sha256=tVBv4T6cg5UscdZtFuZpV4WJFF1Lqg7jDP97dbpoPnk,4664
|
|
19
19
|
openapi_client/cyberdesk_cloud_client/api/computer/mouse_click_v1_computer_machine_id_input_mouse_click_post.py,sha256=_b8dCyAI0W3Fr0Ra5vo35yJuMb36cS0o41SSlLT1xf8,4984
|
|
20
|
+
openapi_client/cyberdesk_cloud_client/api/computer/mouse_drag_v1_computer_machine_id_input_mouse_drag_post.py,sha256=CJ7BogOcUfdBlVKetDCThtb8n_7ZdjhZ9cwtzealuVw,4900
|
|
20
21
|
openapi_client/cyberdesk_cloud_client/api/computer/mouse_move_v1_computer_machine_id_input_mouse_move_post.py,sha256=CNfIj6oTs8QSRo4674pmHw9kJQIBw7D-u7mKT62tMDg,4704
|
|
21
22
|
openapi_client/cyberdesk_cloud_client/api/computer/mouse_scroll_v1_computer_machine_id_input_mouse_scroll_post.py,sha256=iHi8de7RU7gc1aLzLXlrlNW4HO13M8SigTyMqypA-9s,5024
|
|
22
23
|
openapi_client/cyberdesk_cloud_client/api/computer/powershell_exec_v1_computer_machine_id_shell_powershell_exec_post.py,sha256=iZCvu92FFTVAZfIkw-PIWPllUe4NRuAdjB63IasSxKw,6567
|
|
@@ -89,10 +90,11 @@ openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_v1_workflows_wo
|
|
|
89
90
|
openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_versions_v1_workflows_workflow_id_versions_get.py,sha256=ax_5V-lIClvOxr50eXSIAPbyhWP-cS4a4DXzwdxkVYs,5889
|
|
90
91
|
openapi_client/cyberdesk_cloud_client/api/workflows/list_workflows_v1_workflows_get.py,sha256=Aszxh1BlUuRqMHjT7lvZf8g6kDCcNUZtuwoJqhDOwlQ,11258
|
|
91
92
|
openapi_client/cyberdesk_cloud_client/api/workflows/update_workflow_v1_workflows_workflow_id_patch.py,sha256=K_tuO6s_FyM8MUOck5AuX_RNIeYqCQcfYx1aDg9xwhE,5737
|
|
92
|
-
openapi_client/cyberdesk_cloud_client/models/__init__.py,sha256=
|
|
93
|
+
openapi_client/cyberdesk_cloud_client/models/__init__.py,sha256=bN2yq2UmoeEwvmWfc5o9Kk9UoFYBa3S7fPrnc_k_qx0,10774
|
|
93
94
|
openapi_client/cyberdesk_cloud_client/models/attachment_type.py,sha256=zqPOsSd2AmxGNqb5HQ6ZYBAYL8k-0UbWHhfAJYNHoro,161
|
|
94
|
-
openapi_client/cyberdesk_cloud_client/models/chain_step.py,sha256=
|
|
95
|
+
openapi_client/cyberdesk_cloud_client/models/chain_step.py,sha256=RbcnI9FI-e6fPYnvtsTUcKmyOkw_0X0R3YLzQihyMO4,5608
|
|
95
96
|
openapi_client/cyberdesk_cloud_client/models/chain_step_inputs_type_0.py,sha256=fLKmOSl7rEi7pRrXbY1sqiVdbCNg0mGj2cPOb5_7hh4,2368
|
|
97
|
+
openapi_client/cyberdesk_cloud_client/models/chain_step_sensitive_inputs_type_0.py,sha256=oLV0b0BiQulk_iNK7QE01t3kBTMmK_0bgBoW9BwfSjI,1302
|
|
96
98
|
openapi_client/cyberdesk_cloud_client/models/connection_create.py,sha256=gCI36DmjJDZxzGFPbykyYw9k4QEf_4dVNz9b-xZfLo4,3288
|
|
97
99
|
openapi_client/cyberdesk_cloud_client/models/connection_response.py,sha256=aFxqJX75wSEw5dZ-kvh3Wgv_haJ6xYJ7o72vSAbEtHY,5247
|
|
98
100
|
openapi_client/cyberdesk_cloud_client/models/connection_status.py,sha256=XTpa-W0TinYhypU7P-LaJEI3I2JsEaT3voUZQ3zoJO0,203
|
|
@@ -117,6 +119,7 @@ openapi_client/cyberdesk_cloud_client/models/machine_response.py,sha256=2fOAnhfZ
|
|
|
117
119
|
openapi_client/cyberdesk_cloud_client/models/machine_status.py,sha256=mqKyXgK1wcaA2fI6iTo_tS7AMeuVrRN4yE21d2Lsq1I,200
|
|
118
120
|
openapi_client/cyberdesk_cloud_client/models/machine_update.py,sha256=0rUF8QOMrKLfGc2t1tULmId33sXBr9uwNgJSUD7p6es,8344
|
|
119
121
|
openapi_client/cyberdesk_cloud_client/models/mouse_click_request.py,sha256=GSBn4fg2sNnL4KQQHKly2YIzyRqbfwVgrQXpaalOUxg,3423
|
|
122
|
+
openapi_client/cyberdesk_cloud_client/models/mouse_drag_request.py,sha256=TRQoT0FUprSE2hBK7U3M_mHWx2VzvE_YKg582OBXgXc,3389
|
|
120
123
|
openapi_client/cyberdesk_cloud_client/models/mouse_move_request.py,sha256=D5sWQwnRvs_IvRocctMeE2czciI-KvuuYh73PLutkPo,1548
|
|
121
124
|
openapi_client/cyberdesk_cloud_client/models/mouse_position.py,sha256=t8PW-7xKfyHb3LVnZQglSu4Hrlp7W_xmoqS-UYOqG2U,1530
|
|
122
125
|
openapi_client/cyberdesk_cloud_client/models/mouse_scroll_request.py,sha256=Q0QG8UweABu0BJXOBQVh8HCgMMyCSvHzoXf4Gkm6A5s,2980
|
|
@@ -185,7 +188,7 @@ openapi_client/cyberdesk_cloud_client/models/workflow_create.py,sha256=d0bfNbNBF
|
|
|
185
188
|
openapi_client/cyberdesk_cloud_client/models/workflow_response.py,sha256=k48mouJ6Dcisz2vyM7Rb_cbjU66JudGVPsq4UC7grHA,8977
|
|
186
189
|
openapi_client/cyberdesk_cloud_client/models/workflow_response_old_versions_type_0_item.py,sha256=W9AxxlBlN3rUwLDcoUx5H7MUiYA9UztfX9iEpNGlgAs,1340
|
|
187
190
|
openapi_client/cyberdesk_cloud_client/models/workflow_update.py,sha256=TG2jEitXixS2thtz7lTxTZaE0RBVSWd-apVxWxsvnrg,5333
|
|
188
|
-
cyberdesk-2.1.
|
|
189
|
-
cyberdesk-2.1.
|
|
190
|
-
cyberdesk-2.1.
|
|
191
|
-
cyberdesk-2.1.
|
|
191
|
+
cyberdesk-2.1.14.dist-info/METADATA,sha256=8bRealAgwCiFT8qpINQGXg0MM00twj-rJikLC_WKSmw,6792
|
|
192
|
+
cyberdesk-2.1.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
193
|
+
cyberdesk-2.1.14.dist-info/top_level.txt,sha256=qTYHZHVHh3VClNPQsiFFA8p8tmJgFGhq9G1COd-pX_A,25
|
|
194
|
+
cyberdesk-2.1.14.dist-info/RECORD,,
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
from http import HTTPStatus
|
|
2
|
+
from typing import Any, Optional, Union, cast
|
|
3
|
+
|
|
4
|
+
import httpx
|
|
5
|
+
|
|
6
|
+
from ... import errors
|
|
7
|
+
from ...client import AuthenticatedClient, Client
|
|
8
|
+
from ...models.http_validation_error import HTTPValidationError
|
|
9
|
+
from ...models.mouse_drag_request import MouseDragRequest
|
|
10
|
+
from ...types import Response
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _get_kwargs(
|
|
14
|
+
machine_id: str,
|
|
15
|
+
*,
|
|
16
|
+
body: MouseDragRequest,
|
|
17
|
+
) -> dict[str, Any]:
|
|
18
|
+
headers: dict[str, Any] = {}
|
|
19
|
+
|
|
20
|
+
_kwargs: dict[str, Any] = {
|
|
21
|
+
"method": "post",
|
|
22
|
+
"url": f"/v1/computer/{machine_id}/input/mouse/drag",
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
_kwargs["json"] = body.to_dict()
|
|
26
|
+
|
|
27
|
+
headers["Content-Type"] = "application/json"
|
|
28
|
+
|
|
29
|
+
_kwargs["headers"] = headers
|
|
30
|
+
return _kwargs
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _parse_response(
|
|
34
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
35
|
+
) -> Optional[Union[Any, HTTPValidationError]]:
|
|
36
|
+
if response.status_code == 204:
|
|
37
|
+
response_204 = cast(Any, None)
|
|
38
|
+
return response_204
|
|
39
|
+
if response.status_code == 422:
|
|
40
|
+
response_422 = HTTPValidationError.from_dict(response.json())
|
|
41
|
+
|
|
42
|
+
return response_422
|
|
43
|
+
if client.raise_on_unexpected_status:
|
|
44
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
45
|
+
else:
|
|
46
|
+
return None
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def _build_response(
|
|
50
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
51
|
+
) -> Response[Union[Any, HTTPValidationError]]:
|
|
52
|
+
return Response(
|
|
53
|
+
status_code=HTTPStatus(response.status_code),
|
|
54
|
+
content=response.content,
|
|
55
|
+
headers=response.headers,
|
|
56
|
+
parsed=_parse_response(client=client, response=response),
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def sync_detailed(
|
|
61
|
+
machine_id: str,
|
|
62
|
+
*,
|
|
63
|
+
client: AuthenticatedClient,
|
|
64
|
+
body: MouseDragRequest,
|
|
65
|
+
) -> Response[Union[Any, HTTPValidationError]]:
|
|
66
|
+
"""Drag mouse (native)
|
|
67
|
+
|
|
68
|
+
Perform a drag operation using absolute coordinates with required start and optional duration.
|
|
69
|
+
|
|
70
|
+
Args:
|
|
71
|
+
machine_id (str):
|
|
72
|
+
body (MouseDragRequest):
|
|
73
|
+
|
|
74
|
+
Raises:
|
|
75
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
76
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
Response[Union[Any, HTTPValidationError]]
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
kwargs = _get_kwargs(
|
|
83
|
+
machine_id=machine_id,
|
|
84
|
+
body=body,
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
response = client.get_httpx_client().request(
|
|
88
|
+
**kwargs,
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
return _build_response(client=client, response=response)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def sync(
|
|
95
|
+
machine_id: str,
|
|
96
|
+
*,
|
|
97
|
+
client: AuthenticatedClient,
|
|
98
|
+
body: MouseDragRequest,
|
|
99
|
+
) -> Optional[Union[Any, HTTPValidationError]]:
|
|
100
|
+
"""Drag mouse (native)
|
|
101
|
+
|
|
102
|
+
Perform a drag operation using absolute coordinates with required start and optional duration.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
machine_id (str):
|
|
106
|
+
body (MouseDragRequest):
|
|
107
|
+
|
|
108
|
+
Raises:
|
|
109
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
110
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
111
|
+
|
|
112
|
+
Returns:
|
|
113
|
+
Union[Any, HTTPValidationError]
|
|
114
|
+
"""
|
|
115
|
+
|
|
116
|
+
return sync_detailed(
|
|
117
|
+
machine_id=machine_id,
|
|
118
|
+
client=client,
|
|
119
|
+
body=body,
|
|
120
|
+
).parsed
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
async def asyncio_detailed(
|
|
124
|
+
machine_id: str,
|
|
125
|
+
*,
|
|
126
|
+
client: AuthenticatedClient,
|
|
127
|
+
body: MouseDragRequest,
|
|
128
|
+
) -> Response[Union[Any, HTTPValidationError]]:
|
|
129
|
+
"""Drag mouse (native)
|
|
130
|
+
|
|
131
|
+
Perform a drag operation using absolute coordinates with required start and optional duration.
|
|
132
|
+
|
|
133
|
+
Args:
|
|
134
|
+
machine_id (str):
|
|
135
|
+
body (MouseDragRequest):
|
|
136
|
+
|
|
137
|
+
Raises:
|
|
138
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
139
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
140
|
+
|
|
141
|
+
Returns:
|
|
142
|
+
Response[Union[Any, HTTPValidationError]]
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
kwargs = _get_kwargs(
|
|
146
|
+
machine_id=machine_id,
|
|
147
|
+
body=body,
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
|
151
|
+
|
|
152
|
+
return _build_response(client=client, response=response)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
async def asyncio(
|
|
156
|
+
machine_id: str,
|
|
157
|
+
*,
|
|
158
|
+
client: AuthenticatedClient,
|
|
159
|
+
body: MouseDragRequest,
|
|
160
|
+
) -> Optional[Union[Any, HTTPValidationError]]:
|
|
161
|
+
"""Drag mouse (native)
|
|
162
|
+
|
|
163
|
+
Perform a drag operation using absolute coordinates with required start and optional duration.
|
|
164
|
+
|
|
165
|
+
Args:
|
|
166
|
+
machine_id (str):
|
|
167
|
+
body (MouseDragRequest):
|
|
168
|
+
|
|
169
|
+
Raises:
|
|
170
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
171
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
172
|
+
|
|
173
|
+
Returns:
|
|
174
|
+
Union[Any, HTTPValidationError]
|
|
175
|
+
"""
|
|
176
|
+
|
|
177
|
+
return (
|
|
178
|
+
await asyncio_detailed(
|
|
179
|
+
machine_id=machine_id,
|
|
180
|
+
client=client,
|
|
181
|
+
body=body,
|
|
182
|
+
)
|
|
183
|
+
).parsed
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from .attachment_type import AttachmentType
|
|
4
4
|
from .chain_step import ChainStep
|
|
5
5
|
from .chain_step_inputs_type_0 import ChainStepInputsType0
|
|
6
|
+
from .chain_step_sensitive_inputs_type_0 import ChainStepSensitiveInputsType0
|
|
6
7
|
from .connection_create import ConnectionCreate
|
|
7
8
|
from .connection_response import ConnectionResponse
|
|
8
9
|
from .connection_status import ConnectionStatus
|
|
@@ -41,6 +42,7 @@ from .machine_response import MachineResponse
|
|
|
41
42
|
from .machine_status import MachineStatus
|
|
42
43
|
from .machine_update import MachineUpdate
|
|
43
44
|
from .mouse_click_request import MouseClickRequest
|
|
45
|
+
from .mouse_drag_request import MouseDragRequest
|
|
44
46
|
from .mouse_move_request import MouseMoveRequest
|
|
45
47
|
from .mouse_position import MousePosition
|
|
46
48
|
from .mouse_scroll_request import MouseScrollRequest
|
|
@@ -118,6 +120,7 @@ __all__ = (
|
|
|
118
120
|
"AttachmentType",
|
|
119
121
|
"ChainStep",
|
|
120
122
|
"ChainStepInputsType0",
|
|
123
|
+
"ChainStepSensitiveInputsType0",
|
|
121
124
|
"ConnectionCreate",
|
|
122
125
|
"ConnectionResponse",
|
|
123
126
|
"ConnectionStatus",
|
|
@@ -142,6 +145,7 @@ __all__ = (
|
|
|
142
145
|
"MachineStatus",
|
|
143
146
|
"MachineUpdate",
|
|
144
147
|
"MouseClickRequest",
|
|
148
|
+
"MouseDragRequest",
|
|
145
149
|
"MouseMoveRequest",
|
|
146
150
|
"MousePosition",
|
|
147
151
|
"MouseScrollRequest",
|
|
@@ -9,6 +9,7 @@ from ..types import UNSET, Unset
|
|
|
9
9
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
11
11
|
from ..models.chain_step_inputs_type_0 import ChainStepInputsType0
|
|
12
|
+
from ..models.chain_step_sensitive_inputs_type_0 import ChainStepSensitiveInputsType0
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
T = TypeVar("T", bound="ChainStep")
|
|
@@ -23,15 +24,19 @@ class ChainStep:
|
|
|
23
24
|
session_alias (Union[None, Unset, str]): Alias to persist this step's outputs within the session
|
|
24
25
|
inputs (Union['ChainStepInputsType0', None, Unset]): Step-specific inputs; values must be string or {$ref:
|
|
25
26
|
'alias.outputs.path'}
|
|
27
|
+
sensitive_inputs (Union['ChainStepSensitiveInputsType0', None, Unset]): Step-specific sensitive inputs that
|
|
28
|
+
override or extend shared_sensitive_inputs
|
|
26
29
|
"""
|
|
27
30
|
|
|
28
31
|
workflow_id: UUID
|
|
29
32
|
session_alias: Union[None, Unset, str] = UNSET
|
|
30
33
|
inputs: Union["ChainStepInputsType0", None, Unset] = UNSET
|
|
34
|
+
sensitive_inputs: Union["ChainStepSensitiveInputsType0", None, Unset] = UNSET
|
|
31
35
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
32
36
|
|
|
33
37
|
def to_dict(self) -> dict[str, Any]:
|
|
34
38
|
from ..models.chain_step_inputs_type_0 import ChainStepInputsType0
|
|
39
|
+
from ..models.chain_step_sensitive_inputs_type_0 import ChainStepSensitiveInputsType0
|
|
35
40
|
|
|
36
41
|
workflow_id = str(self.workflow_id)
|
|
37
42
|
|
|
@@ -49,6 +54,14 @@ class ChainStep:
|
|
|
49
54
|
else:
|
|
50
55
|
inputs = self.inputs
|
|
51
56
|
|
|
57
|
+
sensitive_inputs: Union[None, Unset, dict[str, Any]]
|
|
58
|
+
if isinstance(self.sensitive_inputs, Unset):
|
|
59
|
+
sensitive_inputs = UNSET
|
|
60
|
+
elif isinstance(self.sensitive_inputs, ChainStepSensitiveInputsType0):
|
|
61
|
+
sensitive_inputs = self.sensitive_inputs.to_dict()
|
|
62
|
+
else:
|
|
63
|
+
sensitive_inputs = self.sensitive_inputs
|
|
64
|
+
|
|
52
65
|
field_dict: dict[str, Any] = {}
|
|
53
66
|
field_dict.update(self.additional_properties)
|
|
54
67
|
field_dict.update(
|
|
@@ -60,12 +73,15 @@ class ChainStep:
|
|
|
60
73
|
field_dict["session_alias"] = session_alias
|
|
61
74
|
if inputs is not UNSET:
|
|
62
75
|
field_dict["inputs"] = inputs
|
|
76
|
+
if sensitive_inputs is not UNSET:
|
|
77
|
+
field_dict["sensitive_inputs"] = sensitive_inputs
|
|
63
78
|
|
|
64
79
|
return field_dict
|
|
65
80
|
|
|
66
81
|
@classmethod
|
|
67
82
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
68
83
|
from ..models.chain_step_inputs_type_0 import ChainStepInputsType0
|
|
84
|
+
from ..models.chain_step_sensitive_inputs_type_0 import ChainStepSensitiveInputsType0
|
|
69
85
|
|
|
70
86
|
d = dict(src_dict)
|
|
71
87
|
workflow_id = UUID(d.pop("workflow_id"))
|
|
@@ -96,10 +112,28 @@ class ChainStep:
|
|
|
96
112
|
|
|
97
113
|
inputs = _parse_inputs(d.pop("inputs", UNSET))
|
|
98
114
|
|
|
115
|
+
def _parse_sensitive_inputs(data: object) -> Union["ChainStepSensitiveInputsType0", None, Unset]:
|
|
116
|
+
if data is None:
|
|
117
|
+
return data
|
|
118
|
+
if isinstance(data, Unset):
|
|
119
|
+
return data
|
|
120
|
+
try:
|
|
121
|
+
if not isinstance(data, dict):
|
|
122
|
+
raise TypeError()
|
|
123
|
+
sensitive_inputs_type_0 = ChainStepSensitiveInputsType0.from_dict(data)
|
|
124
|
+
|
|
125
|
+
return sensitive_inputs_type_0
|
|
126
|
+
except: # noqa: E722
|
|
127
|
+
pass
|
|
128
|
+
return cast(Union["ChainStepSensitiveInputsType0", None, Unset], data)
|
|
129
|
+
|
|
130
|
+
sensitive_inputs = _parse_sensitive_inputs(d.pop("sensitive_inputs", UNSET))
|
|
131
|
+
|
|
99
132
|
chain_step = cls(
|
|
100
133
|
workflow_id=workflow_id,
|
|
101
134
|
session_alias=session_alias,
|
|
102
135
|
inputs=inputs,
|
|
136
|
+
sensitive_inputs=sensitive_inputs,
|
|
103
137
|
)
|
|
104
138
|
|
|
105
139
|
chain_step.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="ChainStepSensitiveInputsType0")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@_attrs_define
|
|
11
|
+
class ChainStepSensitiveInputsType0:
|
|
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
|
+
chain_step_sensitive_inputs_type_0 = cls()
|
|
26
|
+
|
|
27
|
+
chain_step_sensitive_inputs_type_0.additional_properties = d
|
|
28
|
+
return chain_step_sensitive_inputs_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
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
from collections.abc import Mapping
|
|
2
|
+
from typing import Any, TypeVar, Union, cast
|
|
3
|
+
|
|
4
|
+
from attrs import define as _attrs_define
|
|
5
|
+
from attrs import field as _attrs_field
|
|
6
|
+
|
|
7
|
+
from ..types import UNSET, Unset
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="MouseDragRequest")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class MouseDragRequest:
|
|
14
|
+
"""
|
|
15
|
+
Attributes:
|
|
16
|
+
to_x (int):
|
|
17
|
+
to_y (int):
|
|
18
|
+
start_x (int):
|
|
19
|
+
start_y (int):
|
|
20
|
+
duration (Union[None, Unset, float]):
|
|
21
|
+
button (Union[None, Unset, str]): 'left' | 'right' | 'middle' Default: 'left'.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
to_x: int
|
|
25
|
+
to_y: int
|
|
26
|
+
start_x: int
|
|
27
|
+
start_y: int
|
|
28
|
+
duration: Union[None, Unset, float] = UNSET
|
|
29
|
+
button: Union[None, Unset, str] = "left"
|
|
30
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
31
|
+
|
|
32
|
+
def to_dict(self) -> dict[str, Any]:
|
|
33
|
+
to_x = self.to_x
|
|
34
|
+
|
|
35
|
+
to_y = self.to_y
|
|
36
|
+
|
|
37
|
+
start_x = self.start_x
|
|
38
|
+
|
|
39
|
+
start_y = self.start_y
|
|
40
|
+
|
|
41
|
+
duration: Union[None, Unset, float]
|
|
42
|
+
if isinstance(self.duration, Unset):
|
|
43
|
+
duration = UNSET
|
|
44
|
+
else:
|
|
45
|
+
duration = self.duration
|
|
46
|
+
|
|
47
|
+
button: Union[None, Unset, str]
|
|
48
|
+
if isinstance(self.button, Unset):
|
|
49
|
+
button = UNSET
|
|
50
|
+
else:
|
|
51
|
+
button = self.button
|
|
52
|
+
|
|
53
|
+
field_dict: dict[str, Any] = {}
|
|
54
|
+
field_dict.update(self.additional_properties)
|
|
55
|
+
field_dict.update(
|
|
56
|
+
{
|
|
57
|
+
"to_x": to_x,
|
|
58
|
+
"to_y": to_y,
|
|
59
|
+
"start_x": start_x,
|
|
60
|
+
"start_y": start_y,
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
if duration is not UNSET:
|
|
64
|
+
field_dict["duration"] = duration
|
|
65
|
+
if button is not UNSET:
|
|
66
|
+
field_dict["button"] = button
|
|
67
|
+
|
|
68
|
+
return field_dict
|
|
69
|
+
|
|
70
|
+
@classmethod
|
|
71
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
72
|
+
d = dict(src_dict)
|
|
73
|
+
to_x = d.pop("to_x")
|
|
74
|
+
|
|
75
|
+
to_y = d.pop("to_y")
|
|
76
|
+
|
|
77
|
+
start_x = d.pop("start_x")
|
|
78
|
+
|
|
79
|
+
start_y = d.pop("start_y")
|
|
80
|
+
|
|
81
|
+
def _parse_duration(data: object) -> Union[None, Unset, float]:
|
|
82
|
+
if data is None:
|
|
83
|
+
return data
|
|
84
|
+
if isinstance(data, Unset):
|
|
85
|
+
return data
|
|
86
|
+
return cast(Union[None, Unset, float], data)
|
|
87
|
+
|
|
88
|
+
duration = _parse_duration(d.pop("duration", UNSET))
|
|
89
|
+
|
|
90
|
+
def _parse_button(data: object) -> Union[None, Unset, str]:
|
|
91
|
+
if data is None:
|
|
92
|
+
return data
|
|
93
|
+
if isinstance(data, Unset):
|
|
94
|
+
return data
|
|
95
|
+
return cast(Union[None, Unset, str], data)
|
|
96
|
+
|
|
97
|
+
button = _parse_button(d.pop("button", UNSET))
|
|
98
|
+
|
|
99
|
+
mouse_drag_request = cls(
|
|
100
|
+
to_x=to_x,
|
|
101
|
+
to_y=to_y,
|
|
102
|
+
start_x=start_x,
|
|
103
|
+
start_y=start_y,
|
|
104
|
+
duration=duration,
|
|
105
|
+
button=button,
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
mouse_drag_request.additional_properties = d
|
|
109
|
+
return mouse_drag_request
|
|
110
|
+
|
|
111
|
+
@property
|
|
112
|
+
def additional_keys(self) -> list[str]:
|
|
113
|
+
return list(self.additional_properties.keys())
|
|
114
|
+
|
|
115
|
+
def __getitem__(self, key: str) -> Any:
|
|
116
|
+
return self.additional_properties[key]
|
|
117
|
+
|
|
118
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
119
|
+
self.additional_properties[key] = value
|
|
120
|
+
|
|
121
|
+
def __delitem__(self, key: str) -> None:
|
|
122
|
+
del self.additional_properties[key]
|
|
123
|
+
|
|
124
|
+
def __contains__(self, key: str) -> bool:
|
|
125
|
+
return key in self.additional_properties
|
|
File without changes
|
|
File without changes
|
|
File without changes
|