everyrow 0.1.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.
Files changed (183) hide show
  1. everyrow/__init__.py +4 -0
  2. everyrow/api_utils.py +45 -0
  3. everyrow/citations.py +46 -0
  4. everyrow/constants.py +4 -0
  5. everyrow/generated/__init__.py +8 -0
  6. everyrow/generated/api/__init__.py +1 -0
  7. everyrow/generated/api/default/__init__.py +1 -0
  8. everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py +208 -0
  9. everyrow/generated/api/default/copy_artifacts_artifacts_copy_post.py +166 -0
  10. everyrow/generated/api/default/copy_workflow_endpoint_workflows_copy_post.py +166 -0
  11. everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py +186 -0
  12. everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py +198 -0
  13. everyrow/generated/api/default/create_workflow_from_artifact_workflows_from_artifact_post.py +174 -0
  14. everyrow/generated/api/default/export_to_google_sheets_export_post.py +168 -0
  15. everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py +186 -0
  16. everyrow/generated/api/default/get_artifacts_artifacts_get.py +260 -0
  17. everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py +165 -0
  18. everyrow/generated/api/default/get_job_progress_for_task_jobs_progress_get.py +167 -0
  19. everyrow/generated/api/default/get_metrics_metrics_get.py +80 -0
  20. everyrow/generated/api/default/get_queues_stats_jobs_queues_get.py +123 -0
  21. everyrow/generated/api/default/get_task_status_endpoint_tasks_task_id_status_get.py +193 -0
  22. everyrow/generated/api/default/get_user_usage_usage_get.py +123 -0
  23. everyrow/generated/api/default/healthz_healthz_get.py +127 -0
  24. everyrow/generated/api/default/import_from_google_sheets_import_post.py +170 -0
  25. everyrow/generated/api/default/interrupt_chat_task_tasks_chat_interrupt_post.py +172 -0
  26. everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py +186 -0
  27. everyrow/generated/api/default/re_execute_task_endpoint_tasks_re_execute_post.py +192 -0
  28. everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py +181 -0
  29. everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py +164 -0
  30. everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py +186 -0
  31. everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py +164 -0
  32. everyrow/generated/api/default/submit_task_tasks_post.py +172 -0
  33. everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py +319 -0
  34. everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py +166 -0
  35. everyrow/generated/api/default/whoami_whoami_get.py +127 -0
  36. everyrow/generated/client.py +268 -0
  37. everyrow/generated/errors.py +16 -0
  38. everyrow/generated/models/__init__.py +281 -0
  39. everyrow/generated/models/agent_improvement_instruction.py +69 -0
  40. everyrow/generated/models/agent_query_params.py +362 -0
  41. everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py +10 -0
  42. everyrow/generated/models/agent_task_args.py +163 -0
  43. everyrow/generated/models/agent_task_args_processing_mode.py +9 -0
  44. everyrow/generated/models/allowed_suggestions.py +8 -0
  45. everyrow/generated/models/api_key_info.py +163 -0
  46. everyrow/generated/models/artifact_changed_payload.py +89 -0
  47. everyrow/generated/models/artifact_group_record.py +330 -0
  48. everyrow/generated/models/artifact_group_record_metadata_type_0.py +46 -0
  49. everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py +46 -0
  50. everyrow/generated/models/artifact_status.py +14 -0
  51. everyrow/generated/models/auto_cohort_conversation_message.py +533 -0
  52. everyrow/generated/models/aux_data.py +128 -0
  53. everyrow/generated/models/aux_data_source_bank.py +59 -0
  54. everyrow/generated/models/chat_completion_message_tool_call.py +46 -0
  55. everyrow/generated/models/chat_message_metadata.py +193 -0
  56. everyrow/generated/models/concatenate_query_params.py +46 -0
  57. everyrow/generated/models/concatenate_request.py +306 -0
  58. everyrow/generated/models/continue_reason.py +9 -0
  59. everyrow/generated/models/continue_task_request.py +133 -0
  60. everyrow/generated/models/controller_improvement_round.py +79 -0
  61. everyrow/generated/models/conversation_changed_payload.py +89 -0
  62. everyrow/generated/models/copy_artifacts_request.py +70 -0
  63. everyrow/generated/models/copy_artifacts_response.py +70 -0
  64. everyrow/generated/models/copy_workflow_request.py +62 -0
  65. everyrow/generated/models/copy_workflow_response.py +70 -0
  66. everyrow/generated/models/create_api_key_request.py +95 -0
  67. everyrow/generated/models/create_api_key_response.py +96 -0
  68. everyrow/generated/models/create_group_query_params.py +61 -0
  69. everyrow/generated/models/create_group_request.py +305 -0
  70. everyrow/generated/models/create_query_params.py +61 -0
  71. everyrow/generated/models/create_request.py +305 -0
  72. everyrow/generated/models/create_session_request.py +62 -0
  73. everyrow/generated/models/create_session_response.py +63 -0
  74. everyrow/generated/models/create_workflow_from_artifact_request.py +92 -0
  75. everyrow/generated/models/create_workflow_from_artifact_response.py +70 -0
  76. everyrow/generated/models/data_frame_method.py +18 -0
  77. everyrow/generated/models/date_cutoffs.py +145 -0
  78. everyrow/generated/models/dedupe_mode.py +9 -0
  79. everyrow/generated/models/dedupe_query_params.py +174 -0
  80. everyrow/generated/models/dedupe_request_params.py +311 -0
  81. everyrow/generated/models/deep_merge_public_params.py +143 -0
  82. everyrow/generated/models/deep_merge_request.py +313 -0
  83. everyrow/generated/models/deep_rank_public_params.py +99 -0
  84. everyrow/generated/models/deep_rank_request.py +313 -0
  85. everyrow/generated/models/deep_screen_public_params.py +122 -0
  86. everyrow/generated/models/deep_screen_request.py +313 -0
  87. everyrow/generated/models/derive_expression.py +69 -0
  88. everyrow/generated/models/derive_query_params.py +75 -0
  89. everyrow/generated/models/derive_request.py +307 -0
  90. everyrow/generated/models/document_query_tool.py +12 -0
  91. everyrow/generated/models/drop_columns_query_params.py +61 -0
  92. everyrow/generated/models/drop_columns_request.py +305 -0
  93. everyrow/generated/models/embedding_models.py +9 -0
  94. everyrow/generated/models/event_type.py +14 -0
  95. everyrow/generated/models/execution_metadata.py +146 -0
  96. everyrow/generated/models/export_request.py +75 -0
  97. everyrow/generated/models/export_request_token_data.py +46 -0
  98. everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py +46 -0
  99. everyrow/generated/models/filter_query_params.py +91 -0
  100. everyrow/generated/models/filter_request.py +305 -0
  101. everyrow/generated/models/flatten_query_params.py +46 -0
  102. everyrow/generated/models/flatten_request.py +305 -0
  103. everyrow/generated/models/generate_feedback_request.py +62 -0
  104. everyrow/generated/models/group_by_query_params.py +62 -0
  105. everyrow/generated/models/group_by_request.py +305 -0
  106. everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py +46 -0
  107. everyrow/generated/models/http_validation_error.py +79 -0
  108. everyrow/generated/models/image_chat_content_part.py +80 -0
  109. everyrow/generated/models/image_chat_content_part_image_url.py +46 -0
  110. everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py +46 -0
  111. everyrow/generated/models/import_request.py +83 -0
  112. everyrow/generated/models/import_request_token_data.py +46 -0
  113. everyrow/generated/models/insufficient_balance_error.py +81 -0
  114. everyrow/generated/models/join_query_params.py +73 -0
  115. everyrow/generated/models/join_request.py +305 -0
  116. everyrow/generated/models/llm_enum.py +54 -0
  117. everyrow/generated/models/map_agent_request_params.py +313 -0
  118. everyrow/generated/models/map_multi_agent_request_params.py +313 -0
  119. everyrow/generated/models/message_created_payload.py +98 -0
  120. everyrow/generated/models/multi_agent_effort_level.py +10 -0
  121. everyrow/generated/models/multi_agent_query_params.py +264 -0
  122. everyrow/generated/models/multi_modal_chat_message.py +160 -0
  123. everyrow/generated/models/multi_modal_chat_message_role.py +10 -0
  124. everyrow/generated/models/preview_metadata.py +144 -0
  125. everyrow/generated/models/processing_mode.py +10 -0
  126. everyrow/generated/models/progress_status.py +83 -0
  127. everyrow/generated/models/queue_stats.py +77 -0
  128. everyrow/generated/models/reduce_agent_request_params.py +305 -0
  129. everyrow/generated/models/reduce_multi_agent_request_params.py +305 -0
  130. everyrow/generated/models/resource_estimation_response.py +85 -0
  131. everyrow/generated/models/response_schema_type.py +9 -0
  132. everyrow/generated/models/revoke_api_key_response.py +61 -0
  133. everyrow/generated/models/rollback_to_message_request.py +62 -0
  134. everyrow/generated/models/rollback_to_message_response.py +77 -0
  135. everyrow/generated/models/session_changed_payload.py +69 -0
  136. everyrow/generated/models/simple_chat_message.py +121 -0
  137. everyrow/generated/models/simple_chat_message_role.py +10 -0
  138. everyrow/generated/models/simple_chat_message_with_tool_calls.py +156 -0
  139. everyrow/generated/models/source_database_entry.py +92 -0
  140. everyrow/generated/models/standalone_artifact_record.py +278 -0
  141. everyrow/generated/models/standalone_artifact_record_metadata_type_0.py +46 -0
  142. everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py +46 -0
  143. everyrow/generated/models/status_count.py +71 -0
  144. everyrow/generated/models/status_count_status.py +13 -0
  145. everyrow/generated/models/submit_chat_task_body.py +497 -0
  146. everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py +11 -0
  147. everyrow/generated/models/submit_task_body.py +745 -0
  148. everyrow/generated/models/task_changed_payload.py +105 -0
  149. everyrow/generated/models/task_effort.py +10 -0
  150. everyrow/generated/models/task_id_request.py +62 -0
  151. everyrow/generated/models/task_insert.py +725 -0
  152. everyrow/generated/models/task_insert_query_params.py +46 -0
  153. everyrow/generated/models/task_metadata.py +323 -0
  154. everyrow/generated/models/task_metadata_cols_to_rename_type_0.py +46 -0
  155. everyrow/generated/models/task_response.py +62 -0
  156. everyrow/generated/models/task_status.py +12 -0
  157. everyrow/generated/models/task_status_response.py +112 -0
  158. everyrow/generated/models/task_type.py +31 -0
  159. everyrow/generated/models/text_chat_content_part.py +74 -0
  160. everyrow/generated/models/tool_response_message.py +127 -0
  161. everyrow/generated/models/toolkit_constants.py +80 -0
  162. everyrow/generated/models/trace_changed_payload.py +94 -0
  163. everyrow/generated/models/trace_info.py +78 -0
  164. everyrow/generated/models/trigger_workflow_execution_request.py +112 -0
  165. everyrow/generated/models/trigger_workflow_execution_request_task_params.py +65 -0
  166. everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py +46 -0
  167. everyrow/generated/models/trigger_workflow_execution_response.py +69 -0
  168. everyrow/generated/models/upload_csv_payload.py +310 -0
  169. everyrow/generated/models/upload_csv_query_params.py +114 -0
  170. everyrow/generated/models/usage_response.py +77 -0
  171. everyrow/generated/models/validation_error.py +90 -0
  172. everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py +46 -0
  173. everyrow/generated/models/workflow_leaf_node_input.py +70 -0
  174. everyrow/generated/py.typed +1 -0
  175. everyrow/generated/types.py +54 -0
  176. everyrow/ops.py +672 -0
  177. everyrow/result.py +25 -0
  178. everyrow/session.py +53 -0
  179. everyrow/task.py +143 -0
  180. everyrow-0.1.0.dist-info/METADATA +238 -0
  181. everyrow-0.1.0.dist-info/RECORD +183 -0
  182. everyrow-0.1.0.dist-info/WHEEL +4 -0
  183. everyrow-0.1.0.dist-info/licenses/LICENSE.txt +21 -0
