cyberdesk 1.11.0__py3-none-any.whl → 2.0.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 (45) hide show
  1. cyberdesk/__init__.py +1 -1
  2. {cyberdesk-1.11.0.dist-info → cyberdesk-2.0.0.dist-info}/METADATA +1 -1
  3. {cyberdesk-1.11.0.dist-info → cyberdesk-2.0.0.dist-info}/RECORD +45 -45
  4. openapi_client/cyberdesk_cloud_client/api/connections/create_connection_v1_connections_post.py +4 -4
  5. openapi_client/cyberdesk_cloud_client/api/connections/delete_connection_v1_connections_connection_id_delete.py +4 -4
  6. openapi_client/cyberdesk_cloud_client/api/connections/get_connection_v1_connections_connection_id_get.py +4 -4
  7. openapi_client/cyberdesk_cloud_client/api/connections/list_connections_v1_connections_get.py +4 -4
  8. openapi_client/cyberdesk_cloud_client/api/connections/update_connection_v1_connections_connection_id_patch.py +4 -4
  9. openapi_client/cyberdesk_cloud_client/api/machines/create_machine_v1_machines_post.py +4 -4
  10. openapi_client/cyberdesk_cloud_client/api/machines/delete_machine_v1_machines_machine_id_delete.py +4 -4
  11. openapi_client/cyberdesk_cloud_client/api/machines/get_machine_v1_machines_machine_id_get.py +4 -4
  12. openapi_client/cyberdesk_cloud_client/api/machines/list_machines_v1_machines_get.py +4 -4
  13. openapi_client/cyberdesk_cloud_client/api/machines/update_machine_v1_machines_machine_id_patch.py +4 -4
  14. openapi_client/cyberdesk_cloud_client/api/request_logs/create_request_log_v1_request_logs_post.py +4 -4
  15. openapi_client/cyberdesk_cloud_client/api/request_logs/delete_request_log_v1_request_logs_log_id_delete.py +4 -4
  16. openapi_client/cyberdesk_cloud_client/api/request_logs/get_request_log_v1_request_logs_log_id_get.py +4 -4
  17. openapi_client/cyberdesk_cloud_client/api/request_logs/list_request_logs_v1_request_logs_get.py +4 -4
  18. openapi_client/cyberdesk_cloud_client/api/request_logs/update_request_log_v1_request_logs_log_id_patch.py +4 -4
  19. openapi_client/cyberdesk_cloud_client/api/run_attachments/list_run_attachments_v1_run_attachments_get.py +4 -4
  20. openapi_client/cyberdesk_cloud_client/api/runs/create_run_v1_runs_post.py +12 -8
  21. openapi_client/cyberdesk_cloud_client/api/runs/delete_run_v1_runs_run_id_delete.py +8 -4
  22. openapi_client/cyberdesk_cloud_client/api/runs/get_run_v1_runs_run_id_get.py +4 -4
  23. openapi_client/cyberdesk_cloud_client/api/runs/list_runs_v1_runs_get.py +4 -4
  24. openapi_client/cyberdesk_cloud_client/api/runs/update_run_v1_runs_run_id_patch.py +8 -12
  25. openapi_client/cyberdesk_cloud_client/api/trajectories/create_trajectory_v1_trajectories_post.py +4 -4
  26. openapi_client/cyberdesk_cloud_client/api/trajectories/delete_trajectory_v1_trajectories_trajectory_id_delete.py +4 -4
  27. openapi_client/cyberdesk_cloud_client/api/trajectories/get_latest_trajectory_for_workflow_v1_workflows_workflow_id_latest_trajectory_get.py +4 -4
  28. openapi_client/cyberdesk_cloud_client/api/trajectories/get_trajectory_v1_trajectories_trajectory_id_get.py +4 -4
  29. openapi_client/cyberdesk_cloud_client/api/trajectories/list_trajectories_v1_trajectories_get.py +4 -4
  30. openapi_client/cyberdesk_cloud_client/api/trajectories/update_trajectory_v1_trajectories_trajectory_id_patch.py +4 -4
  31. openapi_client/cyberdesk_cloud_client/api/workflows/create_workflow_v1_workflows_post.py +4 -4
  32. openapi_client/cyberdesk_cloud_client/api/workflows/delete_workflow_v1_workflows_workflow_id_delete.py +4 -4
  33. openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_v1_workflows_workflow_id_get.py +4 -4
  34. openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_versions_v1_workflows_workflow_id_versions_get.py +4 -4
  35. openapi_client/cyberdesk_cloud_client/api/workflows/list_workflows_v1_workflows_get.py +4 -4
  36. openapi_client/cyberdesk_cloud_client/api/workflows/update_workflow_v1_workflows_workflow_id_patch.py +4 -4
  37. openapi_client/cyberdesk_cloud_client/models/machine_response.py +50 -8
  38. openapi_client/cyberdesk_cloud_client/models/request_log_response.py +20 -0
  39. openapi_client/cyberdesk_cloud_client/models/run_attachment_response.py +50 -8
  40. openapi_client/cyberdesk_cloud_client/models/run_response.py +51 -8
  41. openapi_client/cyberdesk_cloud_client/models/trajectory_response.py +50 -8
  42. openapi_client/cyberdesk_cloud_client/models/workflow_response.py +50 -8
  43. {cyberdesk-1.11.0.dist-info → cyberdesk-2.0.0.dist-info}/WHEEL +0 -0
  44. {cyberdesk-1.11.0.dist-info → cyberdesk-2.0.0.dist-info}/licenses/LICENSE +0 -0
  45. {cyberdesk-1.11.0.dist-info → cyberdesk-2.0.0.dist-info}/top_level.txt +0 -0
