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
@@ -0,0 +1,236 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
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.single_agent_operation import SingleAgentOperation
12
+ from ...types import Response
13
+
14
+
15
+ def _get_kwargs(
16
+ *,
17
+ body: SingleAgentOperation,
18
+ ) -> dict[str, Any]:
19
+ headers: dict[str, Any] = {}
20
+
21
+ _kwargs: dict[str, Any] = {
22
+ "method": "post",
23
+ "url": "/operations/single-agent",
24
+ }
25
+
26
+ _kwargs["json"] = body.to_dict()
27
+
28
+ headers["Content-Type"] = "application/json"
29
+
30
+ _kwargs["headers"] = headers
31
+ return _kwargs
32
+
33
+
34
+ def _parse_response(
35
+ *, client: AuthenticatedClient | Client, response: httpx.Response
36
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
37
+ if response.status_code == 200:
38
+ response_200 = OperationResponse.from_dict(response.json())
39
+
40
+ return response_200
41
+
42
+ if response.status_code == 402:
43
+ response_402 = InsufficientBalanceError.from_dict(response.json())
44
+
45
+ return response_402
46
+
47
+ if response.status_code == 422:
48
+ response_422 = ErrorResponse.from_dict(response.json())
49
+
50
+ return response_422
51
+
52
+ if client.raise_on_unexpected_status:
53
+ raise errors.UnexpectedStatus(response.status_code, response.content)
54
+ else:
55
+ return None
56
+
57
+
58
+ def _build_response(
59
+ *, client: AuthenticatedClient | Client, response: httpx.Response
60
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
61
+ return Response(
62
+ status_code=HTTPStatus(response.status_code),
63
+ content=response.content,
64
+ headers=response.headers,
65
+ parsed=_parse_response(client=client, response=response),
66
+ )
67
+
68
+
69
+ def sync_detailed(
70
+ *,
71
+ client: AuthenticatedClient,
72
+ body: SingleAgentOperation,
73
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
74
+ """Single AI research agent
75
+
76
+ Run a single AI agent to perform research and generate a response.
77
+
78
+ **Configuration options** (mutually exclusive):
79
+
80
+ 1. **Use a preset** - set `effort_level` to one of:
81
+ - `low`: Fast, minimal research (Gemini Flash, 0 iterations, no provenance)
82
+ - `medium`: Balanced (Gemini Flash High, 5 iterations, with provenance)
83
+ - `high`: Thorough research (Claude Opus, 10 iterations, with provenance)
84
+
85
+ 2. **Fully customize** - set `effort_level=null` and provide ALL of:
86
+ - `llm`: The LLM model to use
87
+ - `iteration_budget`: Number of agent iterations (0-20)
88
+ - `include_research`: Whether to include research notes
89
+
90
+ You cannot mix these approaches - either use a preset OR specify all custom parameters.
91
+
92
+ Args:
93
+ body (SingleAgentOperation):
94
+
95
+ Raises:
96
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
97
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
98
+
99
+ Returns:
100
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
101
+ """
102
+
103
+ kwargs = _get_kwargs(
104
+ body=body,
105
+ )
106
+
107
+ response = client.get_httpx_client().request(
108
+ **kwargs,
109
+ )
110
+
111
+ return _build_response(client=client, response=response)
112
+
113
+
114
+ def sync(
115
+ *,
116
+ client: AuthenticatedClient,
117
+ body: SingleAgentOperation,
118
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
119
+ """Single AI research agent
120
+
121
+ Run a single AI agent to perform research and generate a response.
122
+
123
+ **Configuration options** (mutually exclusive):
124
+
125
+ 1. **Use a preset** - set `effort_level` to one of:
126
+ - `low`: Fast, minimal research (Gemini Flash, 0 iterations, no provenance)
127
+ - `medium`: Balanced (Gemini Flash High, 5 iterations, with provenance)
128
+ - `high`: Thorough research (Claude Opus, 10 iterations, with provenance)
129
+
130
+ 2. **Fully customize** - set `effort_level=null` and provide ALL of:
131
+ - `llm`: The LLM model to use
132
+ - `iteration_budget`: Number of agent iterations (0-20)
133
+ - `include_research`: Whether to include research notes
134
+
135
+ You cannot mix these approaches - either use a preset OR specify all custom parameters.
136
+
137
+ Args:
138
+ body (SingleAgentOperation):
139
+
140
+ Raises:
141
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
142
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
143
+
144
+ Returns:
145
+ ErrorResponse | InsufficientBalanceError | OperationResponse
146
+ """
147
+
148
+ return sync_detailed(
149
+ client=client,
150
+ body=body,
151
+ ).parsed
152
+
153
+
154
+ async def asyncio_detailed(
155
+ *,
156
+ client: AuthenticatedClient,
157
+ body: SingleAgentOperation,
158
+ ) -> Response[ErrorResponse | InsufficientBalanceError | OperationResponse]:
159
+ """Single AI research agent
160
+
161
+ Run a single AI agent to perform research and generate a response.
162
+
163
+ **Configuration options** (mutually exclusive):
164
+
165
+ 1. **Use a preset** - set `effort_level` to one of:
166
+ - `low`: Fast, minimal research (Gemini Flash, 0 iterations, no provenance)
167
+ - `medium`: Balanced (Gemini Flash High, 5 iterations, with provenance)
168
+ - `high`: Thorough research (Claude Opus, 10 iterations, with provenance)
169
+
170
+ 2. **Fully customize** - set `effort_level=null` and provide ALL of:
171
+ - `llm`: The LLM model to use
172
+ - `iteration_budget`: Number of agent iterations (0-20)
173
+ - `include_research`: Whether to include research notes
174
+
175
+ You cannot mix these approaches - either use a preset OR specify all custom parameters.
176
+
177
+ Args:
178
+ body (SingleAgentOperation):
179
+
180
+ Raises:
181
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
182
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
183
+
184
+ Returns:
185
+ Response[ErrorResponse | InsufficientBalanceError | OperationResponse]
186
+ """
187
+
188
+ kwargs = _get_kwargs(
189
+ body=body,
190
+ )
191
+
192
+ response = await client.get_async_httpx_client().request(**kwargs)
193
+
194
+ return _build_response(client=client, response=response)
195
+
196
+
197
+ async def asyncio(
198
+ *,
199
+ client: AuthenticatedClient,
200
+ body: SingleAgentOperation,
201
+ ) -> ErrorResponse | InsufficientBalanceError | OperationResponse | None:
202
+ """Single AI research agent
203
+
204
+ Run a single AI agent to perform research and generate a response.
205
+
206
+ **Configuration options** (mutually exclusive):
207
+
208
+ 1. **Use a preset** - set `effort_level` to one of:
209
+ - `low`: Fast, minimal research (Gemini Flash, 0 iterations, no provenance)
210
+ - `medium`: Balanced (Gemini Flash High, 5 iterations, with provenance)
211
+ - `high`: Thorough research (Claude Opus, 10 iterations, with provenance)
212
+
213
+ 2. **Fully customize** - set `effort_level=null` and provide ALL of:
214
+ - `llm`: The LLM model to use
215
+ - `iteration_budget`: Number of agent iterations (0-20)
216
+ - `include_research`: Whether to include research notes
217
+
218
+ You cannot mix these approaches - either use a preset OR specify all custom parameters.
219
+
220
+ Args:
221
+ body (SingleAgentOperation):
222
+
223
+ Raises:
224
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
225
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
226
+
227
+ Returns:
228
+ ErrorResponse | InsufficientBalanceError | OperationResponse
229
+ """
230
+
231
+ return (
232
+ await asyncio_detailed(
233
+ client=client,
234
+ body=body,
235
+ )
236
+ ).parsed
@@ -0,0 +1 @@
1
+ """Contains endpoint functions for accessing the API"""
@@ -5,21 +5,21 @@ import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import AuthenticatedClient, Client
8
- from ...models.copy_artifacts_request import CopyArtifactsRequest
9
- from ...models.copy_artifacts_response import CopyArtifactsResponse
8
+ from ...models.create_session import CreateSession
10
9
  from ...models.http_validation_error import HTTPValidationError
10
+ from ...models.session_response import SessionResponse
11
11
  from ...types import Response
12
12
 
13
13
 
14
14
  def _get_kwargs(
15
15
  *,
16
- body: CopyArtifactsRequest,
16
+ body: CreateSession,
17
17
  ) -> dict[str, Any]:
18
18
  headers: dict[str, Any] = {}
19
19
 
20
20
  _kwargs: dict[str, Any] = {
21
21
  "method": "post",
22
- "url": "/artifacts/copy",
22
+ "url": "/sessions",
23
23
  }
24
24
 
25
25
  _kwargs["json"] = body.to_dict()
@@ -32,9 +32,9 @@ def _get_kwargs(
32
32
 
33
33
  def _parse_response(
34
34
  *, client: AuthenticatedClient | Client, response: httpx.Response
35
- ) -> CopyArtifactsResponse | HTTPValidationError | None:
35
+ ) -> HTTPValidationError | SessionResponse | None:
36
36
  if response.status_code == 200:
37
- response_200 = CopyArtifactsResponse.from_dict(response.json())
37
+ response_200 = SessionResponse.from_dict(response.json())
38
38
 
39
39
  return response_200
40
40
 
@@ -51,7 +51,7 @@ def _parse_response(
51
51
 
52
52
  def _build_response(
53
53
  *, client: AuthenticatedClient | Client, response: httpx.Response
54
- ) -> Response[CopyArtifactsResponse | HTTPValidationError]:
54
+ ) -> Response[HTTPValidationError | SessionResponse]:
55
55
  return Response(
56
56
  status_code=HTTPStatus(response.status_code),
57
57
  content=response.content,
@@ -63,19 +63,21 @@ def _build_response(
63
63
  def sync_detailed(
64
64
  *,
65
65
  client: AuthenticatedClient,
66
- body: CopyArtifactsRequest,
67
- ) -> Response[CopyArtifactsResponse | HTTPValidationError]:
68
- """Copy Artifacts
66
+ body: CreateSession,
67
+ ) -> Response[HTTPValidationError | SessionResponse]:
68
+ """Create a session
69
+
70
+ Create a new session for organizing tasks.
69
71
 
70
72
  Args:
71
- body (CopyArtifactsRequest):
73
+ body (CreateSession):
72
74
 
73
75
  Raises:
74
76
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
75
77
  httpx.TimeoutException: If the request takes longer than Client.timeout.
76
78
 
77
79
  Returns:
78
- Response[CopyArtifactsResponse | HTTPValidationError]
80
+ Response[HTTPValidationError | SessionResponse]
79
81
  """
80
82
 
81
83
  kwargs = _get_kwargs(
@@ -92,19 +94,21 @@ def sync_detailed(
92
94
  def sync(
93
95
  *,
94
96
  client: AuthenticatedClient,
95
- body: CopyArtifactsRequest,
96
- ) -> CopyArtifactsResponse | HTTPValidationError | None:
97
- """Copy Artifacts
97
+ body: CreateSession,
98
+ ) -> HTTPValidationError | SessionResponse | None:
99
+ """Create a session
100
+
101
+ Create a new session for organizing tasks.
98
102
 
99
103
  Args:
100
- body (CopyArtifactsRequest):
104
+ body (CreateSession):
101
105
 
102
106
  Raises:
103
107
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
104
108
  httpx.TimeoutException: If the request takes longer than Client.timeout.
105
109
 
106
110
  Returns:
107
- CopyArtifactsResponse | HTTPValidationError
111
+ HTTPValidationError | SessionResponse
108
112
  """
109
113
 
110
114
  return sync_detailed(
@@ -116,19 +120,21 @@ def sync(
116
120
  async def asyncio_detailed(
117
121
  *,
118
122
  client: AuthenticatedClient,
119
- body: CopyArtifactsRequest,
120
- ) -> Response[CopyArtifactsResponse | HTTPValidationError]:
121
- """Copy Artifacts
123
+ body: CreateSession,
124
+ ) -> Response[HTTPValidationError | SessionResponse]:
125
+ """Create a session
126
+
127
+ Create a new session for organizing tasks.
122
128
 
123
129
  Args:
124
- body (CopyArtifactsRequest):
130
+ body (CreateSession):
125
131
 
126
132
  Raises:
127
133
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
128
134
  httpx.TimeoutException: If the request takes longer than Client.timeout.
129
135
 
130
136
  Returns:
131
- Response[CopyArtifactsResponse | HTTPValidationError]
137
+ Response[HTTPValidationError | SessionResponse]
132
138
  """
133
139
 
134
140
  kwargs = _get_kwargs(
@@ -143,19 +149,21 @@ async def asyncio_detailed(
143
149
  async def asyncio(
144
150
  *,
145
151
  client: AuthenticatedClient,
146
- body: CopyArtifactsRequest,
147
- ) -> CopyArtifactsResponse | HTTPValidationError | None:
148
- """Copy Artifacts
152
+ body: CreateSession,
153
+ ) -> HTTPValidationError | SessionResponse | None:
154
+ """Create a session
155
+
156
+ Create a new session for organizing tasks.
149
157
 
150
158
  Args:
151
- body (CopyArtifactsRequest):
159
+ body (CreateSession):
152
160
 
153
161
  Raises:
154
162
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
155
163
  httpx.TimeoutException: If the request takes longer than Client.timeout.
156
164
 
157
165
  Returns:
158
- CopyArtifactsResponse | HTTPValidationError
166
+ HTTPValidationError | SessionResponse
159
167
  """
160
168
 
161
169
  return (
@@ -0,0 +1 @@
1
+ """Contains endpoint functions for accessing the API"""
@@ -1,31 +1,26 @@
1
1
  from http import HTTPStatus
2
2
  from typing import Any
3
+ from urllib.parse import quote
3
4
  from uuid import UUID
4
5
 
5
6
  import httpx
6
7
 
7
8
  from ... import errors
8
9
  from ...client import AuthenticatedClient, Client
10
+ from ...models.error_response import ErrorResponse
9
11
  from ...models.http_validation_error import HTTPValidationError
10
- from ...models.progress_status import ProgressStatus
11
- from ...types import UNSET, Response
12
+ from ...models.task_result_response import TaskResultResponse
13
+ from ...types import Response
12
14
 
13
15
 
14
16
  def _get_kwargs(
15
- *,
16
17
  task_id: UUID,
17
18
  ) -> dict[str, Any]:
18
- params: dict[str, Any] = {}
19
-
20
- json_task_id = str(task_id)
21
- params["task_id"] = json_task_id
22
-
23
- params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
24
-
25
19
  _kwargs: dict[str, Any] = {
26
20
  "method": "get",
27
- "url": "/jobs/progress",
28
- "params": params,
21
+ "url": "/tasks/{task_id}/result".format(
22
+ task_id=quote(str(task_id), safe=""),
23
+ ),
29
24
  }
30
25
 
31
26
  return _kwargs
@@ -33,12 +28,17 @@ def _get_kwargs(
33
28
 
34
29
  def _parse_response(
35
30
  *, client: AuthenticatedClient | Client, response: httpx.Response
36
- ) -> HTTPValidationError | ProgressStatus | None:
31
+ ) -> ErrorResponse | HTTPValidationError | TaskResultResponse | None:
37
32
  if response.status_code == 200:
38
- response_200 = ProgressStatus.from_dict(response.json())
33
+ response_200 = TaskResultResponse.from_dict(response.json())
39
34
 
40
35
  return response_200
41
36
 
37
+ if response.status_code == 404:
38
+ response_404 = ErrorResponse.from_dict(response.json())
39
+
40
+ return response_404
41
+
42
42
  if response.status_code == 422:
43
43
  response_422 = HTTPValidationError.from_dict(response.json())
44
44
 
@@ -52,7 +52,7 @@ def _parse_response(
52
52
 
53
53
  def _build_response(
54
54
  *, client: AuthenticatedClient | Client, response: httpx.Response
55
- ) -> Response[HTTPValidationError | ProgressStatus]:
55
+ ) -> Response[ErrorResponse | HTTPValidationError | TaskResultResponse]:
56
56
  return Response(
57
57
  status_code=HTTPStatus(response.status_code),
58
58
  content=response.content,
@@ -62,11 +62,14 @@ def _build_response(
62
62
 
63
63
 
64
64
  def sync_detailed(
65
+ task_id: UUID,
65
66
  *,
66
67
  client: AuthenticatedClient,
67
- task_id: UUID,
68
- ) -> Response[HTTPValidationError | ProgressStatus]:
69
- """Get Job Progress For Task
68
+ ) -> Response[ErrorResponse | HTTPValidationError | TaskResultResponse]:
69
+ """Get task result data
70
+
71
+ Get the result data of a completed task. Returns the artifact data as a list of records (for tables)
72
+ or a single record (for scalars).
70
73
 
71
74
  Args:
72
75
  task_id (UUID):
@@ -76,7 +79,7 @@ def sync_detailed(
76
79
  httpx.TimeoutException: If the request takes longer than Client.timeout.
77
80
 
78
81
  Returns:
79
- Response[HTTPValidationError | ProgressStatus]
82
+ Response[ErrorResponse | HTTPValidationError | TaskResultResponse]
80
83
  """
81
84
 
82
85
  kwargs = _get_kwargs(
@@ -91,11 +94,14 @@ def sync_detailed(
91
94
 
92
95
 
93
96
  def sync(
97
+ task_id: UUID,
94
98
  *,
95
99
  client: AuthenticatedClient,
96
- task_id: UUID,
97
- ) -> HTTPValidationError | ProgressStatus | None:
98
- """Get Job Progress For Task
100
+ ) -> ErrorResponse | HTTPValidationError | TaskResultResponse | None:
101
+ """Get task result data
102
+
103
+ Get the result data of a completed task. Returns the artifact data as a list of records (for tables)
104
+ or a single record (for scalars).
99
105
 
100
106
  Args:
101
107
  task_id (UUID):
@@ -105,21 +111,24 @@ def sync(
105
111
  httpx.TimeoutException: If the request takes longer than Client.timeout.
106
112
 
107
113
  Returns:
108
- HTTPValidationError | ProgressStatus
114
+ ErrorResponse | HTTPValidationError | TaskResultResponse
109
115
  """
110
116
 
111
117
  return sync_detailed(
112
- client=client,
113
118
  task_id=task_id,
119
+ client=client,
114
120
  ).parsed
115
121
 
116
122
 
117
123
  async def asyncio_detailed(
124
+ task_id: UUID,
118
125
  *,
119
126
  client: AuthenticatedClient,
120
- task_id: UUID,
121
- ) -> Response[HTTPValidationError | ProgressStatus]:
122
- """Get Job Progress For Task
127
+ ) -> Response[ErrorResponse | HTTPValidationError | TaskResultResponse]:
128
+ """Get task result data
129
+
130
+ Get the result data of a completed task. Returns the artifact data as a list of records (for tables)
131
+ or a single record (for scalars).
123
132
 
124
133
  Args:
125
134
  task_id (UUID):
@@ -129,7 +138,7 @@ async def asyncio_detailed(
129
138
  httpx.TimeoutException: If the request takes longer than Client.timeout.
130
139
 
131
140
  Returns:
132
- Response[HTTPValidationError | ProgressStatus]
141
+ Response[ErrorResponse | HTTPValidationError | TaskResultResponse]
133
142
  """
134
143
 
135
144
  kwargs = _get_kwargs(
@@ -142,11 +151,14 @@ async def asyncio_detailed(
142
151
 
143
152
 
144
153
  async def asyncio(
154
+ task_id: UUID,
145
155
  *,
146
156
  client: AuthenticatedClient,
147
- task_id: UUID,
148
- ) -> HTTPValidationError | ProgressStatus | None:
149
- """Get Job Progress For Task
157
+ ) -> ErrorResponse | HTTPValidationError | TaskResultResponse | None:
158
+ """Get task result data
159
+
160
+ Get the result data of a completed task. Returns the artifact data as a list of records (for tables)
161
+ or a single record (for scalars).
150
162
 
151
163
  Args:
152
164
  task_id (UUID):
@@ -156,12 +168,12 @@ async def asyncio(
156
168
  httpx.TimeoutException: If the request takes longer than Client.timeout.
157
169
 
158
170
  Returns:
159
- HTTPValidationError | ProgressStatus
171
+ ErrorResponse | HTTPValidationError | TaskResultResponse
160
172
  """
161
173
 
162
174
  return (
163
175
  await asyncio_detailed(
164
- client=client,
165
176
  task_id=task_id,
177
+ client=client,
166
178
  )
167
179
  ).parsed