cyberdesk 0.2.7__py3-none-any.whl → 1.2.0__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 (228) hide show
  1. cyberdesk/__init__.py +45 -7
  2. cyberdesk/client.py +779 -70
  3. cyberdesk-1.2.0.dist-info/METADATA +274 -0
  4. cyberdesk-1.2.0.dist-info/RECORD +113 -0
  5. {cyberdesk-0.2.7.dist-info → cyberdesk-1.2.0.dist-info}/WHEEL +1 -1
  6. openapi_client/{api_reference_client → cyberdesk_cloud_client}/__init__.py +8 -8
  7. openapi_client/{api_reference_client → cyberdesk_cloud_client}/api/__init__.py +1 -1
  8. openapi_client/{api_reference_client/api/desktop → cyberdesk_cloud_client/api/computer}/__init__.py +1 -1
  9. openapi_client/cyberdesk_cloud_client/api/computer/get_display_dimensions_v1_computer_machine_id_display_dimensions_get.py +163 -0
  10. openapi_client/cyberdesk_cloud_client/api/computer/get_mouse_position_v1_computer_machine_id_input_mouse_position_get.py +163 -0
  11. openapi_client/cyberdesk_cloud_client/api/computer/get_screenshot_v1_computer_machine_id_display_screenshot_get.py +158 -0
  12. openapi_client/cyberdesk_cloud_client/api/computer/keyboard_key_v1_computer_machine_id_input_keyboard_key_post.py +183 -0
  13. openapi_client/cyberdesk_cloud_client/api/computer/keyboard_type_v1_computer_machine_id_input_keyboard_type_post.py +183 -0
  14. openapi_client/cyberdesk_cloud_client/api/computer/mouse_click_v1_computer_machine_id_input_mouse_click_post.py +187 -0
  15. openapi_client/cyberdesk_cloud_client/api/computer/mouse_move_v1_computer_machine_id_input_mouse_move_post.py +183 -0
  16. openapi_client/cyberdesk_cloud_client/api/connections/__init__.py +1 -0
  17. openapi_client/cyberdesk_cloud_client/api/connections/create_connection_v1_connections_post.py +180 -0
  18. openapi_client/cyberdesk_cloud_client/api/connections/delete_connection_v1_connections_connection_id_delete.py +170 -0
  19. openapi_client/cyberdesk_cloud_client/api/connections/get_connection_v1_connections_connection_id_get.py +172 -0
  20. openapi_client/cyberdesk_cloud_client/api/connections/list_connections_v1_connections_get.py +244 -0
  21. openapi_client/cyberdesk_cloud_client/api/connections/update_connection_v1_connections_connection_id_patch.py +198 -0
  22. openapi_client/cyberdesk_cloud_client/api/default/__init__.py +1 -0
  23. openapi_client/cyberdesk_cloud_client/api/default/root_get.py +83 -0
  24. openapi_client/cyberdesk_cloud_client/api/health/__init__.py +1 -0
  25. openapi_client/cyberdesk_cloud_client/api/health/database_health_check_v1_health_db_get.py +146 -0
  26. openapi_client/cyberdesk_cloud_client/api/health/health_check_v1_health_get.py +144 -0
  27. openapi_client/cyberdesk_cloud_client/api/machines/__init__.py +1 -0
  28. openapi_client/cyberdesk_cloud_client/api/machines/create_machine_v1_machines_post.py +180 -0
  29. openapi_client/cyberdesk_cloud_client/api/machines/delete_machine_v1_machines_machine_id_delete.py +174 -0
  30. openapi_client/cyberdesk_cloud_client/api/machines/get_machine_v1_machines_machine_id_get.py +172 -0
  31. openapi_client/cyberdesk_cloud_client/api/machines/list_machines_v1_machines_get.py +217 -0
  32. openapi_client/cyberdesk_cloud_client/api/machines/update_machine_v1_machines_machine_id_patch.py +198 -0
  33. openapi_client/cyberdesk_cloud_client/api/request_logs/__init__.py +1 -0
  34. openapi_client/cyberdesk_cloud_client/api/request_logs/create_request_log_v1_request_logs_post.py +184 -0
  35. openapi_client/cyberdesk_cloud_client/api/request_logs/delete_request_log_v1_request_logs_log_id_delete.py +170 -0
  36. openapi_client/cyberdesk_cloud_client/api/request_logs/get_request_log_v1_request_logs_log_id_get.py +172 -0
  37. openapi_client/cyberdesk_cloud_client/api/request_logs/list_request_logs_v1_request_logs_get.py +257 -0
  38. openapi_client/cyberdesk_cloud_client/api/request_logs/update_request_log_v1_request_logs_log_id_patch.py +202 -0
  39. openapi_client/cyberdesk_cloud_client/api/runs/__init__.py +1 -0
  40. openapi_client/cyberdesk_cloud_client/api/runs/create_run_v1_runs_post.py +188 -0
  41. openapi_client/cyberdesk_cloud_client/api/runs/delete_run_v1_runs_run_id_delete.py +170 -0
  42. openapi_client/cyberdesk_cloud_client/api/runs/get_run_v1_runs_run_id_get.py +176 -0
  43. openapi_client/cyberdesk_cloud_client/api/runs/list_runs_v1_runs_get.py +266 -0
  44. openapi_client/cyberdesk_cloud_client/api/runs/update_run_v1_runs_run_id_patch.py +202 -0
  45. openapi_client/cyberdesk_cloud_client/api/test/__init__.py +1 -0
  46. openapi_client/cyberdesk_cloud_client/api/test/dummy_test_endpoint_v1_test_post.py +156 -0
  47. openapi_client/cyberdesk_cloud_client/api/trajectories/__init__.py +1 -0
  48. openapi_client/cyberdesk_cloud_client/api/trajectories/create_trajectory_v1_trajectories_post.py +184 -0
  49. openapi_client/cyberdesk_cloud_client/api/trajectories/delete_trajectory_v1_trajectories_trajectory_id_delete.py +170 -0
  50. openapi_client/cyberdesk_cloud_client/api/trajectories/get_latest_trajectory_for_workflow_v1_workflows_workflow_id_latest_trajectory_get.py +176 -0
  51. openapi_client/cyberdesk_cloud_client/api/trajectories/get_trajectory_v1_trajectories_trajectory_id_get.py +176 -0
  52. openapi_client/cyberdesk_cloud_client/api/trajectories/list_trajectories_v1_trajectories_get.py +221 -0
  53. openapi_client/cyberdesk_cloud_client/api/trajectories/update_trajectory_v1_trajectories_trajectory_id_patch.py +198 -0
  54. openapi_client/cyberdesk_cloud_client/api/workflows/__init__.py +1 -0
  55. openapi_client/cyberdesk_cloud_client/api/workflows/create_workflow_v1_workflows_post.py +180 -0
  56. openapi_client/cyberdesk_cloud_client/api/workflows/delete_workflow_v1_workflows_workflow_id_delete.py +174 -0
  57. openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_v1_workflows_workflow_id_get.py +172 -0
  58. openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_versions_v1_workflows_workflow_id_versions_get.py +185 -0
  59. openapi_client/cyberdesk_cloud_client/api/workflows/list_workflows_v1_workflows_get.py +194 -0
  60. openapi_client/cyberdesk_cloud_client/api/workflows/update_workflow_v1_workflows_workflow_id_patch.py +202 -0
  61. openapi_client/{api_reference_client → cyberdesk_cloud_client}/client.py +268 -268
  62. openapi_client/{api_reference_client → cyberdesk_cloud_client}/errors.py +16 -16
  63. openapi_client/cyberdesk_cloud_client/models/__init__.py +105 -0
  64. openapi_client/cyberdesk_cloud_client/models/connection_create.py +111 -0
  65. openapi_client/cyberdesk_cloud_client/models/connection_response.py +171 -0
  66. openapi_client/{api_reference_client/models/get_v1_desktop_id_response_404_status.py → cyberdesk_cloud_client/models/connection_status.py} +10 -8
  67. openapi_client/cyberdesk_cloud_client/models/database_health_check_v1_health_db_get_response_database_health_check_v1_health_db_get.py +44 -0
  68. openapi_client/{api_reference_client/models/post_v1_desktop_id_bash_action_body.py → cyberdesk_cloud_client/models/display_dimensions.py} +67 -59
  69. openapi_client/cyberdesk_cloud_client/models/dummy_test_endpoint_v1_test_post_response_dummy_test_endpoint_v1_test_post.py +44 -0
  70. openapi_client/cyberdesk_cloud_client/models/get_workflow_versions_v1_workflows_workflow_id_versions_get_response_200_item.py +44 -0
  71. openapi_client/cyberdesk_cloud_client/models/health_check_v1_health_get_response_health_check_v1_health_get.py +44 -0
  72. openapi_client/cyberdesk_cloud_client/models/http_validation_error.py +75 -0
  73. openapi_client/{api_reference_client/models/post_v1_desktop_body.py → cyberdesk_cloud_client/models/keyboard_key_request.py} +59 -59
  74. openapi_client/{api_reference_client/models/post_v1_desktop_id_stop_response_200.py → cyberdesk_cloud_client/models/keyboard_type_request.py} +59 -62
  75. openapi_client/cyberdesk_cloud_client/models/machine_create.py +130 -0
  76. openapi_client/cyberdesk_cloud_client/models/machine_response.py +182 -0
  77. openapi_client/{api_reference_client/models/get_v1_desktop_id_response_403_status.py → cyberdesk_cloud_client/models/machine_status.py} +10 -8
  78. openapi_client/cyberdesk_cloud_client/models/machine_update.py +195 -0
  79. openapi_client/cyberdesk_cloud_client/models/mouse_click_request.py +109 -0
  80. openapi_client/{api_reference_client/models/post_v1_desktop_id_computer_action_drag_mouse_action_end.py → cyberdesk_cloud_client/models/mouse_move_request.py} +67 -71
  81. openapi_client/{api_reference_client/models/post_v1_desktop_id_computer_action_drag_mouse_action_start.py → cyberdesk_cloud_client/models/mouse_position.py} +67 -71
  82. openapi_client/cyberdesk_cloud_client/models/paginated_response.py +84 -0
  83. openapi_client/cyberdesk_cloud_client/models/paginated_response_connection_response.py +97 -0
  84. openapi_client/cyberdesk_cloud_client/models/paginated_response_machine_response.py +97 -0
  85. openapi_client/cyberdesk_cloud_client/models/paginated_response_run_response.py +97 -0
  86. openapi_client/cyberdesk_cloud_client/models/paginated_response_trajectory_response.py +97 -0
  87. openapi_client/cyberdesk_cloud_client/models/paginated_response_workflow_response.py +97 -0
  88. openapi_client/cyberdesk_cloud_client/models/request_log_create.py +187 -0
  89. openapi_client/cyberdesk_cloud_client/models/request_log_response.py +230 -0
  90. openapi_client/cyberdesk_cloud_client/models/request_log_update.py +164 -0
  91. openapi_client/cyberdesk_cloud_client/models/run_create.py +94 -0
  92. openapi_client/cyberdesk_cloud_client/models/run_response.py +245 -0
  93. openapi_client/cyberdesk_cloud_client/models/run_response_output_data_type_0.py +44 -0
  94. openapi_client/cyberdesk_cloud_client/models/run_response_run_message_history_type_0_item.py +44 -0
  95. openapi_client/{api_reference_client/models/post_v1_desktop_response_200_status.py → cyberdesk_cloud_client/models/run_status.py} +12 -11
  96. openapi_client/cyberdesk_cloud_client/models/run_update.py +226 -0
  97. openapi_client/cyberdesk_cloud_client/models/run_update_output_data_type_0.py +44 -0
  98. openapi_client/cyberdesk_cloud_client/models/run_update_run_message_history_type_0_item.py +44 -0
  99. openapi_client/cyberdesk_cloud_client/models/trajectory_create.py +83 -0
  100. openapi_client/cyberdesk_cloud_client/models/trajectory_create_trajectory_data_item.py +44 -0
  101. openapi_client/cyberdesk_cloud_client/models/trajectory_response.py +117 -0
  102. openapi_client/cyberdesk_cloud_client/models/trajectory_response_trajectory_data_item.py +44 -0
  103. openapi_client/cyberdesk_cloud_client/models/trajectory_update.py +99 -0
  104. openapi_client/cyberdesk_cloud_client/models/trajectory_update_trajectory_data_type_0_item.py +44 -0
  105. openapi_client/{api_reference_client/models/post_v1_desktop_id_computer_action_wait_action.py → cyberdesk_cloud_client/models/validation_error.py} +88 -70
  106. openapi_client/cyberdesk_cloud_client/models/workflow_create.py +82 -0
  107. openapi_client/cyberdesk_cloud_client/models/workflow_response.py +164 -0
  108. openapi_client/cyberdesk_cloud_client/models/workflow_response_old_versions_type_0_item.py +44 -0
  109. openapi_client/cyberdesk_cloud_client/models/workflow_update.py +92 -0
  110. openapi_client/{api_reference_client → cyberdesk_cloud_client}/types.py +54 -46
  111. cyberdesk/actions.py +0 -118
  112. cyberdesk/types.py +0 -50
  113. cyberdesk-0.2.7.dist-info/METADATA +0 -228
  114. cyberdesk-0.2.7.dist-info/RECORD +0 -136
  115. openapi_client/api_reference_client/api/desktop/get_v1_desktop_id.py +0 -293
  116. openapi_client/api_reference_client/api/desktop/post_v1_desktop.py +0 -294
  117. openapi_client/api_reference_client/api/desktop/post_v1_desktop_id_bash_action.py +0 -307
  118. openapi_client/api_reference_client/api/desktop/post_v1_desktop_id_computer_action.py +0 -419
  119. openapi_client/api_reference_client/api/desktop/post_v1_desktop_id_stop.py +0 -288
  120. openapi_client/api_reference_client/models/__init__.py +0 -249
  121. openapi_client/api_reference_client/models/get_v1_desktop_id_response_200.py +0 -104
  122. openapi_client/api_reference_client/models/get_v1_desktop_id_response_200_status.py +0 -11
  123. openapi_client/api_reference_client/models/get_v1_desktop_id_response_400.py +0 -69
  124. openapi_client/api_reference_client/models/get_v1_desktop_id_response_400_status.py +0 -8
  125. openapi_client/api_reference_client/models/get_v1_desktop_id_response_401.py +0 -69
  126. openapi_client/api_reference_client/models/get_v1_desktop_id_response_401_status.py +0 -8
  127. openapi_client/api_reference_client/models/get_v1_desktop_id_response_403.py +0 -69
  128. openapi_client/api_reference_client/models/get_v1_desktop_id_response_404.py +0 -69
  129. openapi_client/api_reference_client/models/get_v1_desktop_id_response_409.py +0 -69
  130. openapi_client/api_reference_client/models/get_v1_desktop_id_response_409_status.py +0 -8
  131. openapi_client/api_reference_client/models/get_v1_desktop_id_response_429.py +0 -69
  132. openapi_client/api_reference_client/models/get_v1_desktop_id_response_429_status.py +0 -8
  133. openapi_client/api_reference_client/models/get_v1_desktop_id_response_500.py +0 -69
  134. openapi_client/api_reference_client/models/get_v1_desktop_id_response_500_status.py +0 -8
  135. openapi_client/api_reference_client/models/get_v1_desktop_id_response_502.py +0 -69
  136. openapi_client/api_reference_client/models/get_v1_desktop_id_response_502_status.py +0 -8
  137. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_200.py +0 -79
  138. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_400.py +0 -69
  139. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_400_status.py +0 -8
  140. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_401.py +0 -69
  141. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_401_status.py +0 -8
  142. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_403.py +0 -69
  143. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_403_status.py +0 -8
  144. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_404.py +0 -69
  145. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_404_status.py +0 -8
  146. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_409.py +0 -69
  147. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_409_status.py +0 -8
  148. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_429.py +0 -69
  149. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_429_status.py +0 -8
  150. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_500.py +0 -69
  151. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_500_status.py +0 -8
  152. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_502.py +0 -69
  153. openapi_client/api_reference_client/models/post_v1_desktop_id_bash_action_response_502_status.py +0 -8
  154. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_click_mouse_action.py +0 -133
  155. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_click_mouse_action_button.py +0 -10
  156. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_click_mouse_action_click_type.py +0 -10
  157. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_click_mouse_action_type.py +0 -8
  158. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_drag_mouse_action.py +0 -98
  159. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_drag_mouse_action_type.py +0 -8
  160. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_get_cursor_position_action.py +0 -64
  161. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_get_cursor_position_action_type.py +0 -8
  162. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_move_mouse_action.py +0 -80
  163. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_move_mouse_action_type.py +0 -8
  164. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_press_keys_action.py +0 -109
  165. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_press_keys_action_key_action_type.py +0 -10
  166. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_press_keys_action_type.py +0 -8
  167. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_200.py +0 -79
  168. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_400.py +0 -71
  169. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_400_status.py +0 -8
  170. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_401.py +0 -71
  171. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_401_status.py +0 -8
  172. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_403.py +0 -71
  173. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_403_status.py +0 -8
  174. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_404.py +0 -71
  175. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_404_status.py +0 -8
  176. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_409.py +0 -71
  177. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_409_status.py +0 -8
  178. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_429.py +0 -71
  179. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_429_status.py +0 -8
  180. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_500.py +0 -71
  181. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_500_status.py +0 -8
  182. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_502.py +0 -71
  183. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_response_502_status.py +0 -8
  184. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_screenshot_action.py +0 -63
  185. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_screenshot_action_type.py +0 -8
  186. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_scroll_action.py +0 -81
  187. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_scroll_action_direction.py +0 -11
  188. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_scroll_action_type.py +0 -8
  189. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_type_text_action.py +0 -71
  190. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_type_text_action_type.py +0 -8
  191. openapi_client/api_reference_client/models/post_v1_desktop_id_computer_action_wait_action_type.py +0 -8
  192. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_200_status.py +0 -11
  193. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_400.py +0 -69
  194. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_400_status.py +0 -8
  195. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_401.py +0 -69
  196. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_401_status.py +0 -8
  197. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_403.py +0 -69
  198. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_403_status.py +0 -8
  199. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_404.py +0 -69
  200. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_404_status.py +0 -8
  201. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_409.py +0 -69
  202. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_409_status.py +0 -8
  203. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_429.py +0 -69
  204. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_429_status.py +0 -8
  205. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_500.py +0 -69
  206. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_500_status.py +0 -8
  207. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_502.py +0 -69
  208. openapi_client/api_reference_client/models/post_v1_desktop_id_stop_response_502_status.py +0 -8
  209. openapi_client/api_reference_client/models/post_v1_desktop_response_200.py +0 -70
  210. openapi_client/api_reference_client/models/post_v1_desktop_response_400.py +0 -69
  211. openapi_client/api_reference_client/models/post_v1_desktop_response_400_status.py +0 -8
  212. openapi_client/api_reference_client/models/post_v1_desktop_response_401.py +0 -69
  213. openapi_client/api_reference_client/models/post_v1_desktop_response_401_status.py +0 -8
  214. openapi_client/api_reference_client/models/post_v1_desktop_response_403.py +0 -69
  215. openapi_client/api_reference_client/models/post_v1_desktop_response_403_status.py +0 -8
  216. openapi_client/api_reference_client/models/post_v1_desktop_response_404.py +0 -69
  217. openapi_client/api_reference_client/models/post_v1_desktop_response_404_status.py +0 -8
  218. openapi_client/api_reference_client/models/post_v1_desktop_response_409.py +0 -69
  219. openapi_client/api_reference_client/models/post_v1_desktop_response_409_status.py +0 -8
  220. openapi_client/api_reference_client/models/post_v1_desktop_response_429.py +0 -69
  221. openapi_client/api_reference_client/models/post_v1_desktop_response_429_status.py +0 -8
  222. openapi_client/api_reference_client/models/post_v1_desktop_response_500.py +0 -69
  223. openapi_client/api_reference_client/models/post_v1_desktop_response_500_status.py +0 -8
  224. openapi_client/api_reference_client/models/post_v1_desktop_response_502.py +0 -69
  225. openapi_client/api_reference_client/models/post_v1_desktop_response_502_status.py +0 -8
  226. {cyberdesk-0.2.7.dist-info → cyberdesk-1.2.0.dist-info}/licenses/LICENSE +0 -0
  227. {cyberdesk-0.2.7.dist-info → cyberdesk-1.2.0.dist-info}/top_level.txt +0 -0
  228. /openapi_client/{api_reference_client → cyberdesk_cloud_client}/py.typed +0 -0