@@ -0,0 +1,313 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, Literal, TypeVar, cast
5
+ from uuid import UUID
6
+
7
+ from attrs import define as _attrs_define
8
+ from attrs import field as _attrs_field
9
+
10
+ from ..types import UNSET, Unset
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.deep_rank_public_params import DeepRankPublicParams
14
+
15
+
16
+ T = TypeVar("T", bound="DeepRankRequest")
17
+
18
+
19
+ @_attrs_define
20
+ class DeepRankRequest:
21
+ """
22
+ Attributes:
23
+ query (DeepRankPublicParams):
24
+ input_artifacts (list[UUID] | None | Unset):
25
+ context_artifacts (list[UUID] | None | Unset):
26
+ label (None | str | Unset): Short task label for use in the UI
27
+ description (None | str | Unset): Task description for use in the UI
28
+ task_id (None | Unset | UUID):
29
+ replaces_task_id (None | Unset | UUID): The ID of the task that this task replaces. Used e.g. by the full
30
+ version of a task that replaces a preview version.
31
+ twin_artifact_id (None | Unset | UUID): The ID of a reference artifact, e.g. the right table in Deep Merge
32
+ operation.
33
+ task_type (Literal['deep_rank'] | Unset): Default: 'deep_rank'.
34
+ processing_mode (Literal['map'] | Unset): Default: 'map'.
35
+ join_with_input (bool | Unset): Default: True.
36
+ """
37
+
38
+ query: DeepRankPublicParams
39
+ input_artifacts: list[UUID] | None | Unset = UNSET
40
+ context_artifacts: list[UUID] | None | Unset = UNSET
41
+ label: None | str | Unset = UNSET
42
+ description: None | str | Unset = UNSET
43
+ task_id: None | Unset | UUID = UNSET
44
+ replaces_task_id: None | Unset | UUID = UNSET
45
+ twin_artifact_id: None | Unset | UUID = UNSET
46
+ task_type: Literal["deep_rank"] | Unset = "deep_rank"
47
+ processing_mode: Literal["map"] | Unset = "map"
48
+ join_with_input: bool | Unset = True
49
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
50
+
51
+ def to_dict(self) -> dict[str, Any]:
52
+ query = self.query.to_dict()
53
+
54
+ input_artifacts: list[str] | None | Unset
55
+ if isinstance(self.input_artifacts, Unset):
56
+ input_artifacts = UNSET
57
+ elif isinstance(self.input_artifacts, list):
58
+ input_artifacts = []
59
+ for componentsschemas_input_artifacts_ids_item_data in self.input_artifacts:
60
+ componentsschemas_input_artifacts_ids_item = str(componentsschemas_input_artifacts_ids_item_data)
61
+ input_artifacts.append(componentsschemas_input_artifacts_ids_item)
62
+
63
+ else:
64
+ input_artifacts = self.input_artifacts
65
+
66
+ context_artifacts: list[str] | None | Unset
67
+ if isinstance(self.context_artifacts, Unset):
68
+ context_artifacts = UNSET
69
+ elif isinstance(self.context_artifacts, list):
70
+ context_artifacts = []
71
+ for componentsschemas_context_artifacts_ids_item_data in self.context_artifacts:
72
+ componentsschemas_context_artifacts_ids_item = str(componentsschemas_context_artifacts_ids_item_data)
73
+ context_artifacts.append(componentsschemas_context_artifacts_ids_item)
74
+
75
+ else:
76
+ context_artifacts = self.context_artifacts
77
+
78
+ label: None | str | Unset
79
+ if isinstance(self.label, Unset):
80
+ label = UNSET
81
+ else:
82
+ label = self.label
83
+
84
+ description: None | str | Unset
85
+ if isinstance(self.description, Unset):
86
+ description = UNSET
87
+ else:
88
+ description = self.description
89
+
90
+ task_id: None | str | Unset
91
+ if isinstance(self.task_id, Unset):
92
+ task_id = UNSET
93
+ elif isinstance(self.task_id, UUID):
94
+ task_id = str(self.task_id)
95
+ else:
96
+ task_id = self.task_id
97
+
98
+ replaces_task_id: None | str | Unset
99
+ if isinstance(self.replaces_task_id, Unset):
100
+ replaces_task_id = UNSET
101
+ elif isinstance(self.replaces_task_id, UUID):
102
+ replaces_task_id = str(self.replaces_task_id)
103
+ else:
104
+ replaces_task_id = self.replaces_task_id
105
+
106
+ twin_artifact_id: None | str | Unset
107
+ if isinstance(self.twin_artifact_id, Unset):
108
+ twin_artifact_id = UNSET
109
+ elif isinstance(self.twin_artifact_id, UUID):
110
+ twin_artifact_id = str(self.twin_artifact_id)
111
+ else:
112
+ twin_artifact_id = self.twin_artifact_id
113
+
114
+ task_type = self.task_type
115
+
116
+ processing_mode = self.processing_mode
117
+
118
+ join_with_input = self.join_with_input
119
+
120
+ field_dict: dict[str, Any] = {}
121
+ field_dict.update(self.additional_properties)
122
+ field_dict.update(
123
+ {
124
+ "query": query,
125
+ }
126
+ )
127
+ if input_artifacts is not UNSET:
128
+ field_dict["input_artifacts"] = input_artifacts
129
+ if context_artifacts is not UNSET:
130
+ field_dict["context_artifacts"] = context_artifacts
131
+ if label is not UNSET:
132
+ field_dict["label"] = label
133
+ if description is not UNSET:
134
+ field_dict["description"] = description
135
+ if task_id is not UNSET:
136
+ field_dict["task_id"] = task_id
137
+ if replaces_task_id is not UNSET:
138
+ field_dict["replaces_task_id"] = replaces_task_id
139
+ if twin_artifact_id is not UNSET:
140
+ field_dict["twin_artifact_id"] = twin_artifact_id
141
+ if task_type is not UNSET:
142
+ field_dict["task_type"] = task_type
143
+ if processing_mode is not UNSET:
144
+ field_dict["processing_mode"] = processing_mode
145
+ if join_with_input is not UNSET:
146
+ field_dict["join_with_input"] = join_with_input
147
+
148
+ return field_dict
149
+
150
+ @classmethod
151
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
152
+ from ..models.deep_rank_public_params import DeepRankPublicParams
153
+
154
+ d = dict(src_dict)
155
+ query = DeepRankPublicParams.from_dict(d.pop("query"))
156
+
157
+ def _parse_input_artifacts(data: object) -> list[UUID] | None | Unset:
158
+ if data is None:
159
+ return data
160
+ if isinstance(data, Unset):
161
+ return data
162
+ try:
163
+ if not isinstance(data, list):
164
+ raise TypeError()
165
+ input_artifacts_type_0 = []
166
+ _input_artifacts_type_0 = data
167
+ for componentsschemas_input_artifacts_ids_item_data in _input_artifacts_type_0:
168
+ componentsschemas_input_artifacts_ids_item = UUID(componentsschemas_input_artifacts_ids_item_data)
169
+
170
+ input_artifacts_type_0.append(componentsschemas_input_artifacts_ids_item)
171
+
172
+ return input_artifacts_type_0
173
+ except (TypeError, ValueError, AttributeError, KeyError):
174
+ pass
175
+ return cast(list[UUID] | None | Unset, data)
176
+
177
+ input_artifacts = _parse_input_artifacts(d.pop("input_artifacts", UNSET))
178
+
179
+ def _parse_context_artifacts(data: object) -> list[UUID] | None | Unset:
180
+ if data is None:
181
+ return data
182
+ if isinstance(data, Unset):
183
+ return data
184
+ try:
185
+ if not isinstance(data, list):
186
+ raise TypeError()
187
+ context_artifacts_type_0 = []
188
+ _context_artifacts_type_0 = data
189
+ for componentsschemas_context_artifacts_ids_item_data in _context_artifacts_type_0:
190
+ componentsschemas_context_artifacts_ids_item = UUID(
191
+ componentsschemas_context_artifacts_ids_item_data
192
+ )
193
+
194
+ context_artifacts_type_0.append(componentsschemas_context_artifacts_ids_item)
195
+
196
+ return context_artifacts_type_0
197
+ except (TypeError, ValueError, AttributeError, KeyError):
198
+ pass
199
+ return cast(list[UUID] | None | Unset, data)
200
+
201
+ context_artifacts = _parse_context_artifacts(d.pop("context_artifacts", UNSET))
202
+
203
+ def _parse_label(data: object) -> None | str | Unset:
204
+ if data is None:
205
+ return data
206
+ if isinstance(data, Unset):
207
+ return data
208
+ return cast(None | str | Unset, data)
209
+
210
+ label = _parse_label(d.pop("label", UNSET))
211
+
212
+ def _parse_description(data: object) -> None | str | Unset:
213
+ if data is None:
214
+ return data
215
+ if isinstance(data, Unset):
216
+ return data
217
+ return cast(None | str | Unset, data)
218
+
219
+ description = _parse_description(d.pop("description", UNSET))
220
+
221
+ def _parse_task_id(data: object) -> None | Unset | UUID:
222
+ if data is None:
223
+ return data
224
+ if isinstance(data, Unset):
225
+ return data
226
+ try:
227
+ if not isinstance(data, str):
228
+ raise TypeError()
229
+ task_id_type_0 = UUID(data)
230
+
231
+ return task_id_type_0
232
+ except (TypeError, ValueError, AttributeError, KeyError):
233
+ pass
234
+ return cast(None | Unset | UUID, data)
235
+
236
+ task_id = _parse_task_id(d.pop("task_id", UNSET))
237
+
238
+ def _parse_replaces_task_id(data: object) -> None | Unset | UUID:
239
+ if data is None:
240
+ return data
241
+ if isinstance(data, Unset):
242
+ return data
243
+ try:
244
+ if not isinstance(data, str):
245
+ raise TypeError()
246
+ replaces_task_id_type_0 = UUID(data)
247
+
248
+ return replaces_task_id_type_0
249
+ except (TypeError, ValueError, AttributeError, KeyError):
250
+ pass
251
+ return cast(None | Unset | UUID, data)
252
+
253
+ replaces_task_id = _parse_replaces_task_id(d.pop("replaces_task_id", UNSET))
254
+
255
+ def _parse_twin_artifact_id(data: object) -> None | Unset | UUID:
256
+ if data is None:
257
+ return data
258
+ if isinstance(data, Unset):
259
+ return data
260
+ try:
261
+ if not isinstance(data, str):
262
+ raise TypeError()
263
+ twin_artifact_id_type_0 = UUID(data)
264
+
265
+ return twin_artifact_id_type_0
266
+ except (TypeError, ValueError, AttributeError, KeyError):
267
+ pass
268
+ return cast(None | Unset | UUID, data)
269
+
270
+ twin_artifact_id = _parse_twin_artifact_id(d.pop("twin_artifact_id", UNSET))
271
+
272
+ task_type = cast(Literal["deep_rank"] | Unset, d.pop("task_type", UNSET))
273
+ if task_type != "deep_rank" and not isinstance(task_type, Unset):
274
+ raise ValueError(f"task_type must match const 'deep_rank', got '{task_type}'")
275
+
276
+ processing_mode = cast(Literal["map"] | Unset, d.pop("processing_mode", UNSET))
277
+ if processing_mode != "map" and not isinstance(processing_mode, Unset):
278
+ raise ValueError(f"processing_mode must match const 'map', got '{processing_mode}'")
279
+
280
+ join_with_input = d.pop("join_with_input", UNSET)
281
+
282
+ deep_rank_request = cls(
283
+ query=query,
284
+ input_artifacts=input_artifacts,
285
+ context_artifacts=context_artifacts,
286
+ label=label,
287
+ description=description,
288
+ task_id=task_id,
289
+ replaces_task_id=replaces_task_id,
290
+ twin_artifact_id=twin_artifact_id,
291
+ task_type=task_type,
292
+ processing_mode=processing_mode,
293
+ join_with_input=join_with_input,
294
+ )
295
+
296
+ deep_rank_request.additional_properties = d
297
+ return deep_rank_request
298
+
299
+ @property
300
+ def additional_keys(self) -> list[str]:
301
+ return list(self.additional_properties.keys())
302
+
303
+ def __getitem__(self, key: str) -> Any:
304
+ return self.additional_properties[key]
305
+
306
+ def __setitem__(self, key: str, value: Any) -> None:
307
+ self.additional_properties[key] = value
308
+
309
+ def __delitem__(self, key: str) -> None:
310
+ del self.additional_properties[key]
311
+
312
+ def __contains__(self, key: str) -> bool:
313
+ return key in self.additional_properties
@@ -0,0 +1,122 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..models.response_schema_type import ResponseSchemaType
10
+ from ..types import UNSET, Unset
11
+
12
+ T = TypeVar("T", bound="DeepScreenPublicParams")
13
+
14
+
15
+ @_attrs_define
16
+ class DeepScreenPublicParams:
17
+ """
18
+ Attributes:
19
+ task (str): The task instructions for each agent to perform.
20
+ batch_size (int | None | Unset): Default: 10.
21
+ response_schema (Any | Unset): Default: {'_model_name': 'Root', 'answer': {'description': 'The response
22
+ answer', 'optional': False, 'type': 'str'}}.
23
+ response_schema_type (ResponseSchemaType | Unset): Type of response schema format.
24
+ preview (bool | Unset): When true, process only the first few inputs Default: False.
25
+ """
26
+
27
+ task: str
28
+ batch_size: int | None | Unset = 10
29
+ response_schema: Any | Unset = {
30
+ "_model_name": "Root",
31
+ "answer": {"description": "The response answer", "optional": False, "type": "str"},
32
+ }
33
+ response_schema_type: ResponseSchemaType | Unset = UNSET
34
+ preview: bool | Unset = False
35
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
+
37
+ def to_dict(self) -> dict[str, Any]:
38
+ task = self.task
39
+
40
+ batch_size: int | None | Unset
41
+ if isinstance(self.batch_size, Unset):
42
+ batch_size = UNSET
43
+ else:
44
+ batch_size = self.batch_size
45
+
46
+ response_schema = self.response_schema
47
+
48
+ response_schema_type: str | Unset = UNSET
49
+ if not isinstance(self.response_schema_type, Unset):
50
+ response_schema_type = self.response_schema_type.value
51
+
52
+ preview = self.preview
53
+
54
+ field_dict: dict[str, Any] = {}
55
+ field_dict.update(self.additional_properties)
56
+ field_dict.update(
57
+ {
58
+ "task": task,
59
+ }
60
+ )
61
+ if batch_size is not UNSET:
62
+ field_dict["batch_size"] = batch_size
63
+ if response_schema is not UNSET:
64
+ field_dict["response_schema"] = response_schema
65
+ if response_schema_type is not UNSET:
66
+ field_dict["response_schema_type"] = response_schema_type
67
+ if preview is not UNSET:
68
+ field_dict["preview"] = preview
69
+
70
+ return field_dict
71
+
72
+ @classmethod
73
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
74
+ d = dict(src_dict)
75
+ task = d.pop("task")
76
+
77
+ def _parse_batch_size(data: object) -> int | None | Unset:
78
+ if data is None:
79
+ return data
80
+ if isinstance(data, Unset):
81
+ return data
82
+ return cast(int | None | Unset, data)
83
+
84
+ batch_size = _parse_batch_size(d.pop("batch_size", UNSET))
85
+
86
+ response_schema = d.pop("response_schema", UNSET)
87
+
88
+ _response_schema_type = d.pop("response_schema_type", UNSET)
89
+ response_schema_type: ResponseSchemaType | Unset
90
+ if isinstance(_response_schema_type, Unset):
91
+ response_schema_type = UNSET
92
+ else:
93
+ response_schema_type = ResponseSchemaType(_response_schema_type)
94
+
95
+ preview = d.pop("preview", UNSET)
96
+
97
+ deep_screen_public_params = cls(
98
+ task=task,
99
+ batch_size=batch_size,
100
+ response_schema=response_schema,
101
+ response_schema_type=response_schema_type,
102
+ preview=preview,
103
+ )
104
+
105
+ deep_screen_public_params.additional_properties = d
106
+ return deep_screen_public_params
107
+
108
+ @property
109
+ def additional_keys(self) -> list[str]:
110
+ return list(self.additional_properties.keys())
111
+
112
+ def __getitem__(self, key: str) -> Any:
113
+ return self.additional_properties[key]
114
+
115
+ def __setitem__(self, key: str, value: Any) -> None:
116
+ self.additional_properties[key] = value
117
+
118
+ def __delitem__(self, key: str) -> None:
119
+ del self.additional_properties[key]
120
+
121
+ def __contains__(self, key: str) -> bool:
122
+ return key in self.additional_properties