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.
- everyrow/__init__.py +8 -1
- everyrow/api_utils.py +5 -1
- everyrow/billing.py +29 -0
- everyrow/constants.py +1 -1
- everyrow/generated/__init__.py +1 -1
- everyrow/generated/api/{default/interrupt_chat_task_tasks_chat_interrupt_post.py → artifacts/create_artifact_artifacts_post.py} +38 -32
- everyrow/generated/api/billing/__init__.py +1 -0
- everyrow/generated/api/{default/get_queues_stats_jobs_queues_get.py → billing/get_billing_balance_billing_get.py} +25 -17
- everyrow/generated/api/operations/__init__.py +1 -0
- everyrow/generated/api/{default/re_execute_task_endpoint_tasks_re_execute_post.py → operations/agent_map_operations_agent_map_post.py} +53 -41
- everyrow/generated/api/{default/create_workflow_from_artifact_workflows_from_artifact_post.py → operations/dedupe_operations_dedupe_post.py} +39 -33
- everyrow/generated/api/{default/submit_task_tasks_post.py → operations/merge_operations_merge_post.py} +37 -29
- everyrow/generated/api/{default/copy_workflow_endpoint_workflows_copy_post.py → operations/rank_operations_rank_post.py} +43 -29
- everyrow/generated/api/{default/export_to_google_sheets_export_post.py → operations/screen_operations_screen_post.py} +43 -31
- everyrow/generated/api/operations/single_agent_operations_single_agent_post.py +236 -0
- everyrow/generated/api/sessions/__init__.py +1 -0
- everyrow/generated/api/{default/copy_artifacts_artifacts_copy_post.py → sessions/create_session_endpoint_sessions_post.py} +35 -27
- everyrow/generated/api/tasks/__init__.py +1 -0
- 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
- 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
- everyrow/generated/models/__init__.py +82 -266
- everyrow/generated/models/agent_map_operation.py +315 -0
- everyrow/generated/models/{artifact_group_record_metadata_type_0.py → agent_map_operation_input_type_1_item.py} +5 -5
- everyrow/generated/models/agent_map_operation_input_type_2.py +46 -0
- everyrow/generated/models/{standalone_artifact_record_analysis_type_0.py → agent_map_operation_response_schema_type_0.py} +5 -5
- everyrow/generated/models/{create_query_params.py → billing_response.py} +13 -12
- everyrow/generated/models/{continue_task_request.py → create_artifact_request.py} +43 -43
- everyrow/generated/models/create_artifact_request_data_type_0_item.py +46 -0
- everyrow/generated/models/{task_metadata_cols_to_rename_type_0.py → create_artifact_request_data_type_1.py} +5 -5
- everyrow/generated/models/{copy_artifacts_response.py → create_artifact_response.py} +12 -12
- everyrow/generated/models/{create_session_request.py → create_session.py} +6 -7
- everyrow/generated/models/dedupe_operation.py +151 -0
- everyrow/generated/models/dedupe_operation_input_type_1_item.py +46 -0
- everyrow/generated/models/{import_request_token_data.py → dedupe_operation_input_type_2.py} +5 -5
- everyrow/generated/models/error_response.py +109 -0
- everyrow/generated/models/{task_insert_query_params.py → error_response_details_type_0.py} +5 -5
- everyrow/generated/models/insufficient_balance_error.py +8 -0
- everyrow/generated/models/{llm_enum.py → llm_enum_public.py} +1 -20
- everyrow/generated/models/merge_operation.py +278 -0
- everyrow/generated/models/merge_operation_left_input_type_1_item.py +46 -0
- everyrow/generated/models/{chat_completion_message_tool_call.py → merge_operation_left_input_type_2.py} +5 -5
- everyrow/generated/models/merge_operation_right_input_type_1_item.py +46 -0
- everyrow/generated/models/merge_operation_right_input_type_2.py +46 -0
- everyrow/generated/models/merge_operation_use_web_search_type_0.py +10 -0
- everyrow/generated/models/operation_response.py +131 -0
- everyrow/generated/models/{multi_agent_effort_level.py → public_effort_level.py} +1 -1
- everyrow/generated/models/public_task_type.py +12 -0
- everyrow/generated/models/rank_operation.py +203 -0
- everyrow/generated/models/rank_operation_input_type_1_item.py +46 -0
- everyrow/generated/models/{export_request_token_data.py → rank_operation_input_type_2.py} +5 -5
- everyrow/generated/models/{artifact_group_record_analysis_type_0.py → rank_operation_response_schema_type_0.py} +5 -5
- everyrow/generated/models/screen_operation.py +186 -0
- everyrow/generated/models/screen_operation_input_type_1_item.py +46 -0
- everyrow/generated/models/screen_operation_input_type_2.py +46 -0
- everyrow/generated/models/screen_operation_response_schema_type_0.py +46 -0
- everyrow/generated/models/{create_session_response.py → session_response.py} +7 -8
- everyrow/generated/models/single_agent_operation.py +304 -0
- everyrow/generated/models/single_agent_operation_input_type_1_item.py +46 -0
- everyrow/generated/models/single_agent_operation_input_type_2.py +46 -0
- everyrow/generated/models/single_agent_operation_response_schema_type_0.py +46 -0
- everyrow/generated/models/task_result_response.py +185 -0
- everyrow/generated/models/task_result_response_data_type_0_item.py +46 -0
- everyrow/generated/models/task_result_response_data_type_1.py +46 -0
- everyrow/generated/models/task_status_response.py +99 -19
- everyrow/ops.py +360 -434
- everyrow/session.py +5 -7
- everyrow/task.py +68 -115
- {everyrow-0.1.10.dist-info → everyrow-0.2.0.dist-info}/METADATA +22 -8
- everyrow-0.2.0.dist-info/RECORD +81 -0
- everyrow/citations.py +0 -50
- everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py +0 -208
- everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py +0 -186
- everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py +0 -198
- everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py +0 -186
- everyrow/generated/api/default/get_artifacts_artifacts_get.py +0 -260
- everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py +0 -165
- everyrow/generated/api/default/get_metrics_metrics_get.py +0 -80
- everyrow/generated/api/default/get_user_usage_usage_get.py +0 -123
- everyrow/generated/api/default/healthz_healthz_get.py +0 -127
- everyrow/generated/api/default/import_from_google_sheets_import_post.py +0 -170
- everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py +0 -186
- everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py +0 -181
- everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py +0 -164
- everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py +0 -186
- everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py +0 -164
- everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py +0 -319
- everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py +0 -166
- everyrow/generated/api/default/whoami_whoami_get.py +0 -127
- everyrow/generated/models/agent_improvement_instruction.py +0 -69
- everyrow/generated/models/agent_query_params.py +0 -383
- everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py +0 -10
- everyrow/generated/models/agent_task_args.py +0 -163
- everyrow/generated/models/agent_task_args_processing_mode.py +0 -9
- everyrow/generated/models/allowed_suggestions.py +0 -9
- everyrow/generated/models/api_key_info.py +0 -163
- everyrow/generated/models/artifact_changed_payload.py +0 -89
- everyrow/generated/models/artifact_group_record.py +0 -363
- everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py +0 -46
- everyrow/generated/models/artifact_status.py +0 -14
- everyrow/generated/models/auto_cohort_conversation_message.py +0 -533
- everyrow/generated/models/aux_data.py +0 -128
- everyrow/generated/models/aux_data_source_bank.py +0 -59
- everyrow/generated/models/chat_message_metadata.py +0 -193
- everyrow/generated/models/concatenate_query_params.py +0 -46
- everyrow/generated/models/concatenate_request.py +0 -306
- everyrow/generated/models/continue_reason.py +0 -9
- everyrow/generated/models/controller_improvement_round.py +0 -79
- everyrow/generated/models/conversation_changed_payload.py +0 -89
- everyrow/generated/models/copy_artifacts_request.py +0 -70
- everyrow/generated/models/copy_workflow_request.py +0 -62
- everyrow/generated/models/copy_workflow_response.py +0 -70
- everyrow/generated/models/create_api_key_request.py +0 -95
- everyrow/generated/models/create_api_key_response.py +0 -96
- everyrow/generated/models/create_group_query_params.py +0 -61
- everyrow/generated/models/create_group_request.py +0 -305
- everyrow/generated/models/create_request.py +0 -305
- everyrow/generated/models/create_workflow_from_artifact_request.py +0 -92
- everyrow/generated/models/create_workflow_from_artifact_response.py +0 -70
- everyrow/generated/models/data_frame_method.py +0 -18
- everyrow/generated/models/date_cutoffs.py +0 -145
- everyrow/generated/models/dedupe_public_params.py +0 -64
- everyrow/generated/models/dedupe_request_params.py +0 -311
- everyrow/generated/models/deep_merge_public_params.py +0 -143
- everyrow/generated/models/deep_merge_request.py +0 -313
- everyrow/generated/models/deep_rank_public_params.py +0 -109
- everyrow/generated/models/deep_rank_request.py +0 -313
- everyrow/generated/models/deep_screen_public_params.py +0 -132
- everyrow/generated/models/deep_screen_request.py +0 -313
- everyrow/generated/models/derive_expression.py +0 -69
- everyrow/generated/models/derive_query_params.py +0 -75
- everyrow/generated/models/derive_request.py +0 -307
- everyrow/generated/models/document_query_tool.py +0 -12
- everyrow/generated/models/drop_columns_query_params.py +0 -61
- everyrow/generated/models/drop_columns_request.py +0 -305
- everyrow/generated/models/event_type.py +0 -14
- everyrow/generated/models/execution_metadata.py +0 -146
- everyrow/generated/models/export_request.py +0 -75
- everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py +0 -46
- everyrow/generated/models/filter_query_params.py +0 -91
- everyrow/generated/models/filter_request.py +0 -305
- everyrow/generated/models/flatten_query_params.py +0 -46
- everyrow/generated/models/flatten_request.py +0 -305
- everyrow/generated/models/generate_feedback_request.py +0 -62
- everyrow/generated/models/group_by_query_params.py +0 -62
- everyrow/generated/models/group_by_request.py +0 -305
- everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py +0 -46
- everyrow/generated/models/image_chat_content_part.py +0 -80
- everyrow/generated/models/image_chat_content_part_image_url.py +0 -46
- everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py +0 -46
- everyrow/generated/models/import_request.py +0 -83
- everyrow/generated/models/join_query_params.py +0 -73
- everyrow/generated/models/join_request.py +0 -305
- everyrow/generated/models/map_agent_request_params.py +0 -313
- everyrow/generated/models/map_multi_agent_request_params.py +0 -313
- everyrow/generated/models/message_created_payload.py +0 -98
- everyrow/generated/models/multi_agent_query_params.py +0 -264
- everyrow/generated/models/multi_modal_chat_message.py +0 -160
- everyrow/generated/models/multi_modal_chat_message_role.py +0 -10
- everyrow/generated/models/preview_metadata.py +0 -144
- everyrow/generated/models/processing_mode.py +0 -10
- everyrow/generated/models/progress_status.py +0 -83
- everyrow/generated/models/queue_stats.py +0 -77
- everyrow/generated/models/reduce_agent_request_params.py +0 -305
- everyrow/generated/models/reduce_multi_agent_request_params.py +0 -305
- everyrow/generated/models/resource_estimation_response.py +0 -85
- everyrow/generated/models/response_schema_type.py +0 -9
- everyrow/generated/models/revoke_api_key_response.py +0 -61
- everyrow/generated/models/rollback_to_message_request.py +0 -62
- everyrow/generated/models/rollback_to_message_response.py +0 -77
- everyrow/generated/models/session_changed_payload.py +0 -69
- everyrow/generated/models/simple_chat_message.py +0 -121
- everyrow/generated/models/simple_chat_message_role.py +0 -10
- everyrow/generated/models/simple_chat_message_with_tool_calls.py +0 -156
- everyrow/generated/models/source_database_entry.py +0 -92
- everyrow/generated/models/standalone_artifact_record.py +0 -311
- everyrow/generated/models/standalone_artifact_record_metadata_type_0.py +0 -46
- everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py +0 -46
- everyrow/generated/models/status_count.py +0 -71
- everyrow/generated/models/status_count_status.py +0 -13
- everyrow/generated/models/submit_chat_task_body.py +0 -497
- everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py +0 -11
- everyrow/generated/models/submit_task_body.py +0 -745
- everyrow/generated/models/task_changed_payload.py +0 -105
- everyrow/generated/models/task_effort.py +0 -10
- everyrow/generated/models/task_id_request.py +0 -62
- everyrow/generated/models/task_insert.py +0 -725
- everyrow/generated/models/task_metadata.py +0 -323
- everyrow/generated/models/task_response.py +0 -62
- everyrow/generated/models/task_type.py +0 -31
- everyrow/generated/models/text_chat_content_part.py +0 -74
- everyrow/generated/models/tool_response_message.py +0 -127
- everyrow/generated/models/toolkit_constants.py +0 -80
- everyrow/generated/models/trace_changed_payload.py +0 -94
- everyrow/generated/models/trace_info.py +0 -78
- everyrow/generated/models/trigger_workflow_execution_request.py +0 -112
- everyrow/generated/models/trigger_workflow_execution_request_task_params.py +0 -65
- everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py +0 -46
- everyrow/generated/models/trigger_workflow_execution_response.py +0 -69
- everyrow/generated/models/upload_csv_payload.py +0 -310
- everyrow/generated/models/upload_csv_query_params.py +0 -114
- everyrow/generated/models/usage_response.py +0 -77
- everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py +0 -46
- everyrow/generated/models/workflow_leaf_node_input.py +0 -70
- everyrow-0.1.10.dist-info/RECORD +0 -183
- /everyrow/generated/api/{default → artifacts}/__init__.py +0 -0
- {everyrow-0.1.10.dist-info → everyrow-0.2.0.dist-info}/WHEEL +0 -0
- {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.
|
|
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:
|
|
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": "/
|
|
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
|
-
) ->
|
|
35
|
+
) -> HTTPValidationError | SessionResponse | None:
|
|
36
36
|
if response.status_code == 200:
|
|
37
|
-
response_200 =
|
|
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[
|
|
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:
|
|
67
|
-
) -> Response[
|
|
68
|
-
"""
|
|
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 (
|
|
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[
|
|
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:
|
|
96
|
-
) ->
|
|
97
|
-
"""
|
|
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 (
|
|
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
|
-
|
|
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:
|
|
120
|
-
) -> Response[
|
|
121
|
-
"""
|
|
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 (
|
|
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[
|
|
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:
|
|
147
|
-
) ->
|
|
148
|
-
"""
|
|
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 (
|
|
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
|
-
|
|
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.
|
|
11
|
-
from ...types import
|
|
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": "/
|
|
28
|
-
|
|
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 |
|
|
31
|
+
) -> ErrorResponse | HTTPValidationError | TaskResultResponse | None:
|
|
37
32
|
if response.status_code == 200:
|
|
38
|
-
response_200 =
|
|
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 |
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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 |
|
|
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
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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 |
|
|
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
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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 |
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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 |
|
|
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
|