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,83 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.trajectory_create_trajectory_data_item import TrajectoryCreateTrajectoryDataItem
10
+
11
+
12
+ T = TypeVar("T", bound="TrajectoryCreate")
13
+
14
+
15
+ @_attrs_define
16
+ class TrajectoryCreate:
17
+ """Schema for creating a trajectory
18
+
19
+ Attributes:
20
+ workflow_id (UUID):
21
+ trajectory_data (list['TrajectoryCreateTrajectoryDataItem']):
22
+ """
23
+
24
+ workflow_id: UUID
25
+ trajectory_data: list["TrajectoryCreateTrajectoryDataItem"]
26
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ workflow_id = str(self.workflow_id)
30
+
31
+ trajectory_data = []
32
+ for trajectory_data_item_data in self.trajectory_data:
33
+ trajectory_data_item = trajectory_data_item_data.to_dict()
34
+ trajectory_data.append(trajectory_data_item)
35
+
36
+ field_dict: dict[str, Any] = {}
37
+ field_dict.update(self.additional_properties)
38
+ field_dict.update(
39
+ {
40
+ "workflow_id": workflow_id,
41
+ "trajectory_data": trajectory_data,
42
+ }
43
+ )
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
49
+ from ..models.trajectory_create_trajectory_data_item import TrajectoryCreateTrajectoryDataItem
50
+
51
+ d = dict(src_dict)
52
+ workflow_id = UUID(d.pop("workflow_id"))
53
+
54
+ trajectory_data = []
55
+ _trajectory_data = d.pop("trajectory_data")
56
+ for trajectory_data_item_data in _trajectory_data:
57
+ trajectory_data_item = TrajectoryCreateTrajectoryDataItem.from_dict(trajectory_data_item_data)
58
+
59
+ trajectory_data.append(trajectory_data_item)
60
+
61
+ trajectory_create = cls(
62
+ workflow_id=workflow_id,
63
+ trajectory_data=trajectory_data,
64
+ )
65
+
66
+ trajectory_create.additional_properties = d
67
+ return trajectory_create
68
+
69
+ @property
70
+ def additional_keys(self) -> list[str]:
71
+ return list(self.additional_properties.keys())
72
+
73
+ def __getitem__(self, key: str) -> Any:
74
+ return self.additional_properties[key]
75
+
76
+ def __setitem__(self, key: str, value: Any) -> None:
77
+ self.additional_properties[key] = value
78
+
79
+ def __delitem__(self, key: str) -> None:
80
+ del self.additional_properties[key]
81
+
82
+ def __contains__(self, key: str) -> bool:
83
+ 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="TrajectoryCreateTrajectoryDataItem")
8
+
9
+
10
+ @_attrs_define
11
+ class TrajectoryCreateTrajectoryDataItem:
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
+ trajectory_create_trajectory_data_item = cls()
26
+
27
+ trajectory_create_trajectory_data_item.additional_properties = d
28
+ return trajectory_create_trajectory_data_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
@@ -0,0 +1,117 @@
1
+ import datetime
2
+ from collections.abc import Mapping
3
+ from typing import TYPE_CHECKING, Any, TypeVar
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
+ if TYPE_CHECKING:
11
+ from ..models.trajectory_response_trajectory_data_item import TrajectoryResponseTrajectoryDataItem
12
+
13
+
14
+ T = TypeVar("T", bound="TrajectoryResponse")
15
+
16
+
17
+ @_attrs_define
18
+ class TrajectoryResponse:
19
+ """Trajectory response schema
20
+
21
+ Attributes:
22
+ workflow_id (UUID):
23
+ trajectory_data (list['TrajectoryResponseTrajectoryDataItem']):
24
+ id (UUID):
25
+ user_id (UUID):
26
+ created_at (datetime.datetime):
27
+ updated_at (datetime.datetime):
28
+ """
29
+
30
+ workflow_id: UUID
31
+ trajectory_data: list["TrajectoryResponseTrajectoryDataItem"]
32
+ id: UUID
33
+ user_id: UUID
34
+ created_at: datetime.datetime
35
+ updated_at: datetime.datetime
36
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
37
+
38
+ def to_dict(self) -> dict[str, Any]:
39
+ workflow_id = str(self.workflow_id)
40
+
41
+ trajectory_data = []
42
+ for trajectory_data_item_data in self.trajectory_data:
43
+ trajectory_data_item = trajectory_data_item_data.to_dict()
44
+ trajectory_data.append(trajectory_data_item)
45
+
46
+ id = str(self.id)
47
+
48
+ user_id = str(self.user_id)
49
+
50
+ created_at = self.created_at.isoformat()
51
+
52
+ updated_at = self.updated_at.isoformat()
53
+
54
+ field_dict: dict[str, Any] = {}
55
+ field_dict.update(self.additional_properties)
56
+ field_dict.update(
57
+ {
58
+ "workflow_id": workflow_id,
59
+ "trajectory_data": trajectory_data,
60
+ "id": id,
61
+ "user_id": user_id,
62
+ "created_at": created_at,
63
+ "updated_at": updated_at,
64
+ }
65
+ )
66
+
67
+ return field_dict
68
+
69
+ @classmethod
70
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
71
+ from ..models.trajectory_response_trajectory_data_item import TrajectoryResponseTrajectoryDataItem
72
+
73
+ d = dict(src_dict)
74
+ workflow_id = UUID(d.pop("workflow_id"))
75
+
76
+ trajectory_data = []
77
+ _trajectory_data = d.pop("trajectory_data")
78
+ for trajectory_data_item_data in _trajectory_data:
79
+ trajectory_data_item = TrajectoryResponseTrajectoryDataItem.from_dict(trajectory_data_item_data)
80
+
81
+ trajectory_data.append(trajectory_data_item)
82
+
83
+ id = UUID(d.pop("id"))
84
+
85
+ user_id = UUID(d.pop("user_id"))
86
+
87
+ created_at = isoparse(d.pop("created_at"))
88
+
89
+ updated_at = isoparse(d.pop("updated_at"))
90
+
91
+ trajectory_response = cls(
92
+ workflow_id=workflow_id,
93
+ trajectory_data=trajectory_data,
94
+ id=id,
95
+ user_id=user_id,
96
+ created_at=created_at,
97
+ updated_at=updated_at,
98
+ )
99
+
100
+ trajectory_response.additional_properties = d
101
+ return trajectory_response
102
+
103
+ @property
104
+ def additional_keys(self) -> list[str]:
105
+ return list(self.additional_properties.keys())
106
+
107
+ def __getitem__(self, key: str) -> Any:
108
+ return self.additional_properties[key]
109
+
110
+ def __setitem__(self, key: str, value: Any) -> None:
111
+ self.additional_properties[key] = value
112
+
113
+ def __delitem__(self, key: str) -> None:
114
+ del self.additional_properties[key]
115
+
116
+ def __contains__(self, key: str) -> bool:
117
+ 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="TrajectoryResponseTrajectoryDataItem")
8
+
9
+
10
+ @_attrs_define
11
+ class TrajectoryResponseTrajectoryDataItem:
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
+ trajectory_response_trajectory_data_item = cls()
26
+
27
+ trajectory_response_trajectory_data_item.additional_properties = d
28
+ return trajectory_response_trajectory_data_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
@@ -0,0 +1,99 @@
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 ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.trajectory_update_trajectory_data_type_0_item import TrajectoryUpdateTrajectoryDataType0Item
11
+
12
+
13
+ T = TypeVar("T", bound="TrajectoryUpdate")
14
+
15
+
16
+ @_attrs_define
17
+ class TrajectoryUpdate:
18
+ """Schema for updating a trajectory
19
+
20
+ Attributes:
21
+ trajectory_data (Union[None, Unset, list['TrajectoryUpdateTrajectoryDataType0Item']]):
22
+ """
23
+
24
+ trajectory_data: Union[None, Unset, list["TrajectoryUpdateTrajectoryDataType0Item"]] = UNSET
25
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ trajectory_data: Union[None, Unset, list[dict[str, Any]]]
29
+ if isinstance(self.trajectory_data, Unset):
30
+ trajectory_data = UNSET
31
+ elif isinstance(self.trajectory_data, list):
32
+ trajectory_data = []
33
+ for trajectory_data_type_0_item_data in self.trajectory_data:
34
+ trajectory_data_type_0_item = trajectory_data_type_0_item_data.to_dict()
35
+ trajectory_data.append(trajectory_data_type_0_item)
36
+
37
+ else:
38
+ trajectory_data = self.trajectory_data
39
+
40
+ field_dict: dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update({})
43
+ if trajectory_data is not UNSET:
44
+ field_dict["trajectory_data"] = trajectory_data
45
+
46
+ return field_dict
47
+
48
+ @classmethod
49
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
50
+ from ..models.trajectory_update_trajectory_data_type_0_item import TrajectoryUpdateTrajectoryDataType0Item
51
+
52
+ d = dict(src_dict)
53
+
54
+ def _parse_trajectory_data(data: object) -> Union[None, Unset, list["TrajectoryUpdateTrajectoryDataType0Item"]]:
55
+ if data is None:
56
+ return data
57
+ if isinstance(data, Unset):
58
+ return data
59
+ try:
60
+ if not isinstance(data, list):
61
+ raise TypeError()
62
+ trajectory_data_type_0 = []
63
+ _trajectory_data_type_0 = data
64
+ for trajectory_data_type_0_item_data in _trajectory_data_type_0:
65
+ trajectory_data_type_0_item = TrajectoryUpdateTrajectoryDataType0Item.from_dict(
66
+ trajectory_data_type_0_item_data
67
+ )
68
+
69
+ trajectory_data_type_0.append(trajectory_data_type_0_item)
70
+
71
+ return trajectory_data_type_0
72
+ except: # noqa: E722
73
+ pass
74
+ return cast(Union[None, Unset, list["TrajectoryUpdateTrajectoryDataType0Item"]], data)
75
+
76
+ trajectory_data = _parse_trajectory_data(d.pop("trajectory_data", UNSET))
77
+
78
+ trajectory_update = cls(
79
+ trajectory_data=trajectory_data,
80
+ )
81
+
82
+ trajectory_update.additional_properties = d
83
+ return trajectory_update
84
+
85
+ @property
86
+ def additional_keys(self) -> list[str]:
87
+ return list(self.additional_properties.keys())
88
+
89
+ def __getitem__(self, key: str) -> Any:
90
+ return self.additional_properties[key]
91
+
92
+ def __setitem__(self, key: str, value: Any) -> None:
93
+ self.additional_properties[key] = value
94
+
95
+ def __delitem__(self, key: str) -> None:
96
+ del self.additional_properties[key]
97
+
98
+ def __contains__(self, key: str) -> bool:
99
+ 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="TrajectoryUpdateTrajectoryDataType0Item")
8
+
9
+
10
+ @_attrs_define
11
+ class TrajectoryUpdateTrajectoryDataType0Item:
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
+ trajectory_update_trajectory_data_type_0_item = cls()
26
+
27
+ trajectory_update_trajectory_data_type_0_item.additional_properties = d
28
+ return trajectory_update_trajectory_data_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,70 +1,88 @@
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
- from ..models.post_v1_desktop_id_computer_action_wait_action_type import PostV1DesktopIdComputerActionWaitActionType
8
-
9
- T = TypeVar("T", bound="PostV1DesktopIdComputerActionWaitAction")
10
-
11
-
12
- @_attrs_define
13
- class PostV1DesktopIdComputerActionWaitAction:
14
- """
15
- Attributes:
16
- type_ (PostV1DesktopIdComputerActionWaitActionType): Wait for the specified number of milliseconds Example:
17
- wait.
18
- ms (int): Time to wait in milliseconds Example: 1000.
19
- """
20
-
21
- type_: PostV1DesktopIdComputerActionWaitActionType
22
- ms: int
23
- additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
-
25
- def to_dict(self) -> dict[str, Any]:
26
- type_ = self.type_.value
27
-
28
- ms = self.ms
29
-
30
- field_dict: dict[str, Any] = {}
31
- field_dict.update(self.additional_properties)
32
- field_dict.update(
33
- {
34
- "type": type_,
35
- "ms": ms,
36
- }
37
- )
38
-
39
- return field_dict
40
-
41
- @classmethod
42
- def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
43
- d = dict(src_dict)
44
- type_ = PostV1DesktopIdComputerActionWaitActionType(d.pop("type"))
45
-
46
- ms = d.pop("ms")
47
-
48
- post_v1_desktop_id_computer_action_wait_action = cls(
49
- type_=type_,
50
- ms=ms,
51
- )
52
-
53
- post_v1_desktop_id_computer_action_wait_action.additional_properties = d
54
- return post_v1_desktop_id_computer_action_wait_action
55
-
56
- @property
57
- def additional_keys(self) -> list[str]:
58
- return list(self.additional_properties.keys())
59
-
60
- def __getitem__(self, key: str) -> Any:
61
- return self.additional_properties[key]
62
-
63
- def __setitem__(self, key: str, value: Any) -> None:
64
- self.additional_properties[key] = value
65
-
66
- def __delitem__(self, key: str) -> None:
67
- del self.additional_properties[key]
68
-
69
- def __contains__(self, key: str) -> bool:
70
- return key in self.additional_properties
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
+ T = TypeVar("T", bound="ValidationError")
8
+
9
+
10
+ @_attrs_define
11
+ class ValidationError:
12
+ """
13
+ Attributes:
14
+ loc (list[Union[int, str]]):
15
+ msg (str):
16
+ type_ (str):
17
+ """
18
+
19
+ loc: list[Union[int, str]]
20
+ msg: str
21
+ type_: str
22
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
23
+
24
+ def to_dict(self) -> dict[str, Any]:
25
+ loc = []
26
+ for loc_item_data in self.loc:
27
+ loc_item: Union[int, str]
28
+ loc_item = loc_item_data
29
+ loc.append(loc_item)
30
+
31
+ msg = self.msg
32
+
33
+ type_ = self.type_
34
+
35
+ field_dict: dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update(
38
+ {
39
+ "loc": loc,
40
+ "msg": msg,
41
+ "type": type_,
42
+ }
43
+ )
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
49
+ d = dict(src_dict)
50
+ loc = []
51
+ _loc = d.pop("loc")
52
+ for loc_item_data in _loc:
53
+
54
+ def _parse_loc_item(data: object) -> Union[int, str]:
55
+ return cast(Union[int, str], data)
56
+
57
+ loc_item = _parse_loc_item(loc_item_data)
58
+
59
+ loc.append(loc_item)
60
+
61
+ msg = d.pop("msg")
62
+
63
+ type_ = d.pop("type")
64
+
65
+ validation_error = cls(
66
+ loc=loc,
67
+ msg=msg,
68
+ type_=type_,
69
+ )
70
+
71
+ validation_error.additional_properties = d
72
+ return validation_error
73
+
74
+ @property
75
+ def additional_keys(self) -> list[str]:
76
+ return list(self.additional_properties.keys())
77
+
78
+ def __getitem__(self, key: str) -> Any:
79
+ return self.additional_properties[key]
80
+
81
+ def __setitem__(self, key: str, value: Any) -> None:
82
+ self.additional_properties[key] = value
83
+
84
+ def __delitem__(self, key: str) -> None:
85
+ del self.additional_properties[key]
86
+
87
+ def __contains__(self, key: str) -> bool:
88
+ return key in self.additional_properties
@@ -0,0 +1,82 @@
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="WorkflowCreate")
10
+
11
+
12
+ @_attrs_define
13
+ class WorkflowCreate:
14
+ """Schema for creating a workflow
15
+
16
+ Attributes:
17
+ main_prompt (str):
18
+ cleanup_prompt (Union[None, Unset, str]):
19
+ """
20
+
21
+ main_prompt: str
22
+ cleanup_prompt: Union[None, Unset, str] = UNSET
23
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> dict[str, Any]:
26
+ main_prompt = self.main_prompt
27
+
28
+ cleanup_prompt: Union[None, Unset, str]
29
+ if isinstance(self.cleanup_prompt, Unset):
30
+ cleanup_prompt = UNSET
31
+ else:
32
+ cleanup_prompt = self.cleanup_prompt
33
+
34
+ field_dict: dict[str, Any] = {}
35
+ field_dict.update(self.additional_properties)
36
+ field_dict.update(
37
+ {
38
+ "main_prompt": main_prompt,
39
+ }
40
+ )
41
+ if cleanup_prompt is not UNSET:
42
+ field_dict["cleanup_prompt"] = cleanup_prompt
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
48
+ d = dict(src_dict)
49
+ main_prompt = d.pop("main_prompt")
50
+
51
+ def _parse_cleanup_prompt(data: object) -> Union[None, Unset, str]:
52
+ if data is None:
53
+ return data
54
+ if isinstance(data, Unset):
55
+ return data
56
+ return cast(Union[None, Unset, str], data)
57
+
58
+ cleanup_prompt = _parse_cleanup_prompt(d.pop("cleanup_prompt", UNSET))
59
+
60
+ workflow_create = cls(
61
+ main_prompt=main_prompt,
62
+ cleanup_prompt=cleanup_prompt,
63
+ )
64
+
65
+ workflow_create.additional_properties = d
66
+ return workflow_create
67
+
68
+ @property
69
+ def additional_keys(self) -> list[str]:
70
+ return list(self.additional_properties.keys())
71
+
72
+ def __getitem__(self, key: str) -> Any:
73
+ return self.additional_properties[key]
74
+
75
+ def __setitem__(self, key: str, value: Any) -> None:
76
+ self.additional_properties[key] = value
77
+
78
+ def __delitem__(self, key: str) -> None:
79
+ del self.additional_properties[key]
80
+
81
+ def __contains__(self, key: str) -> bool:
82
+ return key in self.additional_properties