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,46 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ T = TypeVar("T", bound="TaskInsertQueryParams")
10
+
11
+
12
+ @_attrs_define
13
+ class TaskInsertQueryParams:
14
+ """ """
15
+
16
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
17
+
18
+ def to_dict(self) -> dict[str, Any]:
19
+ field_dict: dict[str, Any] = {}
20
+ field_dict.update(self.additional_properties)
21
+
22
+ return field_dict
23
+
24
+ @classmethod
25
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
26
+ d = dict(src_dict)
27
+ task_insert_query_params = cls()
28
+
29
+ task_insert_query_params.additional_properties = d
30
+ return task_insert_query_params
31
+
32
+ @property
33
+ def additional_keys(self) -> list[str]:
34
+ return list(self.additional_properties.keys())
35
+
36
+ def __getitem__(self, key: str) -> Any:
37
+ return self.additional_properties[key]
38
+
39
+ def __setitem__(self, key: str, value: Any) -> None:
40
+ self.additional_properties[key] = value
41
+
42
+ def __delitem__(self, key: str) -> None:
43
+ del self.additional_properties[key]
44
+
45
+ def __contains__(self, key: str) -> bool:
46
+ return key in self.additional_properties
@@ -0,0 +1,323 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, 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.task_metadata_cols_to_rename_type_0 import TaskMetadataColsToRenameType0
14
+
15
+
16
+ T = TypeVar("T", bound="TaskMetadata")
17
+
18
+
19
+ @_attrs_define
20
+ class TaskMetadata:
21
+ """
22
+ Attributes:
23
+ llm (None | str | Unset):
24
+ n_subtask_total (int | None | Unset):
25
+ n_subtask_successes (int | None | Unset):
26
+ n_subtask_failures (int | None | Unset):
27
+ trace_url (None | str | Unset):
28
+ otel_trace_url (None | str | Unset):
29
+ langfuse_trace_url (None | str | Unset):
30
+ duplicate_from_artifact_id (None | Unset | UUID):
31
+ duplicate_from_task_id (None | Unset | UUID):
32
+ cols_to_rename (None | TaskMetadataColsToRenameType0 | Unset):
33
+ cols_to_drop (list[Any] | None | Unset):
34
+ """
35
+
36
+ llm: None | str | Unset = UNSET
37
+ n_subtask_total: int | None | Unset = UNSET
38
+ n_subtask_successes: int | None | Unset = UNSET
39
+ n_subtask_failures: int | None | Unset = UNSET
40
+ trace_url: None | str | Unset = UNSET
41
+ otel_trace_url: None | str | Unset = UNSET
42
+ langfuse_trace_url: None | str | Unset = UNSET
43
+ duplicate_from_artifact_id: None | Unset | UUID = UNSET
44
+ duplicate_from_task_id: None | Unset | UUID = UNSET
45
+ cols_to_rename: None | TaskMetadataColsToRenameType0 | Unset = UNSET
46
+ cols_to_drop: list[Any] | None | Unset = UNSET
47
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
48
+
49
+ def to_dict(self) -> dict[str, Any]:
50
+ from ..models.task_metadata_cols_to_rename_type_0 import TaskMetadataColsToRenameType0
51
+
52
+ llm: None | str | Unset
53
+ if isinstance(self.llm, Unset):
54
+ llm = UNSET
55
+ else:
56
+ llm = self.llm
57
+
58
+ n_subtask_total: int | None | Unset
59
+ if isinstance(self.n_subtask_total, Unset):
60
+ n_subtask_total = UNSET
61
+ else:
62
+ n_subtask_total = self.n_subtask_total
63
+
64
+ n_subtask_successes: int | None | Unset
65
+ if isinstance(self.n_subtask_successes, Unset):
66
+ n_subtask_successes = UNSET
67
+ else:
68
+ n_subtask_successes = self.n_subtask_successes
69
+
70
+ n_subtask_failures: int | None | Unset
71
+ if isinstance(self.n_subtask_failures, Unset):
72
+ n_subtask_failures = UNSET
73
+ else:
74
+ n_subtask_failures = self.n_subtask_failures
75
+
76
+ trace_url: None | str | Unset
77
+ if isinstance(self.trace_url, Unset):
78
+ trace_url = UNSET
79
+ else:
80
+ trace_url = self.trace_url
81
+
82
+ otel_trace_url: None | str | Unset
83
+ if isinstance(self.otel_trace_url, Unset):
84
+ otel_trace_url = UNSET
85
+ else:
86
+ otel_trace_url = self.otel_trace_url
87
+
88
+ langfuse_trace_url: None | str | Unset
89
+ if isinstance(self.langfuse_trace_url, Unset):
90
+ langfuse_trace_url = UNSET
91
+ else:
92
+ langfuse_trace_url = self.langfuse_trace_url
93
+
94
+ duplicate_from_artifact_id: None | str | Unset
95
+ if isinstance(self.duplicate_from_artifact_id, Unset):
96
+ duplicate_from_artifact_id = UNSET
97
+ elif isinstance(self.duplicate_from_artifact_id, UUID):
98
+ duplicate_from_artifact_id = str(self.duplicate_from_artifact_id)
99
+ else:
100
+ duplicate_from_artifact_id = self.duplicate_from_artifact_id
101
+
102
+ duplicate_from_task_id: None | str | Unset
103
+ if isinstance(self.duplicate_from_task_id, Unset):
104
+ duplicate_from_task_id = UNSET
105
+ elif isinstance(self.duplicate_from_task_id, UUID):
106
+ duplicate_from_task_id = str(self.duplicate_from_task_id)
107
+ else:
108
+ duplicate_from_task_id = self.duplicate_from_task_id
109
+
110
+ cols_to_rename: dict[str, Any] | None | Unset
111
+ if isinstance(self.cols_to_rename, Unset):
112
+ cols_to_rename = UNSET
113
+ elif isinstance(self.cols_to_rename, TaskMetadataColsToRenameType0):
114
+ cols_to_rename = self.cols_to_rename.to_dict()
115
+ else:
116
+ cols_to_rename = self.cols_to_rename
117
+
118
+ cols_to_drop: list[Any] | None | Unset
119
+ if isinstance(self.cols_to_drop, Unset):
120
+ cols_to_drop = UNSET
121
+ elif isinstance(self.cols_to_drop, list):
122
+ cols_to_drop = self.cols_to_drop
123
+
124
+ else:
125
+ cols_to_drop = self.cols_to_drop
126
+
127
+ field_dict: dict[str, Any] = {}
128
+ field_dict.update(self.additional_properties)
129
+ field_dict.update({})
130
+ if llm is not UNSET:
131
+ field_dict["llm"] = llm
132
+ if n_subtask_total is not UNSET:
133
+ field_dict["n_subtask_total"] = n_subtask_total
134
+ if n_subtask_successes is not UNSET:
135
+ field_dict["n_subtask_successes"] = n_subtask_successes
136
+ if n_subtask_failures is not UNSET:
137
+ field_dict["n_subtask_failures"] = n_subtask_failures
138
+ if trace_url is not UNSET:
139
+ field_dict["trace_url"] = trace_url
140
+ if otel_trace_url is not UNSET:
141
+ field_dict["otel_trace_url"] = otel_trace_url
142
+ if langfuse_trace_url is not UNSET:
143
+ field_dict["langfuse_trace_url"] = langfuse_trace_url
144
+ if duplicate_from_artifact_id is not UNSET:
145
+ field_dict["duplicate_from_artifact_id"] = duplicate_from_artifact_id
146
+ if duplicate_from_task_id is not UNSET:
147
+ field_dict["duplicate_from_task_id"] = duplicate_from_task_id
148
+ if cols_to_rename is not UNSET:
149
+ field_dict["cols_to_rename"] = cols_to_rename
150
+ if cols_to_drop is not UNSET:
151
+ field_dict["cols_to_drop"] = cols_to_drop
152
+
153
+ return field_dict
154
+
155
+ @classmethod
156
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
157
+ from ..models.task_metadata_cols_to_rename_type_0 import TaskMetadataColsToRenameType0
158
+
159
+ d = dict(src_dict)
160
+
161
+ def _parse_llm(data: object) -> None | str | Unset:
162
+ if data is None:
163
+ return data
164
+ if isinstance(data, Unset):
165
+ return data
166
+ return cast(None | str | Unset, data)
167
+
168
+ llm = _parse_llm(d.pop("llm", UNSET))
169
+
170
+ def _parse_n_subtask_total(data: object) -> int | None | Unset:
171
+ if data is None:
172
+ return data
173
+ if isinstance(data, Unset):
174
+ return data
175
+ return cast(int | None | Unset, data)
176
+
177
+ n_subtask_total = _parse_n_subtask_total(d.pop("n_subtask_total", UNSET))
178
+
179
+ def _parse_n_subtask_successes(data: object) -> int | None | Unset:
180
+ if data is None:
181
+ return data
182
+ if isinstance(data, Unset):
183
+ return data
184
+ return cast(int | None | Unset, data)
185
+
186
+ n_subtask_successes = _parse_n_subtask_successes(d.pop("n_subtask_successes", UNSET))
187
+
188
+ def _parse_n_subtask_failures(data: object) -> int | None | Unset:
189
+ if data is None:
190
+ return data
191
+ if isinstance(data, Unset):
192
+ return data
193
+ return cast(int | None | Unset, data)
194
+
195
+ n_subtask_failures = _parse_n_subtask_failures(d.pop("n_subtask_failures", UNSET))
196
+
197
+ def _parse_trace_url(data: object) -> None | str | Unset:
198
+ if data is None:
199
+ return data
200
+ if isinstance(data, Unset):
201
+ return data
202
+ return cast(None | str | Unset, data)
203
+
204
+ trace_url = _parse_trace_url(d.pop("trace_url", UNSET))
205
+
206
+ def _parse_otel_trace_url(data: object) -> None | str | Unset:
207
+ if data is None:
208
+ return data
209
+ if isinstance(data, Unset):
210
+ return data
211
+ return cast(None | str | Unset, data)
212
+
213
+ otel_trace_url = _parse_otel_trace_url(d.pop("otel_trace_url", UNSET))
214
+
215
+ def _parse_langfuse_trace_url(data: object) -> None | str | Unset:
216
+ if data is None:
217
+ return data
218
+ if isinstance(data, Unset):
219
+ return data
220
+ return cast(None | str | Unset, data)
221
+
222
+ langfuse_trace_url = _parse_langfuse_trace_url(d.pop("langfuse_trace_url", UNSET))
223
+
224
+ def _parse_duplicate_from_artifact_id(data: object) -> None | Unset | UUID:
225
+ if data is None:
226
+ return data
227
+ if isinstance(data, Unset):
228
+ return data
229
+ try:
230
+ if not isinstance(data, str):
231
+ raise TypeError()
232
+ duplicate_from_artifact_id_type_0 = UUID(data)
233
+
234
+ return duplicate_from_artifact_id_type_0
235
+ except (TypeError, ValueError, AttributeError, KeyError):
236
+ pass
237
+ return cast(None | Unset | UUID, data)
238
+
239
+ duplicate_from_artifact_id = _parse_duplicate_from_artifact_id(d.pop("duplicate_from_artifact_id", UNSET))
240
+
241
+ def _parse_duplicate_from_task_id(data: object) -> None | Unset | UUID:
242
+ if data is None:
243
+ return data
244
+ if isinstance(data, Unset):
245
+ return data
246
+ try:
247
+ if not isinstance(data, str):
248
+ raise TypeError()
249
+ duplicate_from_task_id_type_0 = UUID(data)
250
+
251
+ return duplicate_from_task_id_type_0
252
+ except (TypeError, ValueError, AttributeError, KeyError):
253
+ pass
254
+ return cast(None | Unset | UUID, data)
255
+
256
+ duplicate_from_task_id = _parse_duplicate_from_task_id(d.pop("duplicate_from_task_id", UNSET))
257
+
258
+ def _parse_cols_to_rename(data: object) -> None | TaskMetadataColsToRenameType0 | Unset:
259
+ if data is None:
260
+ return data
261
+ if isinstance(data, Unset):
262
+ return data
263
+ try:
264
+ if not isinstance(data, dict):
265
+ raise TypeError()
266
+ cols_to_rename_type_0 = TaskMetadataColsToRenameType0.from_dict(data)
267
+
268
+ return cols_to_rename_type_0
269
+ except (TypeError, ValueError, AttributeError, KeyError):
270
+ pass
271
+ return cast(None | TaskMetadataColsToRenameType0 | Unset, data)
272
+
273
+ cols_to_rename = _parse_cols_to_rename(d.pop("cols_to_rename", UNSET))
274
+
275
+ def _parse_cols_to_drop(data: object) -> list[Any] | None | Unset:
276
+ if data is None:
277
+ return data
278
+ if isinstance(data, Unset):
279
+ return data
280
+ try:
281
+ if not isinstance(data, list):
282
+ raise TypeError()
283
+ cols_to_drop_type_0 = cast(list[Any], data)
284
+
285
+ return cols_to_drop_type_0
286
+ except (TypeError, ValueError, AttributeError, KeyError):
287
+ pass
288
+ return cast(list[Any] | None | Unset, data)
289
+
290
+ cols_to_drop = _parse_cols_to_drop(d.pop("cols_to_drop", UNSET))
291
+
292
+ task_metadata = cls(
293
+ llm=llm,
294
+ n_subtask_total=n_subtask_total,
295
+ n_subtask_successes=n_subtask_successes,
296
+ n_subtask_failures=n_subtask_failures,
297
+ trace_url=trace_url,
298
+ otel_trace_url=otel_trace_url,
299
+ langfuse_trace_url=langfuse_trace_url,
300
+ duplicate_from_artifact_id=duplicate_from_artifact_id,
301
+ duplicate_from_task_id=duplicate_from_task_id,
302
+ cols_to_rename=cols_to_rename,
303
+ cols_to_drop=cols_to_drop,
304
+ )
305
+
306
+ task_metadata.additional_properties = d
307
+ return task_metadata
308
+
309
+ @property
310
+ def additional_keys(self) -> list[str]:
311
+ return list(self.additional_properties.keys())
312
+
313
+ def __getitem__(self, key: str) -> Any:
314
+ return self.additional_properties[key]
315
+
316
+ def __setitem__(self, key: str, value: Any) -> None:
317
+ self.additional_properties[key] = value
318
+
319
+ def __delitem__(self, key: str) -> None:
320
+ del self.additional_properties[key]
321
+
322
+ def __contains__(self, key: str) -> bool:
323
+ return key in self.additional_properties
@@ -0,0 +1,46 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ T = TypeVar("T", bound="TaskMetadataColsToRenameType0")
10
+
11
+
12
+ @_attrs_define
13
+ class TaskMetadataColsToRenameType0:
14
+ """ """
15
+
16
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
17
+
18
+ def to_dict(self) -> dict[str, Any]:
19
+ field_dict: dict[str, Any] = {}
20
+ field_dict.update(self.additional_properties)
21
+
22
+ return field_dict
23
+
24
+ @classmethod
25
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
26
+ d = dict(src_dict)
27
+ task_metadata_cols_to_rename_type_0 = cls()
28
+
29
+ task_metadata_cols_to_rename_type_0.additional_properties = d
30
+ return task_metadata_cols_to_rename_type_0
31
+
32
+ @property
33
+ def additional_keys(self) -> list[str]:
34
+ return list(self.additional_properties.keys())
35
+
36
+ def __getitem__(self, key: str) -> Any:
37
+ return self.additional_properties[key]
38
+
39
+ def __setitem__(self, key: str, value: Any) -> None:
40
+ self.additional_properties[key] = value
41
+
42
+ def __delitem__(self, key: str) -> None:
43
+ del self.additional_properties[key]
44
+
45
+ def __contains__(self, key: str) -> bool:
46
+ return key in self.additional_properties
@@ -0,0 +1,62 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+ from uuid import UUID
6
+
7
+ from attrs import define as _attrs_define
8
+ from attrs import field as _attrs_field
9
+
10
+ T = TypeVar("T", bound="TaskResponse")
11
+
12
+
13
+ @_attrs_define
14
+ class TaskResponse:
15
+ """
16
+ Attributes:
17
+ task_id (UUID):
18
+ """
19
+
20
+ task_id: UUID
21
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> dict[str, Any]:
24
+ task_id = str(self.task_id)
25
+
26
+ field_dict: dict[str, Any] = {}
27
+ field_dict.update(self.additional_properties)
28
+ field_dict.update(
29
+ {
30
+ "task_id": task_id,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
38
+ d = dict(src_dict)
39
+ task_id = UUID(d.pop("task_id"))
40
+
41
+ task_response = cls(
42
+ task_id=task_id,
43
+ )
44
+
45
+ task_response.additional_properties = d
46
+ return task_response
47
+
48
+ @property
49
+ def additional_keys(self) -> list[str]:
50
+ return list(self.additional_properties.keys())
51
+
52
+ def __getitem__(self, key: str) -> Any:
53
+ return self.additional_properties[key]
54
+
55
+ def __setitem__(self, key: str, value: Any) -> None:
56
+ self.additional_properties[key] = value
57
+
58
+ def __delitem__(self, key: str) -> None:
59
+ del self.additional_properties[key]
60
+
61
+ def __contains__(self, key: str) -> bool:
62
+ return key in self.additional_properties
@@ -0,0 +1,12 @@
1
+ from enum import Enum
2
+
3
+
4
+ class TaskStatus(str, Enum):
5
+ COMPLETED = "completed"
6
+ FAILED = "failed"
7
+ PENDING = "pending"
8
+ REVOKED = "revoked"
9
+ RUNNING = "running"
10
+
11
+ def __str__(self) -> str:
12
+ return str(self.value)
@@ -0,0 +1,112 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, 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 ..models.task_status import TaskStatus
11
+
12
+ T = TypeVar("T", bound="TaskStatusResponse")
13
+
14
+
15
+ @_attrs_define
16
+ class TaskStatusResponse:
17
+ """Response containing task status and artifact information.
18
+
19
+ Attributes:
20
+ task_id (UUID):
21
+ status (TaskStatus):
22
+ artifact_id (None | UUID):
23
+ error (None | str):
24
+ """
25
+
26
+ task_id: UUID
27
+ status: TaskStatus
28
+ artifact_id: None | UUID
29
+ error: None | str
30
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
31
+
32
+ def to_dict(self) -> dict[str, Any]:
33
+ task_id = str(self.task_id)
34
+
35
+ status = self.status.value
36
+
37
+ artifact_id: None | str
38
+ if isinstance(self.artifact_id, UUID):
39
+ artifact_id = str(self.artifact_id)
40
+ else:
41
+ artifact_id = self.artifact_id
42
+
43
+ error: None | str
44
+ error = self.error
45
+
46
+ field_dict: dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update(
49
+ {
50
+ "task_id": task_id,
51
+ "status": status,
52
+ "artifact_id": artifact_id,
53
+ "error": error,
54
+ }
55
+ )
56
+
57
+ return field_dict
58
+
59
+ @classmethod
60
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
61
+ d = dict(src_dict)
62
+ task_id = UUID(d.pop("task_id"))
63
+
64
+ status = TaskStatus(d.pop("status"))
65
+
66
+ def _parse_artifact_id(data: object) -> None | UUID:
67
+ if data is None:
68
+ return data
69
+ try:
70
+ if not isinstance(data, str):
71
+ raise TypeError()
72
+ artifact_id_type_0 = UUID(data)
73
+
74
+ return artifact_id_type_0
75
+ except (TypeError, ValueError, AttributeError, KeyError):
76
+ pass
77
+ return cast(None | UUID, data)
78
+
79
+ artifact_id = _parse_artifact_id(d.pop("artifact_id"))
80
+
81
+ def _parse_error(data: object) -> None | str:
82
+ if data is None:
83
+ return data
84
+ return cast(None | str, data)
85
+
86
+ error = _parse_error(d.pop("error"))
87
+
88
+ task_status_response = cls(
89
+ task_id=task_id,
90
+ status=status,
91
+ artifact_id=artifact_id,
92
+ error=error,
93
+ )
94
+
95
+ task_status_response.additional_properties = d
96
+ return task_status_response
97
+
98
+ @property
99
+ def additional_keys(self) -> list[str]:
100
+ return list(self.additional_properties.keys())
101
+
102
+ def __getitem__(self, key: str) -> Any:
103
+ return self.additional_properties[key]
104
+
105
+ def __setitem__(self, key: str, value: Any) -> None:
106
+ self.additional_properties[key] = value
107
+
108
+ def __delitem__(self, key: str) -> None:
109
+ del self.additional_properties[key]
110
+
111
+ def __contains__(self, key: str) -> bool:
112
+ return key in self.additional_properties
@@ -0,0 +1,31 @@
1
+ from enum import Enum
2
+
3
+
4
+ class TaskType(str, Enum):
5
+ AGENT = "agent"
6
+ CONCATENATE = "concatenate"
7
+ CREATE = "create"
8
+ CREATE_GROUP = "create_group"
9
+ DEDUPE = "dedupe"
10
+ DEEP_MERGE = "deep_merge"
11
+ DEEP_RANK = "deep_rank"
12
+ DEEP_SCREEN = "deep_screen"
13
+ DERIVE = "derive"
14
+ DROP_COLUMNS = "drop_columns"
15
+ FILTER = "filter"
16
+ FIND_NUMBER = "find_number"
17
+ FIND_SOURCES = "find_sources"
18
+ FLATTEN = "flatten"
19
+ GET_NUMBER = "get_number"
20
+ GROUP_BY = "group_by"
21
+ IMPORT_SHEET = "import_sheet"
22
+ JOIN = "join"
23
+ MULTIAGENT = "multiagent"
24
+ POPULATE_REFERENCE_CLASS = "populate_reference_class"
25
+ REVISE = "revise"
26
+ UPLOAD_CSV = "upload_csv"
27
+ VALIDATE_CLAIM = "validate_claim"
28
+ VALUE_23 = "_provide_workflow_inputs"
29
+
30
+ def __str__(self) -> str:
31
+ return str(self.value)