@@ -59,7 +59,7 @@ def sync_detailed(
59
59
 
60
60
  Get a specific workflow by ID.
61
61
 
62
- The workflow must belong to the authenticated user.
62
+ The workflow must belong to the authenticated organization.
63
63
 
64
64
  Args:
65
65
  workflow_id (UUID):
@@ -92,7 +92,7 @@ def sync(
92
92
 
93
93
  Get a specific workflow by ID.
94
94
 
95
- The workflow must belong to the authenticated user.
95
+ The workflow must belong to the authenticated organization.
96
96
 
97
97
  Args:
98
98
  workflow_id (UUID):
@@ -120,7 +120,7 @@ async def asyncio_detailed(
120
120
 
121
121
  Get a specific workflow by ID.
122
122
 
123
- The workflow must belong to the authenticated user.
123
+ The workflow must belong to the authenticated organization.
124
124
 
125
125
  Args:
126
126
  workflow_id (UUID):
@@ -151,7 +151,7 @@ async def asyncio(
151
151
 
152
152
  Get a specific workflow by ID.
153
153
 
154
- The workflow must belong to the authenticated user.
154
+ The workflow must belong to the authenticated organization.
155
155
 
156
156
  Args:
157
157
  workflow_id (UUID):
@@ -69,7 +69,7 @@ def sync_detailed(
69
69
  Get the version history of a workflow.
70
70
 
71
71
  Returns a list of previous versions with their prompts and timestamps.
72
- The workflow must belong to the authenticated user.
72
+ The workflow must belong to the authenticated organization.
73
73
 
74
74
  Args:
75
75
  workflow_id (UUID):
@@ -103,7 +103,7 @@ def sync(
103
103
  Get the version history of a workflow.
104
104
 
105
105
  Returns a list of previous versions with their prompts and timestamps.
106
- The workflow must belong to the authenticated user.
106
+ The workflow must belong to the authenticated organization.
107
107
 
108
108
  Args:
109
109
  workflow_id (UUID):
@@ -132,7 +132,7 @@ async def asyncio_detailed(
132
132
  Get the version history of a workflow.
133
133
 
134
134
  Returns a list of previous versions with their prompts and timestamps.
135
- The workflow must belong to the authenticated user.
135
+ The workflow must belong to the authenticated organization.
136
136
 
137
137
  Args:
138
138
  workflow_id (UUID):
@@ -164,7 +164,7 @@ async def asyncio(
164
164
  Get the version history of a workflow.
165
165
 
166
166
  Returns a list of previous versions with their prompts and timestamps.
167
- The workflow must belong to the authenticated user.
167
+ The workflow must belong to the authenticated organization.
168
168
 
169
169
  Args:
170
170
  workflow_id (UUID):
@@ -68,7 +68,7 @@ def sync_detailed(
68
68
  ) -> Response[Union[HTTPValidationError, PaginatedResponseWorkflowResponse]]:
69
69
  """List Workflows
70
70
 
71
- List all workflows for the authenticated user.
71
+ List all workflows for the authenticated organization.
72
72
 
73
73
  Supports pagination and returns workflows ordered by updated_at descending.
74
74
 
@@ -104,7 +104,7 @@ def sync(
104
104
  ) -> Optional[Union[HTTPValidationError, PaginatedResponseWorkflowResponse]]:
105
105
  """List Workflows
106
106
 
107
- List all workflows for the authenticated user.
107
+ List all workflows for the authenticated organization.
108
108
 
109
109
  Supports pagination and returns workflows ordered by updated_at descending.
110
110
 
@@ -135,7 +135,7 @@ async def asyncio_detailed(
135
135
  ) -> Response[Union[HTTPValidationError, PaginatedResponseWorkflowResponse]]:
136
136
  """List Workflows
137
137
 
138
- List all workflows for the authenticated user.
138
+ List all workflows for the authenticated organization.
139
139
 
140
140
  Supports pagination and returns workflows ordered by updated_at descending.
141
141
 
@@ -169,7 +169,7 @@ async def asyncio(
169
169
  ) -> Optional[Union[HTTPValidationError, PaginatedResponseWorkflowResponse]]:
170
170
  """List Workflows
171
171
 
172
- List all workflows for the authenticated user.
172
+ List all workflows for the authenticated organization.
173
173
 
174
174
  Supports pagination and returns workflows ordered by updated_at descending.
175
175
 
@@ -72,7 +72,7 @@ def sync_detailed(
72
72
 
73
73
  The current version will be saved to the version history.
74
74
  Only the fields provided in the request body will be updated.
75
- The workflow must belong to the authenticated user.
75
+ The workflow must belong to the authenticated organization.
76
76
 
77
77
  Args:
78
78
  workflow_id (UUID):
@@ -110,7 +110,7 @@ def sync(
110
110
 
111
111
  The current version will be saved to the version history.
112
112
  Only the fields provided in the request body will be updated.
113
- The workflow must belong to the authenticated user.
113
+ The workflow must belong to the authenticated organization.
114
114
 
115
115
  Args:
116
116
  workflow_id (UUID):
@@ -143,7 +143,7 @@ async def asyncio_detailed(
143
143
 
144
144
  The current version will be saved to the version history.
145
145
  Only the fields provided in the request body will be updated.
146
- The workflow must belong to the authenticated user.
146
+ The workflow must belong to the authenticated organization.
147
147
 
148
148
  Args:
149
149
  workflow_id (UUID):
@@ -179,7 +179,7 @@ async def asyncio(
179
179
 
180
180
  The current version will be saved to the version history.
181
181
  Only the fields provided in the request body will be updated.
182
- The workflow must belong to the authenticated user.
182
+ The workflow must belong to the authenticated organization.
183
183
 
184
184
  Args:
185
185
  workflow_id (UUID):
@@ -20,7 +20,6 @@ class MachineResponse:
20
20
  Attributes:
21
21
  fingerprint (str):
22
22
  id (UUID):
23
- user_id (UUID):
24
23
  unkey_key_id (str):
25
24
  status (MachineStatus):
26
25
  is_available (bool):
@@ -30,11 +29,12 @@ class MachineResponse:
30
29
  version (Union[None, Unset, str]):
31
30
  hostname (Union[None, Unset, str]):
32
31
  os_info (Union[None, Unset, str]):
32
+ user_id (Union[None, UUID, Unset]):
33
+ organization_id (Union[None, Unset, str]):
33
34
  """
34
35
 
35
36
  fingerprint: str
36
37
  id: UUID
37
- user_id: UUID
38
38
  unkey_key_id: str
39
39
  status: MachineStatus
40
40
  is_available: bool
@@ -44,6 +44,8 @@ class MachineResponse:
44
44
  version: Union[None, Unset, str] = UNSET
45
45
  hostname: Union[None, Unset, str] = UNSET
46
46
  os_info: Union[None, Unset, str] = UNSET
47
+ user_id: Union[None, UUID, Unset] = UNSET
48
+ organization_id: Union[None, Unset, str] = UNSET
47
49
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
48
50
 
49
51
  def to_dict(self) -> dict[str, Any]:
@@ -51,8 +53,6 @@ class MachineResponse:
51
53
 
52
54
  id = str(self.id)
53
55
 
54
- user_id = str(self.user_id)
55
-
56
56
  unkey_key_id = self.unkey_key_id
57
57
 
58
58
  status = self.status.value
@@ -87,13 +87,26 @@ class MachineResponse:
87
87
  else:
88
88
  os_info = self.os_info
89
89
 
90
+ user_id: Union[None, Unset, str]
91
+ if isinstance(self.user_id, Unset):
92
+ user_id = UNSET
93
+ elif isinstance(self.user_id, UUID):
94
+ user_id = str(self.user_id)
95
+ else:
96
+ user_id = self.user_id
97
+
98
+ organization_id: Union[None, Unset, str]
99
+ if isinstance(self.organization_id, Unset):
100
+ organization_id = UNSET
101
+ else:
102
+ organization_id = self.organization_id
103
+
90
104
  field_dict: dict[str, Any] = {}
91
105
  field_dict.update(self.additional_properties)
92
106
  field_dict.update(
93
107
  {
94
108
  "fingerprint": fingerprint,
95
109
  "id": id,
96
- "user_id": user_id,
97
110
  "unkey_key_id": unkey_key_id,
98
111
  "status": status,
99
112
  "is_available": is_available,
@@ -109,6 +122,10 @@ class MachineResponse:
109
122
  field_dict["hostname"] = hostname
110
123
  if os_info is not UNSET:
111
124
  field_dict["os_info"] = os_info
125
+ if user_id is not UNSET:
126
+ field_dict["user_id"] = user_id
127
+ if organization_id is not UNSET:
128
+ field_dict["organization_id"] = organization_id
112
129
 
113
130
  return field_dict
114
131
 
@@ -119,8 +136,6 @@ class MachineResponse:
119
136
 
120
137
  id = UUID(d.pop("id"))
121
138
 
122
- user_id = UUID(d.pop("user_id"))
123
-
124
139
  unkey_key_id = d.pop("unkey_key_id")
125
140
 
126
141
  status = MachineStatus(d.pop("status"))
@@ -167,10 +182,35 @@ class MachineResponse:
167
182
 
168
183
  os_info = _parse_os_info(d.pop("os_info", UNSET))
169
184
 
185
+ def _parse_user_id(data: object) -> Union[None, UUID, Unset]:
186
+ if data is None:
187
+ return data
188
+ if isinstance(data, Unset):
189
+ return data
190
+ try:
191
+ if not isinstance(data, str):
192
+ raise TypeError()
193
+ user_id_type_0 = UUID(data)
194
+
195
+ return user_id_type_0
196
+ except: # noqa: E722
197
+ pass
198
+ return cast(Union[None, UUID, Unset], data)
199
+
200
+ user_id = _parse_user_id(d.pop("user_id", UNSET))
201
+
202
+ def _parse_organization_id(data: object) -> Union[None, Unset, str]:
203
+ if data is None:
204
+ return data
205
+ if isinstance(data, Unset):
206
+ return data
207
+ return cast(Union[None, Unset, str], data)
208
+
209
+ organization_id = _parse_organization_id(d.pop("organization_id", UNSET))
210
+
170
211
  machine_response = cls(
171
212
  fingerprint=fingerprint,
172
213
  id=id,
173
- user_id=user_id,
174
214
  unkey_key_id=unkey_key_id,
175
215
  status=status,
176
216
  is_available=is_available,
@@ -180,6 +220,8 @@ class MachineResponse:
180
220
  version=version,
181
221
  hostname=hostname,
182
222
  os_info=os_info,
223
+ user_id=user_id,
224
+ organization_id=organization_id,
183
225
  )
184
226
 
185
227
  machine_response.additional_properties = d
@@ -29,6 +29,7 @@ class RequestLogResponse:
29
29
  response_size_bytes (Union[None, Unset, int]):
30
30
  duration_ms (Union[None, Unset, int]):
31
31
  error_message (Union[None, Unset, str]):
32
+ organization_id (Union[None, Unset, str]):
32
33
  """
33
34
 
34
35
  request_id: str
@@ -43,6 +44,7 @@ class RequestLogResponse:
43
44
  response_size_bytes: Union[None, Unset, int] = UNSET
44
45
  duration_ms: Union[None, Unset, int] = UNSET
45
46
  error_message: Union[None, Unset, str] = UNSET
47
+ organization_id: Union[None, Unset, str] = UNSET
46
48
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
47
49
 
48
50
  def to_dict(self) -> dict[str, Any]:
@@ -94,6 +96,12 @@ class RequestLogResponse:
94
96
  else:
95
97
  error_message = self.error_message
96
98
 
99
+ organization_id: Union[None, Unset, str]
100
+ if isinstance(self.organization_id, Unset):
101
+ organization_id = UNSET
102
+ else:
103
+ organization_id = self.organization_id
104
+
97
105
  field_dict: dict[str, Any] = {}
98
106
  field_dict.update(self.additional_properties)
99
107
  field_dict.update(
@@ -117,6 +125,8 @@ class RequestLogResponse:
117
125
  field_dict["duration_ms"] = duration_ms
118
126
  if error_message is not UNSET:
119
127
  field_dict["error_message"] = error_message
128
+ if organization_id is not UNSET:
129
+ field_dict["organization_id"] = organization_id
120
130
 
121
131
  return field_dict
122
132
 
@@ -195,6 +205,15 @@ class RequestLogResponse:
195
205
 
196
206
  error_message = _parse_error_message(d.pop("error_message", UNSET))
197
207
 
208
+ def _parse_organization_id(data: object) -> Union[None, Unset, str]:
209
+ if data is None:
210
+ return data
211
+ if isinstance(data, Unset):
212
+ return data
213
+ return cast(Union[None, Unset, str], data)
214
+
215
+ organization_id = _parse_organization_id(d.pop("organization_id", UNSET))
216
+
198
217
  request_log_response = cls(
199
218
  request_id=request_id,
200
219
  method=method,
@@ -208,6 +227,7 @@ class RequestLogResponse:
208
227
  response_size_bytes=response_size_bytes,
209
228
  duration_ms=duration_ms,
210
229
  error_message=error_message,
230
+ organization_id=organization_id,
211
231
  )
212
232
 
213
233
  request_log_response.additional_properties = d
@@ -22,13 +22,14 @@ class RunAttachmentResponse:
22
22
  content_type (str):
23
23
  attachment_type (AttachmentType):
24
24
  id (UUID):
25
- user_id (UUID):
26
25
  run_id (UUID):
27
26
  size_bytes (int):
28
27
  storage_path (str):
29
28
  created_at (datetime.datetime):
30
29
  target_path (Union[None, Unset, str]):
31
30
  cleanup_imports_after_run (Union[Unset, bool]): Default: False.
31
+ user_id (Union[None, UUID, Unset]):
32
+ organization_id (Union[None, Unset, str]):
32
33
  expires_at (Union[None, Unset, datetime.datetime]):
33
34
  """
34
35
 
@@ -36,13 +37,14 @@ class RunAttachmentResponse:
36
37
  content_type: str
37
38
  attachment_type: AttachmentType
38
39
  id: UUID
39
- user_id: UUID
40
40
  run_id: UUID
41
41
  size_bytes: int
42
42
  storage_path: str
43
43
  created_at: datetime.datetime
44
44
  target_path: Union[None, Unset, str] = UNSET
45
45
  cleanup_imports_after_run: Union[Unset, bool] = False
46
+ user_id: Union[None, UUID, Unset] = UNSET
47
+ organization_id: Union[None, Unset, str] = UNSET
46
48
  expires_at: Union[None, Unset, datetime.datetime] = UNSET
47
49
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
48
50
 
@@ -55,8 +57,6 @@ class RunAttachmentResponse:
55
57
 
56
58
  id = str(self.id)
57
59
 
58
- user_id = str(self.user_id)
59
-
60
60
  run_id = str(self.run_id)
61
61
 
62
62
  size_bytes = self.size_bytes
@@ -73,6 +73,20 @@ class RunAttachmentResponse:
73
73
 
74
74
  cleanup_imports_after_run = self.cleanup_imports_after_run
75
75
 
76
+ user_id: Union[None, Unset, str]
77
+ if isinstance(self.user_id, Unset):
78
+ user_id = UNSET
79
+ elif isinstance(self.user_id, UUID):
80
+ user_id = str(self.user_id)
81
+ else:
82
+ user_id = self.user_id
83
+
84
+ organization_id: Union[None, Unset, str]
85
+ if isinstance(self.organization_id, Unset):
86
+ organization_id = UNSET
87
+ else:
88
+ organization_id = self.organization_id
89
+
76
90
  expires_at: Union[None, Unset, str]
77
91
  if isinstance(self.expires_at, Unset):
78
92
  expires_at = UNSET
@@ -89,7 +103,6 @@ class RunAttachmentResponse:
89
103
  "content_type": content_type,
90
104
  "attachment_type": attachment_type,
91
105
  "id": id,
92
- "user_id": user_id,
93
106
  "run_id": run_id,
94
107
  "size_bytes": size_bytes,
95
108
  "storage_path": storage_path,
@@ -100,6 +113,10 @@ class RunAttachmentResponse:
100
113
  field_dict["target_path"] = target_path
101
114
  if cleanup_imports_after_run is not UNSET:
102
115
  field_dict["cleanup_imports_after_run"] = cleanup_imports_after_run
116
+ if user_id is not UNSET:
117
+ field_dict["user_id"] = user_id
118
+ if organization_id is not UNSET:
119
+ field_dict["organization_id"] = organization_id
103
120
  if expires_at is not UNSET:
104
121
  field_dict["expires_at"] = expires_at
105
122
 
@@ -116,8 +133,6 @@ class RunAttachmentResponse:
116
133
 
117
134
  id = UUID(d.pop("id"))
118
135
 
119
- user_id = UUID(d.pop("user_id"))
120
-
121
136
  run_id = UUID(d.pop("run_id"))
122
137
 
123
138
  size_bytes = d.pop("size_bytes")
@@ -137,6 +152,32 @@ class RunAttachmentResponse:
137
152
 
138
153
  cleanup_imports_after_run = d.pop("cleanup_imports_after_run", UNSET)
139
154
 
155
+ def _parse_user_id(data: object) -> Union[None, UUID, Unset]:
156
+ if data is None:
157
+ return data
158
+ if isinstance(data, Unset):
159
+ return data
160
+ try:
161
+ if not isinstance(data, str):
162
+ raise TypeError()
163
+ user_id_type_0 = UUID(data)
164
+
165
+ return user_id_type_0
166
+ except: # noqa: E722
167
+ pass
168
+ return cast(Union[None, UUID, Unset], data)
169
+
170
+ user_id = _parse_user_id(d.pop("user_id", UNSET))
171
+
172
+ def _parse_organization_id(data: object) -> Union[None, Unset, str]:
173
+ if data is None:
174
+ return data
175
+ if isinstance(data, Unset):
176
+ return data
177
+ return cast(Union[None, Unset, str], data)
178
+
179
+ organization_id = _parse_organization_id(d.pop("organization_id", UNSET))
180
+
140
181
  def _parse_expires_at(data: object) -> Union[None, Unset, datetime.datetime]:
141
182
  if data is None:
142
183
  return data
@@ -159,13 +200,14 @@ class RunAttachmentResponse:
159
200
  content_type=content_type,
160
201
  attachment_type=attachment_type,
161
202
  id=id,
162
- user_id=user_id,
163
203
  run_id=run_id,
164
204
  size_bytes=size_bytes,
165
205
  storage_path=storage_path,
166
206
  created_at=created_at,
167
207
  target_path=target_path,
168
208
  cleanup_imports_after_run=cleanup_imports_after_run,
209
+ user_id=user_id,
210
+ organization_id=organization_id,
169
211
  expires_at=expires_at,
170
212
  )
171
213
 
@@ -8,6 +8,7 @@ from attrs import field as _attrs_field
8
8
  from dateutil.parser import isoparse
9
9
 
10
10
  from ..models.run_status import RunStatus
11
+ from ..types import UNSET, Unset
11
12
 
12
13
  if TYPE_CHECKING:
13
14
  from ..models.run_response_input_values_type_0 import RunResponseInputValuesType0
@@ -26,7 +27,6 @@ class RunResponse:
26
27
  workflow_id (UUID):
27
28
  machine_id (Union[None, UUID]):
28
29
  id (UUID):
29
- user_id (UUID):
30
30
  status (RunStatus):
31
31
  error (Union[None, list[str]]):
32
32
  output_data (Union['RunResponseOutputDataType0', None]):
@@ -35,12 +35,13 @@ class RunResponse:
35
35
  run_message_history (Union[None, list['RunResponseRunMessageHistoryType0Item']]):
36
36
  input_values (Union['RunResponseInputValuesType0', None]):
37
37
  created_at (datetime.datetime):
38
+ user_id (Union[None, UUID, Unset]):
39
+ organization_id (Union[None, Unset, str]):
38
40
  """
39
41
 
40
42
  workflow_id: UUID
41
43
  machine_id: Union[None, UUID]
42
44
  id: UUID
43
- user_id: UUID
44
45
  status: RunStatus
45
46
  error: Union[None, list[str]]
46
47
  output_data: Union["RunResponseOutputDataType0", None]
@@ -49,6 +50,8 @@ class RunResponse:
49
50
  run_message_history: Union[None, list["RunResponseRunMessageHistoryType0Item"]]
50
51
  input_values: Union["RunResponseInputValuesType0", None]
51
52
  created_at: datetime.datetime
53
+ user_id: Union[None, UUID, Unset] = UNSET
54
+ organization_id: Union[None, Unset, str] = UNSET
52
55
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
53
56
 
54
57
  def to_dict(self) -> dict[str, Any]:
@@ -65,8 +68,6 @@ class RunResponse:
65
68
 
66
69
  id = str(self.id)
67
70
 
68
- user_id = str(self.user_id)
69
-
70
71
  status = self.status.value
71
72
 
72
73
  error: Union[None, list[str]]
@@ -114,6 +115,20 @@ class RunResponse:
114
115
 
115
116
  created_at = self.created_at.isoformat()
116
117
 
118
+ user_id: Union[None, Unset, str]
119
+ if isinstance(self.user_id, Unset):
120
+ user_id = UNSET
121
+ elif isinstance(self.user_id, UUID):
122
+ user_id = str(self.user_id)
123
+ else:
124
+ user_id = self.user_id
125
+
126
+ organization_id: Union[None, Unset, str]
127
+ if isinstance(self.organization_id, Unset):
128
+ organization_id = UNSET
129
+ else:
130
+ organization_id = self.organization_id
131
+
117
132
  field_dict: dict[str, Any] = {}
118
133
  field_dict.update(self.additional_properties)
119
134
  field_dict.update(
@@ -121,7 +136,6 @@ class RunResponse:
121
136
  "workflow_id": workflow_id,
122
137
  "machine_id": machine_id,
123
138
  "id": id,
124
- "user_id": user_id,
125
139
  "status": status,
126
140
  "error": error,
127
141
  "output_data": output_data,
@@ -132,6 +146,10 @@ class RunResponse:
132
146
  "created_at": created_at,
133
147
  }
134
148
  )
149
+ if user_id is not UNSET:
150
+ field_dict["user_id"] = user_id
151
+ if organization_id is not UNSET:
152
+ field_dict["organization_id"] = organization_id
135
153
 
136
154
  return field_dict
137
155
 
@@ -161,8 +179,6 @@ class RunResponse:
161
179
 
162
180
  id = UUID(d.pop("id"))
163
181
 
164
- user_id = UUID(d.pop("user_id"))
165
-
166
182
  status = RunStatus(d.pop("status"))
167
183
 
168
184
  def _parse_error(data: object) -> Union[None, list[str]]:
@@ -264,11 +280,36 @@ class RunResponse:
264
280
 
265
281
  created_at = isoparse(d.pop("created_at"))
266
282
 
283
+ def _parse_user_id(data: object) -> Union[None, UUID, Unset]:
284
+ if data is None:
285
+ return data
286
+ if isinstance(data, Unset):
287
+ return data
288
+ try:
289
+ if not isinstance(data, str):
290
+ raise TypeError()
291
+ user_id_type_0 = UUID(data)
292
+
293
+ return user_id_type_0
294
+ except: # noqa: E722
295
+ pass
296
+ return cast(Union[None, UUID, Unset], data)
297
+
298
+ user_id = _parse_user_id(d.pop("user_id", UNSET))
299
+
300
+ def _parse_organization_id(data: object) -> Union[None, Unset, str]:
301
+ if data is None:
302
+ return data
303
+ if isinstance(data, Unset):
304
+ return data
305
+ return cast(Union[None, Unset, str], data)
306
+
307
+ organization_id = _parse_organization_id(d.pop("organization_id", UNSET))
308
+
267
309
  run_response = cls(
268
310
  workflow_id=workflow_id,
269
311
  machine_id=machine_id,
270
312
  id=id,
271
- user_id=user_id,
272
313
  status=status,
273
314
  error=error,
274
315
  output_data=output_data,
@@ -277,6 +318,8 @@ class RunResponse:
277
318
  run_message_history=run_message_history,
278
319
  input_values=input_values,
279
320
  created_at=created_at,
321
+ user_id=user_id,
322
+ organization_id=organization_id,
280
323
  )
281
324
 
282
325
  run_response.additional_properties = d