everyrow 0.1.10__py3-none-any.whl → 0.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.
Files changed (207) hide show
  1. everyrow/__init__.py +8 -1
  2. everyrow/api_utils.py +5 -1
  3. everyrow/billing.py +29 -0
  4. everyrow/constants.py +1 -1
  5. everyrow/generated/__init__.py +1 -1
  6. everyrow/generated/api/{default/interrupt_chat_task_tasks_chat_interrupt_post.py → artifacts/create_artifact_artifacts_post.py} +38 -32
  7. everyrow/generated/api/billing/__init__.py +1 -0
  8. everyrow/generated/api/{default/get_queues_stats_jobs_queues_get.py → billing/get_billing_balance_billing_get.py} +25 -17
  9. everyrow/generated/api/operations/__init__.py +1 -0
  10. everyrow/generated/api/{default/re_execute_task_endpoint_tasks_re_execute_post.py → operations/agent_map_operations_agent_map_post.py} +53 -41
  11. everyrow/generated/api/{default/create_workflow_from_artifact_workflows_from_artifact_post.py → operations/dedupe_operations_dedupe_post.py} +39 -33
  12. everyrow/generated/api/{default/submit_task_tasks_post.py → operations/merge_operations_merge_post.py} +37 -29
  13. everyrow/generated/api/{default/copy_workflow_endpoint_workflows_copy_post.py → operations/rank_operations_rank_post.py} +43 -29
  14. everyrow/generated/api/{default/export_to_google_sheets_export_post.py → operations/screen_operations_screen_post.py} +43 -31
  15. everyrow/generated/api/operations/single_agent_operations_single_agent_post.py +236 -0
  16. everyrow/generated/api/sessions/__init__.py +1 -0
  17. everyrow/generated/api/{default/copy_artifacts_artifacts_copy_post.py → sessions/create_session_endpoint_sessions_post.py} +35 -27
  18. everyrow/generated/api/tasks/__init__.py +1 -0
  19. everyrow/generated/api/{default/get_job_progress_for_task_jobs_progress_get.py → tasks/get_task_result_tasks_task_id_result_get.py} +45 -33
  20. everyrow/generated/api/{default/get_task_status_endpoint_tasks_task_id_status_get.py → tasks/get_task_status_tasks_task_id_status_get.py} +24 -42
  21. everyrow/generated/models/__init__.py +82 -266
  22. everyrow/generated/models/agent_map_operation.py +315 -0
  23. everyrow/generated/models/{artifact_group_record_metadata_type_0.py → agent_map_operation_input_type_1_item.py} +5 -5
  24. everyrow/generated/models/agent_map_operation_input_type_2.py +46 -0
  25. everyrow/generated/models/{standalone_artifact_record_analysis_type_0.py → agent_map_operation_response_schema_type_0.py} +5 -5
  26. everyrow/generated/models/{create_query_params.py → billing_response.py} +13 -12
  27. everyrow/generated/models/{continue_task_request.py → create_artifact_request.py} +43 -43
  28. everyrow/generated/models/create_artifact_request_data_type_0_item.py +46 -0
  29. everyrow/generated/models/{task_metadata_cols_to_rename_type_0.py → create_artifact_request_data_type_1.py} +5 -5
  30. everyrow/generated/models/{copy_artifacts_response.py → create_artifact_response.py} +12 -12
  31. everyrow/generated/models/{create_session_request.py → create_session.py} +6 -7
  32. everyrow/generated/models/dedupe_operation.py +151 -0
  33. everyrow/generated/models/dedupe_operation_input_type_1_item.py +46 -0
  34. everyrow/generated/models/{import_request_token_data.py → dedupe_operation_input_type_2.py} +5 -5
  35. everyrow/generated/models/error_response.py +109 -0
  36. everyrow/generated/models/{task_insert_query_params.py → error_response_details_type_0.py} +5 -5
  37. everyrow/generated/models/insufficient_balance_error.py +8 -0
  38. everyrow/generated/models/{llm_enum.py → llm_enum_public.py} +1 -20
  39. everyrow/generated/models/merge_operation.py +278 -0
  40. everyrow/generated/models/merge_operation_left_input_type_1_item.py +46 -0
  41. everyrow/generated/models/{chat_completion_message_tool_call.py → merge_operation_left_input_type_2.py} +5 -5
  42. everyrow/generated/models/merge_operation_right_input_type_1_item.py +46 -0
  43. everyrow/generated/models/merge_operation_right_input_type_2.py +46 -0
  44. everyrow/generated/models/merge_operation_use_web_search_type_0.py +10 -0
  45. everyrow/generated/models/operation_response.py +131 -0
  46. everyrow/generated/models/{multi_agent_effort_level.py → public_effort_level.py} +1 -1
  47. everyrow/generated/models/public_task_type.py +12 -0
  48. everyrow/generated/models/rank_operation.py +203 -0
  49. everyrow/generated/models/rank_operation_input_type_1_item.py +46 -0
  50. everyrow/generated/models/{export_request_token_data.py → rank_operation_input_type_2.py} +5 -5
  51. everyrow/generated/models/{artifact_group_record_analysis_type_0.py → rank_operation_response_schema_type_0.py} +5 -5
  52. everyrow/generated/models/screen_operation.py +186 -0
  53. everyrow/generated/models/screen_operation_input_type_1_item.py +46 -0
  54. everyrow/generated/models/screen_operation_input_type_2.py +46 -0
  55. everyrow/generated/models/screen_operation_response_schema_type_0.py +46 -0
  56. everyrow/generated/models/{create_session_response.py → session_response.py} +7 -8
  57. everyrow/generated/models/single_agent_operation.py +304 -0
  58. everyrow/generated/models/single_agent_operation_input_type_1_item.py +46 -0
  59. everyrow/generated/models/single_agent_operation_input_type_2.py +46 -0
  60. everyrow/generated/models/single_agent_operation_response_schema_type_0.py +46 -0
  61. everyrow/generated/models/task_result_response.py +185 -0
  62. everyrow/generated/models/task_result_response_data_type_0_item.py +46 -0
  63. everyrow/generated/models/task_result_response_data_type_1.py +46 -0
  64. everyrow/generated/models/task_status_response.py +99 -19
  65. everyrow/ops.py +360 -434
  66. everyrow/session.py +5 -7
  67. everyrow/task.py +68 -115
  68. {everyrow-0.1.10.dist-info → everyrow-0.2.0.dist-info}/METADATA +22 -8
  69. everyrow-0.2.0.dist-info/RECORD +81 -0
  70. everyrow/citations.py +0 -50
  71. everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py +0 -208
  72. everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py +0 -186
  73. everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py +0 -198
  74. everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py +0 -186
  75. everyrow/generated/api/default/get_artifacts_artifacts_get.py +0 -260
  76. everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py +0 -165
  77. everyrow/generated/api/default/get_metrics_metrics_get.py +0 -80
  78. everyrow/generated/api/default/get_user_usage_usage_get.py +0 -123
  79. everyrow/generated/api/default/healthz_healthz_get.py +0 -127
  80. everyrow/generated/api/default/import_from_google_sheets_import_post.py +0 -170
  81. everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py +0 -186
  82. everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py +0 -181
  83. everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py +0 -164
  84. everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py +0 -186
  85. everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py +0 -164
  86. everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py +0 -319
  87. everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py +0 -166
  88. everyrow/generated/api/default/whoami_whoami_get.py +0 -127
  89. everyrow/generated/models/agent_improvement_instruction.py +0 -69
  90. everyrow/generated/models/agent_query_params.py +0 -383
  91. everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py +0 -10
  92. everyrow/generated/models/agent_task_args.py +0 -163
  93. everyrow/generated/models/agent_task_args_processing_mode.py +0 -9
  94. everyrow/generated/models/allowed_suggestions.py +0 -9
  95. everyrow/generated/models/api_key_info.py +0 -163
  96. everyrow/generated/models/artifact_changed_payload.py +0 -89
  97. everyrow/generated/models/artifact_group_record.py +0 -363
  98. everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py +0 -46
  99. everyrow/generated/models/artifact_status.py +0 -14
  100. everyrow/generated/models/auto_cohort_conversation_message.py +0 -533
  101. everyrow/generated/models/aux_data.py +0 -128
  102. everyrow/generated/models/aux_data_source_bank.py +0 -59
  103. everyrow/generated/models/chat_message_metadata.py +0 -193
  104. everyrow/generated/models/concatenate_query_params.py +0 -46
  105. everyrow/generated/models/concatenate_request.py +0 -306
  106. everyrow/generated/models/continue_reason.py +0 -9
  107. everyrow/generated/models/controller_improvement_round.py +0 -79
  108. everyrow/generated/models/conversation_changed_payload.py +0 -89
  109. everyrow/generated/models/copy_artifacts_request.py +0 -70
  110. everyrow/generated/models/copy_workflow_request.py +0 -62
  111. everyrow/generated/models/copy_workflow_response.py +0 -70
  112. everyrow/generated/models/create_api_key_request.py +0 -95
  113. everyrow/generated/models/create_api_key_response.py +0 -96
  114. everyrow/generated/models/create_group_query_params.py +0 -61
  115. everyrow/generated/models/create_group_request.py +0 -305
  116. everyrow/generated/models/create_request.py +0 -305
  117. everyrow/generated/models/create_workflow_from_artifact_request.py +0 -92
  118. everyrow/generated/models/create_workflow_from_artifact_response.py +0 -70
  119. everyrow/generated/models/data_frame_method.py +0 -18
  120. everyrow/generated/models/date_cutoffs.py +0 -145
  121. everyrow/generated/models/dedupe_public_params.py +0 -64
  122. everyrow/generated/models/dedupe_request_params.py +0 -311
  123. everyrow/generated/models/deep_merge_public_params.py +0 -143
  124. everyrow/generated/models/deep_merge_request.py +0 -313
  125. everyrow/generated/models/deep_rank_public_params.py +0 -109
  126. everyrow/generated/models/deep_rank_request.py +0 -313
  127. everyrow/generated/models/deep_screen_public_params.py +0 -132
  128. everyrow/generated/models/deep_screen_request.py +0 -313
  129. everyrow/generated/models/derive_expression.py +0 -69
  130. everyrow/generated/models/derive_query_params.py +0 -75
  131. everyrow/generated/models/derive_request.py +0 -307
  132. everyrow/generated/models/document_query_tool.py +0 -12
  133. everyrow/generated/models/drop_columns_query_params.py +0 -61
  134. everyrow/generated/models/drop_columns_request.py +0 -305
  135. everyrow/generated/models/event_type.py +0 -14
  136. everyrow/generated/models/execution_metadata.py +0 -146
  137. everyrow/generated/models/export_request.py +0 -75
  138. everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py +0 -46
  139. everyrow/generated/models/filter_query_params.py +0 -91
  140. everyrow/generated/models/filter_request.py +0 -305
  141. everyrow/generated/models/flatten_query_params.py +0 -46
  142. everyrow/generated/models/flatten_request.py +0 -305
  143. everyrow/generated/models/generate_feedback_request.py +0 -62
  144. everyrow/generated/models/group_by_query_params.py +0 -62
  145. everyrow/generated/models/group_by_request.py +0 -305
  146. everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py +0 -46
  147. everyrow/generated/models/image_chat_content_part.py +0 -80
  148. everyrow/generated/models/image_chat_content_part_image_url.py +0 -46
  149. everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py +0 -46
  150. everyrow/generated/models/import_request.py +0 -83
  151. everyrow/generated/models/join_query_params.py +0 -73
  152. everyrow/generated/models/join_request.py +0 -305
  153. everyrow/generated/models/map_agent_request_params.py +0 -313
  154. everyrow/generated/models/map_multi_agent_request_params.py +0 -313
  155. everyrow/generated/models/message_created_payload.py +0 -98
  156. everyrow/generated/models/multi_agent_query_params.py +0 -264
  157. everyrow/generated/models/multi_modal_chat_message.py +0 -160
  158. everyrow/generated/models/multi_modal_chat_message_role.py +0 -10
  159. everyrow/generated/models/preview_metadata.py +0 -144
  160. everyrow/generated/models/processing_mode.py +0 -10
  161. everyrow/generated/models/progress_status.py +0 -83
  162. everyrow/generated/models/queue_stats.py +0 -77
  163. everyrow/generated/models/reduce_agent_request_params.py +0 -305
  164. everyrow/generated/models/reduce_multi_agent_request_params.py +0 -305
  165. everyrow/generated/models/resource_estimation_response.py +0 -85
  166. everyrow/generated/models/response_schema_type.py +0 -9
  167. everyrow/generated/models/revoke_api_key_response.py +0 -61
  168. everyrow/generated/models/rollback_to_message_request.py +0 -62
  169. everyrow/generated/models/rollback_to_message_response.py +0 -77
  170. everyrow/generated/models/session_changed_payload.py +0 -69
  171. everyrow/generated/models/simple_chat_message.py +0 -121
  172. everyrow/generated/models/simple_chat_message_role.py +0 -10
  173. everyrow/generated/models/simple_chat_message_with_tool_calls.py +0 -156
  174. everyrow/generated/models/source_database_entry.py +0 -92
  175. everyrow/generated/models/standalone_artifact_record.py +0 -311
  176. everyrow/generated/models/standalone_artifact_record_metadata_type_0.py +0 -46
  177. everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py +0 -46
  178. everyrow/generated/models/status_count.py +0 -71
  179. everyrow/generated/models/status_count_status.py +0 -13
  180. everyrow/generated/models/submit_chat_task_body.py +0 -497
  181. everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py +0 -11
  182. everyrow/generated/models/submit_task_body.py +0 -745
  183. everyrow/generated/models/task_changed_payload.py +0 -105
  184. everyrow/generated/models/task_effort.py +0 -10
  185. everyrow/generated/models/task_id_request.py +0 -62
  186. everyrow/generated/models/task_insert.py +0 -725
  187. everyrow/generated/models/task_metadata.py +0 -323
  188. everyrow/generated/models/task_response.py +0 -62
  189. everyrow/generated/models/task_type.py +0 -31
  190. everyrow/generated/models/text_chat_content_part.py +0 -74
  191. everyrow/generated/models/tool_response_message.py +0 -127
  192. everyrow/generated/models/toolkit_constants.py +0 -80
  193. everyrow/generated/models/trace_changed_payload.py +0 -94
  194. everyrow/generated/models/trace_info.py +0 -78
  195. everyrow/generated/models/trigger_workflow_execution_request.py +0 -112
  196. everyrow/generated/models/trigger_workflow_execution_request_task_params.py +0 -65
  197. everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py +0 -46
  198. everyrow/generated/models/trigger_workflow_execution_response.py +0 -69
  199. everyrow/generated/models/upload_csv_payload.py +0 -310
  200. everyrow/generated/models/upload_csv_query_params.py +0 -114
  201. everyrow/generated/models/usage_response.py +0 -77
  202. everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py +0 -46
  203. everyrow/generated/models/workflow_leaf_node_input.py +0 -70
  204. everyrow-0.1.10.dist-info/RECORD +0 -183
  205. /everyrow/generated/api/{default → artifacts}/__init__.py +0 -0
  206. {everyrow-0.1.10.dist-info → everyrow-0.2.0.dist-info}/WHEEL +0 -0
  207. {everyrow-0.1.10.dist-info → everyrow-0.2.0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -5,21 +5,22 @@ import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import AuthenticatedClient, Client
8
- from ...models.create_workflow_from_artifact_request import CreateWorkflowFromArtifactRequest
9
- from ...models.create_workflow_from_artifact_response import CreateWorkflowFromArtifactResponse
10
- from ...models.http_validation_error import HTTPValidationError
8
+ from ...models.dedupe_operation import DedupeOperation
9
+ from ...models.error_response import ErrorResponse
10
+ from ...models.insufficient_balance_error import InsufficientBalanceError
11
+ from ...models.operation_response import OperationResponse
11
12
  from ...types import Response
12
13
 
13
14
 
14
15
  def _get_kwargs(
15
16
  *,
16
- body: CreateWorkflowFromArtifactRequest,
17
+ body: DedupeOperation,
17
18
  ) -> dict[str, Any]:
18
19
  headers: dict[str, Any] = {}
19
20
 
20
21
  _kwargs: dict[str, Any] = {
21
22
  "method": "post",
22
- "url": "/workflows/from-artifact",
23
+ "url": "/operations/dedupe",
23
24
  }
24
25
 
25
26
  _kwargs["json"] = body.to_dict()
@@ -32,14 +33,19 @@ def _get_kwargs(
32
33
 
33
34
  def _parse_response(
34
35
  *, client: AuthenticatedClient | Client, response: httpx.Response
35
- ) -> CreateWorkflowFromArtifactResponse | HTTPValidationError | None:
36
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
36
37
  if response.status_code == 200:
37
- response_200 = CreateWorkflowFromArtifactResponse.from_dict(response.json())
38
+ response_200 = OperationResponse.from_dict(response.json())
38
39
 
39
40
  return response_200
40
41
 
42
+ if response.status_code == 402:
43
+ response_402 = InsufficientBalanceError.from_dict(response.json())
44
+
45
+ return response_402
46
+
41
47
  if response.status_code == 422:
42
- response_422 = HTTPValidationError.from_dict(response.json())
48
+ response_422 = ErrorResponse.from_dict(response.json())
43
49
 
44
50
  return response_422
45
51
 
@@ -51,7 +57,7 @@ def _parse_response(
51
57
 
52
58
  def _build_response(
53
59
  *, client: AuthenticatedClient | Client, response: httpx.Response
54
- ) -> Response[CreateWorkflowFromArtifactResponse | HTTPValidationError]:
60
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
55
61
  return Response(
56
62
  status_code=HTTPStatus(response.status_code),
57
63
  content=response.content,
@@ -63,21 +69,21 @@ def _build_response(
63
69
  def sync_detailed(
64
70
  *,
65
71
  client: AuthenticatedClient,
66
- body: CreateWorkflowFromArtifactRequest,
67
- ) -> Response[CreateWorkflowFromArtifactResponse | HTTPValidationError]:
68
- """Create Workflow From Artifact
72
+ body: DedupeOperation,
73
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
74
+ """AI-powered deduplication
69
75
 
70
- Create a workflow from an artifact by traversing its dependency graph.
76
+ Use AI to identify and remove duplicate rows based on the equivalence relation.
71
77
 
72
78
  Args:
73
- body (CreateWorkflowFromArtifactRequest):
79
+ body (DedupeOperation):
74
80
 
75
81
  Raises:
76
82
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
77
83
  httpx.TimeoutException: If the request takes longer than Client.timeout.
78
84
 
79
85
  Returns:
80
- Response[CreateWorkflowFromArtifactResponse | HTTPValidationError]
86
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
81
87
  """
82
88
 
83
89
  kwargs = _get_kwargs(
@@ -94,21 +100,21 @@ def sync_detailed(
94
100
  def sync(
95
101
  *,
96
102
  client: AuthenticatedClient,
97
- body: CreateWorkflowFromArtifactRequest,
98
- ) -> CreateWorkflowFromArtifactResponse | HTTPValidationError | None:
99
- """Create Workflow From Artifact
103
+ body: DedupeOperation,
104
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
105
+ """AI-powered deduplication
100
106
 
101
- Create a workflow from an artifact by traversing its dependency graph.
107
+ Use AI to identify and remove duplicate rows based on the equivalence relation.
102
108
 
103
109
  Args:
104
- body (CreateWorkflowFromArtifactRequest):
110
+ body (DedupeOperation):
105
111
 
106
112
  Raises:
107
113
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
108
114
  httpx.TimeoutException: If the request takes longer than Client.timeout.
109
115
 
110
116
  Returns:
111
- CreateWorkflowFromArtifactResponse | HTTPValidationError
117
+ ErrorResponse | InsufficientBalanceError | OperationResponse
112
118
  """
113
119
 
114
120
  return sync_detailed(
@@ -120,21 +126,21 @@ def sync(
120
126
  async def asyncio_detailed(
121
127
  *,
122
128
  client: AuthenticatedClient,
123
- body: CreateWorkflowFromArtifactRequest,
124
- ) -> Response[CreateWorkflowFromArtifactResponse | HTTPValidationError]:
125
- """Create Workflow From Artifact
129
+ body: DedupeOperation,
130
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
131
+ """AI-powered deduplication
126
132
 
127
- Create a workflow from an artifact by traversing its dependency graph.
133
+ Use AI to identify and remove duplicate rows based on the equivalence relation.
128
134
 
129
135
  Args:
130
- body (CreateWorkflowFromArtifactRequest):
136
+ body (DedupeOperation):
131
137
 
132
138
  Raises:
133
139
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
134
140
  httpx.TimeoutException: If the request takes longer than Client.timeout.
135
141
 
136
142
  Returns:
137
- Response[CreateWorkflowFromArtifactResponse | HTTPValidationError]
143
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
138
144
  """
139
145
 
140
146
  kwargs = _get_kwargs(
@@ -149,21 +155,21 @@ async def asyncio_detailed(
149
155
  async def asyncio(
150
156
  *,
151
157
  client: AuthenticatedClient,
152
- body: CreateWorkflowFromArtifactRequest,
153
- ) -> CreateWorkflowFromArtifactResponse | HTTPValidationError | None:
154
- """Create Workflow From Artifact
158
+ body: DedupeOperation,
159
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
160
+ """AI-powered deduplication
155
161
 
156
- Create a workflow from an artifact by traversing its dependency graph.
162
+ Use AI to identify and remove duplicate rows based on the equivalence relation.
157
163
 
158
164
  Args:
159
- body (CreateWorkflowFromArtifactRequest):
165
+ body (DedupeOperation):
160
166
 
161
167
  Raises:
162
168
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
163
169
  httpx.TimeoutException: If the request takes longer than Client.timeout.
164
170
 
165
171
  Returns:
166
- CreateWorkflowFromArtifactResponse | HTTPValidationError
172
+ ErrorResponse | InsufficientBalanceError | OperationResponse
167
173
  """
168
174
 
169
175
  return (
@@ -5,22 +5,22 @@ import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import AuthenticatedClient, Client
8
- from ...models.http_validation_error import HTTPValidationError
8
+ from ...models.error_response import ErrorResponse
9
9
  from ...models.insufficient_balance_error import InsufficientBalanceError
10
- from ...models.submit_task_body import SubmitTaskBody
11
- from ...models.task_response import TaskResponse
10
+ from ...models.merge_operation import MergeOperation
11
+ from ...models.operation_response import OperationResponse
12
12
  from ...types import Response
13
13
 
14
14
 
15
15
  def _get_kwargs(
16
16
  *,
17
- body: SubmitTaskBody,
17
+ body: MergeOperation,
18
18
  ) -> dict[str, Any]:
19
19
  headers: dict[str, Any] = {}
20
20
 
21
21
  _kwargs: dict[str, Any] = {
22
22
  "method": "post",
23
- "url": "/tasks",
23
+ "url": "/operations/merge",
24
24
  }
25
25
 
26
26
  _kwargs["json"] = body.to_dict()
@@ -33,9 +33,9 @@ def _get_kwargs(
33
33
 
34
34
  def _parse_response(
35
35
  *, client: AuthenticatedClient | Client, response: httpx.Response
36
- ) -> HTTPValidationError | InsufficientBalanceError | TaskResponse | None:
36
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
37
37
  if response.status_code == 200:
38
- response_200 = TaskResponse.from_dict(response.json())
38
+ response_200 = OperationResponse.from_dict(response.json())
39
39
 
40
40
  return response_200
41
41
 
@@ -45,7 +45,7 @@ def _parse_response(
45
45
  return response_402
46
46
 
47
47
  if response.status_code == 422:
48
- response_422 = HTTPValidationError.from_dict(response.json())
48
+ response_422 = ErrorResponse.from_dict(response.json())
49
49
 
50
50
  return response_422
51
51
 
@@ -57,7 +57,7 @@ def _parse_response(
57
57
 
58
58
  def _build_response(
59
59
  *, client: AuthenticatedClient | Client, response: httpx.Response
60
- ) -> Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]:
60
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
61
61
  return Response(
62
62
  status_code=HTTPStatus(response.status_code),
63
63
  content=response.content,
@@ -69,19 +69,21 @@ def _build_response(
69
69
  def sync_detailed(
70
70
  *,
71
71
  client: AuthenticatedClient,
72
- body: SubmitTaskBody,
73
- ) -> Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]:
74
- """Submit Task
72
+ body: MergeOperation,
73
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
74
+ """Semantic table join
75
+
76
+ Use AI to semantically merge two tables based on task instructions.
75
77
 
76
78
  Args:
77
- body (SubmitTaskBody):
79
+ body (MergeOperation):
78
80
 
79
81
  Raises:
80
82
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
81
83
  httpx.TimeoutException: If the request takes longer than Client.timeout.
82
84
 
83
85
  Returns:
84
- Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]
86
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
85
87
  """
86
88
 
87
89
  kwargs = _get_kwargs(
@@ -98,19 +100,21 @@ def sync_detailed(
98
100
  def sync(
99
101
  *,
100
102
  client: AuthenticatedClient,
101
- body: SubmitTaskBody,
102
- ) -> HTTPValidationError | InsufficientBalanceError | TaskResponse | None:
103
- """Submit Task
103
+ body: MergeOperation,
104
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
105
+ """Semantic table join
106
+
107
+ Use AI to semantically merge two tables based on task instructions.
104
108
 
105
109
  Args:
106
- body (SubmitTaskBody):
110
+ body (MergeOperation):
107
111
 
108
112
  Raises:
109
113
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
110
114
  httpx.TimeoutException: If the request takes longer than Client.timeout.
111
115
 
112
116
  Returns:
113
- HTTPValidationError | InsufficientBalanceError | TaskResponse
117
+ ErrorResponse | InsufficientBalanceError | OperationResponse
114
118
  """
115
119
 
116
120
  return sync_detailed(
@@ -122,19 +126,21 @@ def sync(
122
126
  async def asyncio_detailed(
123
127
  *,
124
128
  client: AuthenticatedClient,
125
- body: SubmitTaskBody,
126
- ) -> Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]:
127
- """Submit Task
129
+ body: MergeOperation,
130
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
131
+ """Semantic table join
132
+
133
+ Use AI to semantically merge two tables based on task instructions.
128
134
 
129
135
  Args:
130
- body (SubmitTaskBody):
136
+ body (MergeOperation):
131
137
 
132
138
  Raises:
133
139
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
134
140
  httpx.TimeoutException: If the request takes longer than Client.timeout.
135
141
 
136
142
  Returns:
137
- Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]
143
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
138
144
  """
139
145
 
140
146
  kwargs = _get_kwargs(
@@ -149,19 +155,21 @@ async def asyncio_detailed(
149
155
  async def asyncio(
150
156
  *,
151
157
  client: AuthenticatedClient,
152
- body: SubmitTaskBody,
153
- ) -> HTTPValidationError | InsufficientBalanceError | TaskResponse | None:
154
- """Submit Task
158
+ body: MergeOperation,
159
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
160
+ """Semantic table join
161
+
162
+ Use AI to semantically merge two tables based on task instructions.
155
163
 
156
164
  Args:
157
- body (SubmitTaskBody):
165
+ body (MergeOperation):
158
166
 
159
167
  Raises:
160
168
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
161
169
  httpx.TimeoutException: If the request takes longer than Client.timeout.
162
170
 
163
171
  Returns:
164
- HTTPValidationError | InsufficientBalanceError | TaskResponse
172
+ ErrorResponse | InsufficientBalanceError | OperationResponse
165
173
  """
166
174
 
167
175
  return (
@@ -5,21 +5,22 @@ import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import AuthenticatedClient, Client
8
- from ...models.copy_workflow_request import CopyWorkflowRequest
9
- from ...models.copy_workflow_response import CopyWorkflowResponse
10
- from ...models.http_validation_error import HTTPValidationError
8
+ from ...models.error_response import ErrorResponse
9
+ from ...models.insufficient_balance_error import InsufficientBalanceError
10
+ from ...models.operation_response import OperationResponse
11
+ from ...models.rank_operation import RankOperation
11
12
  from ...types import Response
12
13
 
13
14
 
14
15
  def _get_kwargs(
15
16
  *,
16
- body: CopyWorkflowRequest,
17
+ body: RankOperation,
17
18
  ) -> dict[str, Any]:
18
19
  headers: dict[str, Any] = {}
19
20
 
20
21
  _kwargs: dict[str, Any] = {
21
22
  "method": "post",
22
- "url": "/workflows/copy",
23
+ "url": "/operations/rank",
23
24
  }
24
25
 
25
26
  _kwargs["json"] = body.to_dict()
@@ -32,14 +33,19 @@ def _get_kwargs(
32
33
 
33
34
  def _parse_response(
34
35
  *, client: AuthenticatedClient | Client, response: httpx.Response
35
- ) -> CopyWorkflowResponse | HTTPValidationError | None:
36
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
36
37
  if response.status_code == 200:
37
- response_200 = CopyWorkflowResponse.from_dict(response.json())
38
+ response_200 = OperationResponse.from_dict(response.json())
38
39
 
39
40
  return response_200
40
41
 
42
+ if response.status_code == 402:
43
+ response_402 = InsufficientBalanceError.from_dict(response.json())
44
+
45
+ return response_402
46
+
41
47
  if response.status_code == 422:
42
- response_422 = HTTPValidationError.from_dict(response.json())
48
+ response_422 = ErrorResponse.from_dict(response.json())
43
49
 
44
50
  return response_422
45
51
 
@@ -51,7 +57,7 @@ def _parse_response(
51
57
 
52
58
  def _build_response(
53
59
  *, client: AuthenticatedClient | Client, response: httpx.Response
54
- ) -> Response[CopyWorkflowResponse | HTTPValidationError]:
60
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
55
61
  return Response(
56
62
  status_code=HTTPStatus(response.status_code),
57
63
  content=response.content,
@@ -63,19 +69,21 @@ def _build_response(
63
69
  def sync_detailed(
64
70
  *,
65
71
  client: AuthenticatedClient,
66
- body: CopyWorkflowRequest,
67
- ) -> Response[CopyWorkflowResponse | HTTPValidationError]:
68
- """Copy Workflow Endpoint
72
+ body: RankOperation,
73
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
74
+ """Score and sort rows with AI
75
+
76
+ Use AI to score each row and sort results by the specified field.
69
77
 
70
78
  Args:
71
- body (CopyWorkflowRequest):
79
+ body (RankOperation):
72
80
 
73
81
  Raises:
74
82
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
75
83
  httpx.TimeoutException: If the request takes longer than Client.timeout.
76
84
 
77
85
  Returns:
78
- Response[CopyWorkflowResponse | HTTPValidationError]
86
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
79
87
  """
80
88
 
81
89
  kwargs = _get_kwargs(
@@ -92,19 +100,21 @@ def sync_detailed(
92
100
  def sync(
93
101
  *,
94
102
  client: AuthenticatedClient,
95
- body: CopyWorkflowRequest,
96
- ) -> CopyWorkflowResponse | HTTPValidationError | None:
97
- """Copy Workflow Endpoint
103
+ body: RankOperation,
104
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
105
+ """Score and sort rows with AI
106
+
107
+ Use AI to score each row and sort results by the specified field.
98
108
 
99
109
  Args:
100
- body (CopyWorkflowRequest):
110
+ body (RankOperation):
101
111
 
102
112
  Raises:
103
113
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
104
114
  httpx.TimeoutException: If the request takes longer than Client.timeout.
105
115
 
106
116
  Returns:
107
- CopyWorkflowResponse | HTTPValidationError
117
+ ErrorResponse | InsufficientBalanceError | OperationResponse
108
118
  """
109
119
 
110
120
  return sync_detailed(
@@ -116,19 +126,21 @@ def sync(
116
126
  async def asyncio_detailed(
117
127
  *,
118
128
  client: AuthenticatedClient,
119
- body: CopyWorkflowRequest,
120
- ) -> Response[CopyWorkflowResponse | HTTPValidationError]:
121
- """Copy Workflow Endpoint
129
+ body: RankOperation,
130
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
131
+ """Score and sort rows with AI
132
+
133
+ Use AI to score each row and sort results by the specified field.
122
134
 
123
135
  Args:
124
- body (CopyWorkflowRequest):
136
+ body (RankOperation):
125
137
 
126
138
  Raises:
127
139
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
128
140
  httpx.TimeoutException: If the request takes longer than Client.timeout.
129
141
 
130
142
  Returns:
131
- Response[CopyWorkflowResponse | HTTPValidationError]
143
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
132
144
  """
133
145
 
134
146
  kwargs = _get_kwargs(
@@ -143,19 +155,21 @@ async def asyncio_detailed(
143
155
  async def asyncio(
144
156
  *,
145
157
  client: AuthenticatedClient,
146
- body: CopyWorkflowRequest,
147
- ) -> CopyWorkflowResponse | HTTPValidationError | None:
148
- """Copy Workflow Endpoint
158
+ body: RankOperation,
159
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
160
+ """Score and sort rows with AI
161
+
162
+ Use AI to score each row and sort results by the specified field.
149
163
 
150
164
  Args:
151
- body (CopyWorkflowRequest):
165
+ body (RankOperation):
152
166
 
153
167
  Raises:
154
168
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
155
169
  httpx.TimeoutException: If the request takes longer than Client.timeout.
156
170
 
157
171
  Returns:
158
- CopyWorkflowResponse | HTTPValidationError
172
+ ErrorResponse | InsufficientBalanceError | OperationResponse
159
173
  """
160
174
 
161
175
  return (
@@ -5,23 +5,22 @@ import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import AuthenticatedClient, Client
8
- from ...models.export_request import ExportRequest
9
- from ...models.export_to_google_sheets_export_post_response_export_to_google_sheets_export_post import (
10
- ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost,
11
- )
12
- from ...models.http_validation_error import HTTPValidationError
8
+ from ...models.error_response import ErrorResponse
9
+ from ...models.insufficient_balance_error import InsufficientBalanceError
10
+ from ...models.operation_response import OperationResponse
11
+ from ...models.screen_operation import ScreenOperation
13
12
  from ...types import Response
14
13
 
15
14
 
16
15
  def _get_kwargs(
17
16
  *,
18
- body: ExportRequest,
17
+ body: ScreenOperation,
19
18
  ) -> dict[str, Any]:
20
19
  headers: dict[str, Any] = {}
21
20
 
22
21
  _kwargs: dict[str, Any] = {
23
22
  "method": "post",
24
- "url": "/export",
23
+ "url": "/operations/screen",
25
24
  }
26
25
 
27
26
  _kwargs["json"] = body.to_dict()
@@ -34,14 +33,19 @@ def _get_kwargs(
34
33
 
35
34
  def _parse_response(
36
35
  *, client: AuthenticatedClient | Client, response: httpx.Response
37
- ) -> ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError | None:
36
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
38
37
  if response.status_code == 200:
39
- response_200 = ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost.from_dict(response.json())
38
+ response_200 = OperationResponse.from_dict(response.json())
40
39
 
41
40
  return response_200
42
41
 
42
+ if response.status_code == 402:
43
+ response_402 = InsufficientBalanceError.from_dict(response.json())
44
+
45
+ return response_402
46
+
43
47
  if response.status_code == 422:
44
- response_422 = HTTPValidationError.from_dict(response.json())
48
+ response_422 = ErrorResponse.from_dict(response.json())
45
49
 
46
50
  return response_422
47
51
 
@@ -53,7 +57,7 @@ def _parse_response(
53
57
 
54
58
  def _build_response(
55
59
  *, client: AuthenticatedClient | Client, response: httpx.Response
56
- ) -> Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]:
60
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
57
61
  return Response(
58
62
  status_code=HTTPStatus(response.status_code),
59
63
  content=response.content,
@@ -65,19 +69,21 @@ def _build_response(
65
69
  def sync_detailed(
66
70
  *,
67
71
  client: AuthenticatedClient,
68
- body: ExportRequest,
69
- ) -> Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]:
70
- """Export To Google Sheets
72
+ body: ScreenOperation,
73
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
74
+ """Filter rows with AI research
75
+
76
+ Use AI to screen/filter each row based on the provided task instructions.
71
77
 
72
78
  Args:
73
- body (ExportRequest):
79
+ body (ScreenOperation):
74
80
 
75
81
  Raises:
76
82
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
77
83
  httpx.TimeoutException: If the request takes longer than Client.timeout.
78
84
 
79
85
  Returns:
80
- Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]
86
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
81
87
  """
82
88
 
83
89
  kwargs = _get_kwargs(
@@ -94,19 +100,21 @@ def sync_detailed(
94
100
  def sync(
95
101
  *,
96
102
  client: AuthenticatedClient,
97
- body: ExportRequest,
98
- ) -> ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError | None:
99
- """Export To Google Sheets
103
+ body: ScreenOperation,
104
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
105
+ """Filter rows with AI research
106
+
107
+ Use AI to screen/filter each row based on the provided task instructions.
100
108
 
101
109
  Args:
102
- body (ExportRequest):
110
+ body (ScreenOperation):
103
111
 
104
112
  Raises:
105
113
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
106
114
  httpx.TimeoutException: If the request takes longer than Client.timeout.
107
115
 
108
116
  Returns:
109
- ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError
117
+ ErrorResponse | InsufficientBalanceError | OperationResponse
110
118
  """
111
119
 
112
120
  return sync_detailed(
@@ -118,19 +126,21 @@ def sync(
118
126
  async def asyncio_detailed(
119
127
  *,
120
128
  client: AuthenticatedClient,
121
- body: ExportRequest,
122
- ) -> Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]:
123
- """Export To Google Sheets
129
+ body: ScreenOperation,
130
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
131
+ """Filter rows with AI research
132
+
133
+ Use AI to screen/filter each row based on the provided task instructions.
124
134
 
125
135
  Args:
126
- body (ExportRequest):
136
+ body (ScreenOperation):
127
137
 
128
138
  Raises:
129
139
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
130
140
  httpx.TimeoutException: If the request takes longer than Client.timeout.
131
141
 
132
142
  Returns:
133
- Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]
143
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
134
144
  """
135
145
 
136
146
  kwargs = _get_kwargs(
@@ -145,19 +155,21 @@ async def asyncio_detailed(
145
155
  async def asyncio(
146
156
  *,
147
157
  client: AuthenticatedClient,
148
- body: ExportRequest,
149
- ) -> ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError | None:
150
- """Export To Google Sheets
158
+ body: ScreenOperation,
159
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
160
+ """Filter rows with AI research
161
+
162
+ Use AI to screen/filter each row based on the provided task instructions.
151
163
 
152
164
  Args:
153
- body (ExportRequest):
165
+ body (ScreenOperation):
154
166
 
155
167
  Raises:
156
168
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
157
169
  httpx.TimeoutException: If the request takes longer than Client.timeout.
158
170
 
159
171
  Returns:
160
- ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError
172
+ ErrorResponse | InsufficientBalanceError | OperationResponse
161
173
  """
162
174
 
163
175
  return (