@@ -0,0 +1,245 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
4
+ from uuid import UUID
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+ from dateutil.parser import isoparse
9
+
10
+ from ..models.run_status import RunStatus
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.run_response_output_data_type_0 import RunResponseOutputDataType0
14
+ from ..models.run_response_run_message_history_type_0_item import RunResponseRunMessageHistoryType0Item
15
+
16
+
17
+ T = TypeVar("T", bound="RunResponse")
18
+
19
+
20
+ @_attrs_define
21
+ class RunResponse:
22
+ """Run response schema
23
+
24
+ Attributes:
25
+ workflow_id (UUID):
26
+ machine_id (Union[None, UUID]):
27
+ id (UUID):
28
+ user_id (UUID):
29
+ status (RunStatus):
30
+ error (Union[None, list[str]]):
31
+ output_data (Union['RunResponseOutputDataType0', None]):
32
+ output_attachment_ids (Union[None, list[str]]):
33
+ run_message_history (Union[None, list['RunResponseRunMessageHistoryType0Item']]):
34
+ created_at (datetime.datetime):
35
+ """
36
+
37
+ workflow_id: UUID
38
+ machine_id: Union[None, UUID]
39
+ id: UUID
40
+ user_id: UUID
41
+ status: RunStatus
42
+ error: Union[None, list[str]]
43
+ output_data: Union["RunResponseOutputDataType0", None]
44
+ output_attachment_ids: Union[None, list[str]]
45
+ run_message_history: Union[None, list["RunResponseRunMessageHistoryType0Item"]]
46
+ created_at: datetime.datetime
47
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
48
+
49
+ def to_dict(self) -> dict[str, Any]:
50
+ from ..models.run_response_output_data_type_0 import RunResponseOutputDataType0
51
+
52
+ workflow_id = str(self.workflow_id)
53
+
54
+ machine_id: Union[None, str]
55
+ if isinstance(self.machine_id, UUID):
56
+ machine_id = str(self.machine_id)
57
+ else:
58
+ machine_id = self.machine_id
59
+
60
+ id = str(self.id)
61
+
62
+ user_id = str(self.user_id)
63
+
64
+ status = self.status.value
65
+
66
+ error: Union[None, list[str]]
67
+ if isinstance(self.error, list):
68
+ error = self.error
69
+
70
+ else:
71
+ error = self.error
72
+
73
+ output_data: Union[None, dict[str, Any]]
74
+ if isinstance(self.output_data, RunResponseOutputDataType0):
75
+ output_data = self.output_data.to_dict()
76
+ else:
77
+ output_data = self.output_data
78
+
79
+ output_attachment_ids: Union[None, list[str]]
80
+ if isinstance(self.output_attachment_ids, list):
81
+ output_attachment_ids = self.output_attachment_ids
82
+
83
+ else:
84
+ output_attachment_ids = self.output_attachment_ids
85
+
86
+ run_message_history: Union[None, list[dict[str, Any]]]
87
+ if isinstance(self.run_message_history, list):
88
+ run_message_history = []
89
+ for run_message_history_type_0_item_data in self.run_message_history:
90
+ run_message_history_type_0_item = run_message_history_type_0_item_data.to_dict()
91
+ run_message_history.append(run_message_history_type_0_item)
92
+
93
+ else:
94
+ run_message_history = self.run_message_history
95
+
96
+ created_at = self.created_at.isoformat()
97
+
98
+ field_dict: dict[str, Any] = {}
99
+ field_dict.update(self.additional_properties)
100
+ field_dict.update(
101
+ {
102
+ "workflow_id": workflow_id,
103
+ "machine_id": machine_id,
104
+ "id": id,
105
+ "user_id": user_id,
106
+ "status": status,
107
+ "error": error,
108
+ "output_data": output_data,
109
+ "output_attachment_ids": output_attachment_ids,
110
+ "run_message_history": run_message_history,
111
+ "created_at": created_at,
112
+ }
113
+ )
114
+
115
+ return field_dict
116
+
117
+ @classmethod
118
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
119
+ from ..models.run_response_output_data_type_0 import RunResponseOutputDataType0
120
+ from ..models.run_response_run_message_history_type_0_item import RunResponseRunMessageHistoryType0Item
121
+
122
+ d = dict(src_dict)
123
+ workflow_id = UUID(d.pop("workflow_id"))
124
+
125
+ def _parse_machine_id(data: object) -> Union[None, UUID]:
126
+ if data is None:
127
+ return data
128
+ try:
129
+ if not isinstance(data, str):
130
+ raise TypeError()
131
+ machine_id_type_0 = UUID(data)
132
+
133
+ return machine_id_type_0
134
+ except: # noqa: E722
135
+ pass
136
+ return cast(Union[None, UUID], data)
137
+
138
+ machine_id = _parse_machine_id(d.pop("machine_id"))
139
+
140
+ id = UUID(d.pop("id"))
141
+
142
+ user_id = UUID(d.pop("user_id"))
143
+
144
+ status = RunStatus(d.pop("status"))
145
+
146
+ def _parse_error(data: object) -> Union[None, list[str]]:
147
+ if data is None:
148
+ return data
149
+ try:
150
+ if not isinstance(data, list):
151
+ raise TypeError()
152
+ error_type_0 = cast(list[str], data)
153
+
154
+ return error_type_0
155
+ except: # noqa: E722
156
+ pass
157
+ return cast(Union[None, list[str]], data)
158
+
159
+ error = _parse_error(d.pop("error"))
160
+
161
+ def _parse_output_data(data: object) -> Union["RunResponseOutputDataType0", None]:
162
+ if data is None:
163
+ return data
164
+ try:
165
+ if not isinstance(data, dict):
166
+ raise TypeError()
167
+ output_data_type_0 = RunResponseOutputDataType0.from_dict(data)
168
+
169
+ return output_data_type_0
170
+ except: # noqa: E722
171
+ pass
172
+ return cast(Union["RunResponseOutputDataType0", None], data)
173
+
174
+ output_data = _parse_output_data(d.pop("output_data"))
175
+
176
+ def _parse_output_attachment_ids(data: object) -> Union[None, list[str]]:
177
+ if data is None:
178
+ return data
179
+ try:
180
+ if not isinstance(data, list):
181
+ raise TypeError()
182
+ output_attachment_ids_type_0 = cast(list[str], data)
183
+
184
+ return output_attachment_ids_type_0
185
+ except: # noqa: E722
186
+ pass
187
+ return cast(Union[None, list[str]], data)
188
+
189
+ output_attachment_ids = _parse_output_attachment_ids(d.pop("output_attachment_ids"))
190
+
191
+ def _parse_run_message_history(data: object) -> Union[None, list["RunResponseRunMessageHistoryType0Item"]]:
192
+ if data is None:
193
+ return data
194
+ try:
195
+ if not isinstance(data, list):
196
+ raise TypeError()
197
+ run_message_history_type_0 = []
198
+ _run_message_history_type_0 = data
199
+ for run_message_history_type_0_item_data in _run_message_history_type_0:
200
+ run_message_history_type_0_item = RunResponseRunMessageHistoryType0Item.from_dict(
201
+ run_message_history_type_0_item_data
202
+ )
203
+
204
+ run_message_history_type_0.append(run_message_history_type_0_item)
205
+
206
+ return run_message_history_type_0
207
+ except: # noqa: E722
208
+ pass
209
+ return cast(Union[None, list["RunResponseRunMessageHistoryType0Item"]], data)
210
+
211
+ run_message_history = _parse_run_message_history(d.pop("run_message_history"))
212
+
213
+ created_at = isoparse(d.pop("created_at"))
214
+
215
+ run_response = cls(
216
+ workflow_id=workflow_id,
217
+ machine_id=machine_id,
218
+ id=id,
219
+ user_id=user_id,
220
+ status=status,
221
+ error=error,
222
+ output_data=output_data,
223
+ output_attachment_ids=output_attachment_ids,
224
+ run_message_history=run_message_history,
225
+ created_at=created_at,
226
+ )
227
+
228
+ run_response.additional_properties = d
229
+ return run_response
230
+
231
+ @property
232
+ def additional_keys(self) -> list[str]:
233
+ return list(self.additional_properties.keys())
234
+
235
+ def __getitem__(self, key: str) -> Any:
236
+ return self.additional_properties[key]
237
+
238
+ def __setitem__(self, key: str, value: Any) -> None:
239
+ self.additional_properties[key] = value
240
+
241
+ def __delitem__(self, key: str) -> None:
242
+ del self.additional_properties[key]
243
+
244
+ def __contains__(self, key: str) -> bool:
245
+ return key in self.additional_properties
@@ -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="RunResponseOutputDataType0")
8
+
9
+
10
+ @_attrs_define
11
+ class RunResponseOutputDataType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _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_output_data_type_0 = cls()
26
+
27
+ run_response_output_data_type_0.additional_properties = d
28
+ return run_response_output_data_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) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> 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,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="RunResponseRunMessageHistoryType0Item")
8
+
9
+
10
+ @_attrs_define
11
+ class RunResponseRunMessageHistoryType0Item:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _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_run_message_history_type_0_item = cls()
26
+
27
+ run_response_run_message_history_type_0_item.additional_properties = d
28
+ return run_response_run_message_history_type_0_item
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> 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
@@ -1,11 +1,12 @@
1
- from enum import Enum
2
-
3
-
4
- class PostV1DesktopResponse200Status(str, Enum):
5
- ERROR = "error"
6
- PENDING = "pending"
7
- RUNNING = "running"
8
- TERMINATED = "terminated"
9
-
10
- def __str__(self) -> str:
11
- return str(self.value)
1
+ from enum import Enum
2
+
3
+
4
+ class RunStatus(str, Enum):
5
+ CANCELLED = "cancelled"
6
+ ERROR = "error"
7
+ RUNNING = "running"
8
+ SCHEDULING = "scheduling"
9
+ SUCCESS = "success"
10
+
11
+ def __str__(self) -> str:
12
+ return str(self.value)
@@ -0,0 +1,226 @@
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
+ from ..models.run_status import RunStatus
8
+ from ..types import UNSET, Unset
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.run_update_output_data_type_0 import RunUpdateOutputDataType0
12
+ from ..models.run_update_run_message_history_type_0_item import RunUpdateRunMessageHistoryType0Item
13
+
14
+
15
+ T = TypeVar("T", bound="RunUpdate")
16
+
17
+
18
+ @_attrs_define
19
+ class RunUpdate:
20
+ """Schema for updating a run
21
+
22
+ Attributes:
23
+ status (Union[None, RunStatus, Unset]):
24
+ error (Union[None, Unset, list[str]]):
25
+ output_data (Union['RunUpdateOutputDataType0', None, Unset]):
26
+ output_attachment_ids (Union[None, Unset, list[str]]):
27
+ run_message_history (Union[None, Unset, list['RunUpdateRunMessageHistoryType0Item']]):
28
+ """
29
+
30
+ status: Union[None, RunStatus, Unset] = UNSET
31
+ error: Union[None, Unset, list[str]] = UNSET
32
+ output_data: Union["RunUpdateOutputDataType0", None, Unset] = UNSET
33
+ output_attachment_ids: Union[None, Unset, list[str]] = UNSET
34
+ run_message_history: Union[None, Unset, list["RunUpdateRunMessageHistoryType0Item"]] = UNSET
35
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
+
37
+ def to_dict(self) -> dict[str, Any]:
38
+ from ..models.run_update_output_data_type_0 import RunUpdateOutputDataType0
39
+
40
+ status: Union[None, Unset, str]
41
+ if isinstance(self.status, Unset):
42
+ status = UNSET
43
+ elif isinstance(self.status, RunStatus):
44
+ status = self.status.value
45
+ else:
46
+ status = self.status
47
+
48
+ error: Union[None, Unset, list[str]]
49
+ if isinstance(self.error, Unset):
50
+ error = UNSET
51
+ elif isinstance(self.error, list):
52
+ error = self.error
53
+
54
+ else:
55
+ error = self.error
56
+
57
+ output_data: Union[None, Unset, dict[str, Any]]
58
+ if isinstance(self.output_data, Unset):
59
+ output_data = UNSET
60
+ elif isinstance(self.output_data, RunUpdateOutputDataType0):
61
+ output_data = self.output_data.to_dict()
62
+ else:
63
+ output_data = self.output_data
64
+
65
+ output_attachment_ids: Union[None, Unset, list[str]]
66
+ if isinstance(self.output_attachment_ids, Unset):
67
+ output_attachment_ids = UNSET
68
+ elif isinstance(self.output_attachment_ids, list):
69
+ output_attachment_ids = self.output_attachment_ids
70
+
71
+ else:
72
+ output_attachment_ids = self.output_attachment_ids
73
+
74
+ run_message_history: Union[None, Unset, list[dict[str, Any]]]
75
+ if isinstance(self.run_message_history, Unset):
76
+ run_message_history = UNSET
77
+ elif isinstance(self.run_message_history, list):
78
+ run_message_history = []
79
+ for run_message_history_type_0_item_data in self.run_message_history:
80
+ run_message_history_type_0_item = run_message_history_type_0_item_data.to_dict()
81
+ run_message_history.append(run_message_history_type_0_item)
82
+
83
+ else:
84
+ run_message_history = self.run_message_history
85
+
86
+ field_dict: dict[str, Any] = {}
87
+ field_dict.update(self.additional_properties)
88
+ field_dict.update({})
89
+ if status is not UNSET:
90
+ field_dict["status"] = status
91
+ if error is not UNSET:
92
+ field_dict["error"] = error
93
+ if output_data is not UNSET:
94
+ field_dict["output_data"] = output_data
95
+ if output_attachment_ids is not UNSET:
96
+ field_dict["output_attachment_ids"] = output_attachment_ids
97
+ if run_message_history is not UNSET:
98
+ field_dict["run_message_history"] = run_message_history
99
+
100
+ return field_dict
101
+
102
+ @classmethod
103
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
104
+ from ..models.run_update_output_data_type_0 import RunUpdateOutputDataType0
105
+ from ..models.run_update_run_message_history_type_0_item import RunUpdateRunMessageHistoryType0Item
106
+
107
+ d = dict(src_dict)
108
+
109
+ def _parse_status(data: object) -> Union[None, RunStatus, Unset]:
110
+ if data is None:
111
+ return data
112
+ if isinstance(data, Unset):
113
+ return data
114
+ try:
115
+ if not isinstance(data, str):
116
+ raise TypeError()
117
+ status_type_0 = RunStatus(data)
118
+
119
+ return status_type_0
120
+ except: # noqa: E722
121
+ pass
122
+ return cast(Union[None, RunStatus, Unset], data)
123
+
124
+ status = _parse_status(d.pop("status", UNSET))
125
+
126
+ def _parse_error(data: object) -> Union[None, Unset, list[str]]:
127
+ if data is None:
128
+ return data
129
+ if isinstance(data, Unset):
130
+ return data
131
+ try:
132
+ if not isinstance(data, list):
133
+ raise TypeError()
134
+ error_type_0 = cast(list[str], data)
135
+
136
+ return error_type_0
137
+ except: # noqa: E722
138
+ pass
139
+ return cast(Union[None, Unset, list[str]], data)
140
+
141
+ error = _parse_error(d.pop("error", UNSET))
142
+
143
+ def _parse_output_data(data: object) -> Union["RunUpdateOutputDataType0", None, Unset]:
144
+ if data is None:
145
+ return data
146
+ if isinstance(data, Unset):
147
+ return data
148
+ try:
149
+ if not isinstance(data, dict):
150
+ raise TypeError()
151
+ output_data_type_0 = RunUpdateOutputDataType0.from_dict(data)
152
+
153
+ return output_data_type_0
154
+ except: # noqa: E722
155
+ pass
156
+ return cast(Union["RunUpdateOutputDataType0", None, Unset], data)
157
+
158
+ output_data = _parse_output_data(d.pop("output_data", UNSET))
159
+
160
+ def _parse_output_attachment_ids(data: object) -> Union[None, Unset, list[str]]:
161
+ if data is None:
162
+ return data
163
+ if isinstance(data, Unset):
164
+ return data
165
+ try:
166
+ if not isinstance(data, list):
167
+ raise TypeError()
168
+ output_attachment_ids_type_0 = cast(list[str], data)
169
+
170
+ return output_attachment_ids_type_0
171
+ except: # noqa: E722
172
+ pass
173
+ return cast(Union[None, Unset, list[str]], data)
174
+
175
+ output_attachment_ids = _parse_output_attachment_ids(d.pop("output_attachment_ids", UNSET))
176
+
177
+ def _parse_run_message_history(data: object) -> Union[None, Unset, list["RunUpdateRunMessageHistoryType0Item"]]:
178
+ if data is None:
179
+ return data
180
+ if isinstance(data, Unset):
181
+ return data
182
+ try:
183
+ if not isinstance(data, list):
184
+ raise TypeError()
185
+ run_message_history_type_0 = []
186
+ _run_message_history_type_0 = data
187
+ for run_message_history_type_0_item_data in _run_message_history_type_0:
188
+ run_message_history_type_0_item = RunUpdateRunMessageHistoryType0Item.from_dict(
189
+ run_message_history_type_0_item_data
190
+ )
191
+
192
+ run_message_history_type_0.append(run_message_history_type_0_item)
193
+
194
+ return run_message_history_type_0
195
+ except: # noqa: E722
196
+ pass
197
+ return cast(Union[None, Unset, list["RunUpdateRunMessageHistoryType0Item"]], data)
198
+
199
+ run_message_history = _parse_run_message_history(d.pop("run_message_history", UNSET))
200
+
201
+ run_update = cls(
202
+ status=status,
203
+ error=error,
204
+ output_data=output_data,
205
+ output_attachment_ids=output_attachment_ids,
206
+ run_message_history=run_message_history,
207
+ )
208
+
209
+ run_update.additional_properties = d
210
+ return run_update
211
+
212
+ @property
213
+ def additional_keys(self) -> list[str]:
214
+ return list(self.additional_properties.keys())
215
+
216
+ def __getitem__(self, key: str) -> Any:
217
+ return self.additional_properties[key]
218
+
219
+ def __setitem__(self, key: str, value: Any) -> None:
220
+ self.additional_properties[key] = value
221
+
222
+ def __delitem__(self, key: str) -> None:
223
+ del self.additional_properties[key]
224
+
225
+ def __contains__(self, key: str) -> bool:
226
+ return key in self.additional_properties
@@ -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="RunUpdateOutputDataType0")
8
+
9
+
10
+ @_attrs_define
11
+ class RunUpdateOutputDataType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _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_update_output_data_type_0 = cls()
26
+
27
+ run_update_output_data_type_0.additional_properties = d
28
+ return run_update_output_data_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) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> 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,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="RunUpdateRunMessageHistoryType0Item")
8
+
9
+
10
+ @_attrs_define
11
+ class RunUpdateRunMessageHistoryType0Item:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _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_update_run_message_history_type_0_item = cls()
26
+
27
+ run_update_run_message_history_type_0_item.additional_properties = d
28
+ return run_update_run_message_history_type_0_item
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> 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