everyrow 0.1.9__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.9.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.9.dist-info/RECORD +0 -183
- /everyrow/generated/api/{default → artifacts}/__init__.py +0 -0
- {everyrow-0.1.9.dist-info → everyrow-0.2.0.dist-info}/WHEEL +0 -0
- {everyrow-0.1.9.dist-info → everyrow-0.2.0.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import TYPE_CHECKING, Any, TypeVar, cast
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
from attrs import define as _attrs_define
|
|
8
|
+
from attrs import field as _attrs_field
|
|
9
|
+
|
|
10
|
+
from ..models.merge_operation_use_web_search_type_0 import MergeOperationUseWebSearchType0
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
from ..models.merge_operation_left_input_type_1_item import MergeOperationLeftInputType1Item
|
|
15
|
+
from ..models.merge_operation_left_input_type_2 import MergeOperationLeftInputType2
|
|
16
|
+
from ..models.merge_operation_right_input_type_1_item import MergeOperationRightInputType1Item
|
|
17
|
+
from ..models.merge_operation_right_input_type_2 import MergeOperationRightInputType2
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
T = TypeVar("T", bound="MergeOperation")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@_attrs_define
|
|
24
|
+
class MergeOperation:
|
|
25
|
+
"""
|
|
26
|
+
Attributes:
|
|
27
|
+
left_input (list[MergeOperationLeftInputType1Item] | MergeOperationLeftInputType2 | UUID): Left input: artifact
|
|
28
|
+
UUID, list of records, or single record
|
|
29
|
+
right_input (list[MergeOperationRightInputType1Item] | MergeOperationRightInputType2 | UUID): Right input:
|
|
30
|
+
artifact UUID, list of records, or single record
|
|
31
|
+
task (str): Instructions for the AI to determine how to merge rows
|
|
32
|
+
left_key (None | str | Unset): Column name to merge on from left table
|
|
33
|
+
right_key (None | str | Unset): Column name to merge on from right table
|
|
34
|
+
use_web_search (MergeOperationUseWebSearchType0 | None | Unset): Control web search behavior: 'auto' (default)
|
|
35
|
+
tries LLM merge first then conditionally searches, 'no' skips web search entirely, 'yes' forces web search
|
|
36
|
+
without initial LLM merge Default: MergeOperationUseWebSearchType0.AUTO.
|
|
37
|
+
session_id (None | Unset | UUID): Session ID. If not provided, a new session is auto-created for this task.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
left_input: list[MergeOperationLeftInputType1Item] | MergeOperationLeftInputType2 | UUID
|
|
41
|
+
right_input: list[MergeOperationRightInputType1Item] | MergeOperationRightInputType2 | UUID
|
|
42
|
+
task: str
|
|
43
|
+
left_key: None | str | Unset = UNSET
|
|
44
|
+
right_key: None | str | Unset = UNSET
|
|
45
|
+
use_web_search: MergeOperationUseWebSearchType0 | None | Unset = MergeOperationUseWebSearchType0.AUTO
|
|
46
|
+
session_id: None | Unset | UUID = UNSET
|
|
47
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
48
|
+
|
|
49
|
+
def to_dict(self) -> dict[str, Any]:
|
|
50
|
+
left_input: dict[str, Any] | list[dict[str, Any]] | str
|
|
51
|
+
if isinstance(self.left_input, UUID):
|
|
52
|
+
left_input = str(self.left_input)
|
|
53
|
+
elif isinstance(self.left_input, list):
|
|
54
|
+
left_input = []
|
|
55
|
+
for left_input_type_1_item_data in self.left_input:
|
|
56
|
+
left_input_type_1_item = left_input_type_1_item_data.to_dict()
|
|
57
|
+
left_input.append(left_input_type_1_item)
|
|
58
|
+
|
|
59
|
+
else:
|
|
60
|
+
left_input = self.left_input.to_dict()
|
|
61
|
+
|
|
62
|
+
right_input: dict[str, Any] | list[dict[str, Any]] | str
|
|
63
|
+
if isinstance(self.right_input, UUID):
|
|
64
|
+
right_input = str(self.right_input)
|
|
65
|
+
elif isinstance(self.right_input, list):
|
|
66
|
+
right_input = []
|
|
67
|
+
for right_input_type_1_item_data in self.right_input:
|
|
68
|
+
right_input_type_1_item = right_input_type_1_item_data.to_dict()
|
|
69
|
+
right_input.append(right_input_type_1_item)
|
|
70
|
+
|
|
71
|
+
else:
|
|
72
|
+
right_input = self.right_input.to_dict()
|
|
73
|
+
|
|
74
|
+
task = self.task
|
|
75
|
+
|
|
76
|
+
left_key: None | str | Unset
|
|
77
|
+
if isinstance(self.left_key, Unset):
|
|
78
|
+
left_key = UNSET
|
|
79
|
+
else:
|
|
80
|
+
left_key = self.left_key
|
|
81
|
+
|
|
82
|
+
right_key: None | str | Unset
|
|
83
|
+
if isinstance(self.right_key, Unset):
|
|
84
|
+
right_key = UNSET
|
|
85
|
+
else:
|
|
86
|
+
right_key = self.right_key
|
|
87
|
+
|
|
88
|
+
use_web_search: None | str | Unset
|
|
89
|
+
if isinstance(self.use_web_search, Unset):
|
|
90
|
+
use_web_search = UNSET
|
|
91
|
+
elif isinstance(self.use_web_search, MergeOperationUseWebSearchType0):
|
|
92
|
+
use_web_search = self.use_web_search.value
|
|
93
|
+
else:
|
|
94
|
+
use_web_search = self.use_web_search
|
|
95
|
+
|
|
96
|
+
session_id: None | str | Unset
|
|
97
|
+
if isinstance(self.session_id, Unset):
|
|
98
|
+
session_id = UNSET
|
|
99
|
+
elif isinstance(self.session_id, UUID):
|
|
100
|
+
session_id = str(self.session_id)
|
|
101
|
+
else:
|
|
102
|
+
session_id = self.session_id
|
|
103
|
+
|
|
104
|
+
field_dict: dict[str, Any] = {}
|
|
105
|
+
field_dict.update(self.additional_properties)
|
|
106
|
+
field_dict.update(
|
|
107
|
+
{
|
|
108
|
+
"left_input": left_input,
|
|
109
|
+
"right_input": right_input,
|
|
110
|
+
"task": task,
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
if left_key is not UNSET:
|
|
114
|
+
field_dict["left_key"] = left_key
|
|
115
|
+
if right_key is not UNSET:
|
|
116
|
+
field_dict["right_key"] = right_key
|
|
117
|
+
if use_web_search is not UNSET:
|
|
118
|
+
field_dict["use_web_search"] = use_web_search
|
|
119
|
+
if session_id is not UNSET:
|
|
120
|
+
field_dict["session_id"] = session_id
|
|
121
|
+
|
|
122
|
+
return field_dict
|
|
123
|
+
|
|
124
|
+
@classmethod
|
|
125
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
126
|
+
from ..models.merge_operation_left_input_type_1_item import MergeOperationLeftInputType1Item
|
|
127
|
+
from ..models.merge_operation_left_input_type_2 import MergeOperationLeftInputType2
|
|
128
|
+
from ..models.merge_operation_right_input_type_1_item import MergeOperationRightInputType1Item
|
|
129
|
+
from ..models.merge_operation_right_input_type_2 import MergeOperationRightInputType2
|
|
130
|
+
|
|
131
|
+
d = dict(src_dict)
|
|
132
|
+
|
|
133
|
+
def _parse_left_input(
|
|
134
|
+
data: object,
|
|
135
|
+
) -> list[MergeOperationLeftInputType1Item] | MergeOperationLeftInputType2 | UUID:
|
|
136
|
+
try:
|
|
137
|
+
if not isinstance(data, str):
|
|
138
|
+
raise TypeError()
|
|
139
|
+
left_input_type_0 = UUID(data)
|
|
140
|
+
|
|
141
|
+
return left_input_type_0
|
|
142
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
143
|
+
pass
|
|
144
|
+
try:
|
|
145
|
+
if not isinstance(data, list):
|
|
146
|
+
raise TypeError()
|
|
147
|
+
left_input_type_1 = []
|
|
148
|
+
_left_input_type_1 = data
|
|
149
|
+
for left_input_type_1_item_data in _left_input_type_1:
|
|
150
|
+
left_input_type_1_item = MergeOperationLeftInputType1Item.from_dict(left_input_type_1_item_data)
|
|
151
|
+
|
|
152
|
+
left_input_type_1.append(left_input_type_1_item)
|
|
153
|
+
|
|
154
|
+
return left_input_type_1
|
|
155
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
156
|
+
pass
|
|
157
|
+
if not isinstance(data, dict):
|
|
158
|
+
raise TypeError()
|
|
159
|
+
left_input_type_2 = MergeOperationLeftInputType2.from_dict(data)
|
|
160
|
+
|
|
161
|
+
return left_input_type_2
|
|
162
|
+
|
|
163
|
+
left_input = _parse_left_input(d.pop("left_input"))
|
|
164
|
+
|
|
165
|
+
def _parse_right_input(
|
|
166
|
+
data: object,
|
|
167
|
+
) -> list[MergeOperationRightInputType1Item] | MergeOperationRightInputType2 | UUID:
|
|
168
|
+
try:
|
|
169
|
+
if not isinstance(data, str):
|
|
170
|
+
raise TypeError()
|
|
171
|
+
right_input_type_0 = UUID(data)
|
|
172
|
+
|
|
173
|
+
return right_input_type_0
|
|
174
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
175
|
+
pass
|
|
176
|
+
try:
|
|
177
|
+
if not isinstance(data, list):
|
|
178
|
+
raise TypeError()
|
|
179
|
+
right_input_type_1 = []
|
|
180
|
+
_right_input_type_1 = data
|
|
181
|
+
for right_input_type_1_item_data in _right_input_type_1:
|
|
182
|
+
right_input_type_1_item = MergeOperationRightInputType1Item.from_dict(right_input_type_1_item_data)
|
|
183
|
+
|
|
184
|
+
right_input_type_1.append(right_input_type_1_item)
|
|
185
|
+
|
|
186
|
+
return right_input_type_1
|
|
187
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
188
|
+
pass
|
|
189
|
+
if not isinstance(data, dict):
|
|
190
|
+
raise TypeError()
|
|
191
|
+
right_input_type_2 = MergeOperationRightInputType2.from_dict(data)
|
|
192
|
+
|
|
193
|
+
return right_input_type_2
|
|
194
|
+
|
|
195
|
+
right_input = _parse_right_input(d.pop("right_input"))
|
|
196
|
+
|
|
197
|
+
task = d.pop("task")
|
|
198
|
+
|
|
199
|
+
def _parse_left_key(data: object) -> None | str | Unset:
|
|
200
|
+
if data is None:
|
|
201
|
+
return data
|
|
202
|
+
if isinstance(data, Unset):
|
|
203
|
+
return data
|
|
204
|
+
return cast(None | str | Unset, data)
|
|
205
|
+
|
|
206
|
+
left_key = _parse_left_key(d.pop("left_key", UNSET))
|
|
207
|
+
|
|
208
|
+
def _parse_right_key(data: object) -> None | str | Unset:
|
|
209
|
+
if data is None:
|
|
210
|
+
return data
|
|
211
|
+
if isinstance(data, Unset):
|
|
212
|
+
return data
|
|
213
|
+
return cast(None | str | Unset, data)
|
|
214
|
+
|
|
215
|
+
right_key = _parse_right_key(d.pop("right_key", UNSET))
|
|
216
|
+
|
|
217
|
+
def _parse_use_web_search(data: object) -> MergeOperationUseWebSearchType0 | None | Unset:
|
|
218
|
+
if data is None:
|
|
219
|
+
return data
|
|
220
|
+
if isinstance(data, Unset):
|
|
221
|
+
return data
|
|
222
|
+
try:
|
|
223
|
+
if not isinstance(data, str):
|
|
224
|
+
raise TypeError()
|
|
225
|
+
use_web_search_type_0 = MergeOperationUseWebSearchType0(data)
|
|
226
|
+
|
|
227
|
+
return use_web_search_type_0
|
|
228
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
229
|
+
pass
|
|
230
|
+
return cast(MergeOperationUseWebSearchType0 | None | Unset, data)
|
|
231
|
+
|
|
232
|
+
use_web_search = _parse_use_web_search(d.pop("use_web_search", UNSET))
|
|
233
|
+
|
|
234
|
+
def _parse_session_id(data: object) -> None | Unset | UUID:
|
|
235
|
+
if data is None:
|
|
236
|
+
return data
|
|
237
|
+
if isinstance(data, Unset):
|
|
238
|
+
return data
|
|
239
|
+
try:
|
|
240
|
+
if not isinstance(data, str):
|
|
241
|
+
raise TypeError()
|
|
242
|
+
session_id_type_0 = UUID(data)
|
|
243
|
+
|
|
244
|
+
return session_id_type_0
|
|
245
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
246
|
+
pass
|
|
247
|
+
return cast(None | Unset | UUID, data)
|
|
248
|
+
|
|
249
|
+
session_id = _parse_session_id(d.pop("session_id", UNSET))
|
|
250
|
+
|
|
251
|
+
merge_operation = cls(
|
|
252
|
+
left_input=left_input,
|
|
253
|
+
right_input=right_input,
|
|
254
|
+
task=task,
|
|
255
|
+
left_key=left_key,
|
|
256
|
+
right_key=right_key,
|
|
257
|
+
use_web_search=use_web_search,
|
|
258
|
+
session_id=session_id,
|
|
259
|
+
)
|
|
260
|
+
|
|
261
|
+
merge_operation.additional_properties = d
|
|
262
|
+
return merge_operation
|
|
263
|
+
|
|
264
|
+
@property
|
|
265
|
+
def additional_keys(self) -> list[str]:
|
|
266
|
+
return list(self.additional_properties.keys())
|
|
267
|
+
|
|
268
|
+
def __getitem__(self, key: str) -> Any:
|
|
269
|
+
return self.additional_properties[key]
|
|
270
|
+
|
|
271
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
272
|
+
self.additional_properties[key] = value
|
|
273
|
+
|
|
274
|
+
def __delitem__(self, key: str) -> None:
|
|
275
|
+
del self.additional_properties[key]
|
|
276
|
+
|
|
277
|
+
def __contains__(self, key: str) -> bool:
|
|
278
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="MergeOperationLeftInputType1Item")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class MergeOperationLeftInputType1Item:
|
|
14
|
+
""" """
|
|
15
|
+
|
|
16
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
17
|
+
|
|
18
|
+
def to_dict(self) -> dict[str, Any]:
|
|
19
|
+
field_dict: dict[str, Any] = {}
|
|
20
|
+
field_dict.update(self.additional_properties)
|
|
21
|
+
|
|
22
|
+
return field_dict
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
26
|
+
d = dict(src_dict)
|
|
27
|
+
merge_operation_left_input_type_1_item = cls()
|
|
28
|
+
|
|
29
|
+
merge_operation_left_input_type_1_item.additional_properties = d
|
|
30
|
+
return merge_operation_left_input_type_1_item
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def additional_keys(self) -> list[str]:
|
|
34
|
+
return list(self.additional_properties.keys())
|
|
35
|
+
|
|
36
|
+
def __getitem__(self, key: str) -> Any:
|
|
37
|
+
return self.additional_properties[key]
|
|
38
|
+
|
|
39
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
40
|
+
self.additional_properties[key] = value
|
|
41
|
+
|
|
42
|
+
def __delitem__(self, key: str) -> None:
|
|
43
|
+
del self.additional_properties[key]
|
|
44
|
+
|
|
45
|
+
def __contains__(self, key: str) -> bool:
|
|
46
|
+
return key in self.additional_properties
|
|
@@ -6,11 +6,11 @@ from typing import Any, TypeVar
|
|
|
6
6
|
from attrs import define as _attrs_define
|
|
7
7
|
from attrs import field as _attrs_field
|
|
8
8
|
|
|
9
|
-
T = TypeVar("T", bound="
|
|
9
|
+
T = TypeVar("T", bound="MergeOperationLeftInputType2")
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
@_attrs_define
|
|
13
|
-
class
|
|
13
|
+
class MergeOperationLeftInputType2:
|
|
14
14
|
""" """
|
|
15
15
|
|
|
16
16
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
@@ -24,10 +24,10 @@ class ChatCompletionMessageToolCall:
|
|
|
24
24
|
@classmethod
|
|
25
25
|
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
26
26
|
d = dict(src_dict)
|
|
27
|
-
|
|
27
|
+
merge_operation_left_input_type_2 = cls()
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
return
|
|
29
|
+
merge_operation_left_input_type_2.additional_properties = d
|
|
30
|
+
return merge_operation_left_input_type_2
|
|
31
31
|
|
|
32
32
|
@property
|
|
33
33
|
def additional_keys(self) -> list[str]:
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="MergeOperationRightInputType1Item")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class MergeOperationRightInputType1Item:
|
|
14
|
+
""" """
|
|
15
|
+
|
|
16
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
17
|
+
|
|
18
|
+
def to_dict(self) -> dict[str, Any]:
|
|
19
|
+
field_dict: dict[str, Any] = {}
|
|
20
|
+
field_dict.update(self.additional_properties)
|
|
21
|
+
|
|
22
|
+
return field_dict
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
26
|
+
d = dict(src_dict)
|
|
27
|
+
merge_operation_right_input_type_1_item = cls()
|
|
28
|
+
|
|
29
|
+
merge_operation_right_input_type_1_item.additional_properties = d
|
|
30
|
+
return merge_operation_right_input_type_1_item
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def additional_keys(self) -> list[str]:
|
|
34
|
+
return list(self.additional_properties.keys())
|
|
35
|
+
|
|
36
|
+
def __getitem__(self, key: str) -> Any:
|
|
37
|
+
return self.additional_properties[key]
|
|
38
|
+
|
|
39
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
40
|
+
self.additional_properties[key] = value
|
|
41
|
+
|
|
42
|
+
def __delitem__(self, key: str) -> None:
|
|
43
|
+
del self.additional_properties[key]
|
|
44
|
+
|
|
45
|
+
def __contains__(self, key: str) -> bool:
|
|
46
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar
|
|
5
|
+
|
|
6
|
+
from attrs import define as _attrs_define
|
|
7
|
+
from attrs import field as _attrs_field
|
|
8
|
+
|
|
9
|
+
T = TypeVar("T", bound="MergeOperationRightInputType2")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class MergeOperationRightInputType2:
|
|
14
|
+
""" """
|
|
15
|
+
|
|
16
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
17
|
+
|
|
18
|
+
def to_dict(self) -> dict[str, Any]:
|
|
19
|
+
field_dict: dict[str, Any] = {}
|
|
20
|
+
field_dict.update(self.additional_properties)
|
|
21
|
+
|
|
22
|
+
return field_dict
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
26
|
+
d = dict(src_dict)
|
|
27
|
+
merge_operation_right_input_type_2 = cls()
|
|
28
|
+
|
|
29
|
+
merge_operation_right_input_type_2.additional_properties = d
|
|
30
|
+
return merge_operation_right_input_type_2
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def additional_keys(self) -> list[str]:
|
|
34
|
+
return list(self.additional_properties.keys())
|
|
35
|
+
|
|
36
|
+
def __getitem__(self, key: str) -> Any:
|
|
37
|
+
return self.additional_properties[key]
|
|
38
|
+
|
|
39
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
40
|
+
self.additional_properties[key] = value
|
|
41
|
+
|
|
42
|
+
def __delitem__(self, key: str) -> None:
|
|
43
|
+
del self.additional_properties[key]
|
|
44
|
+
|
|
45
|
+
def __contains__(self, key: str) -> bool:
|
|
46
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Mapping
|
|
4
|
+
from typing import Any, TypeVar, cast
|
|
5
|
+
from uuid import UUID
|
|
6
|
+
|
|
7
|
+
from attrs import define as _attrs_define
|
|
8
|
+
from attrs import field as _attrs_field
|
|
9
|
+
|
|
10
|
+
from ..models.task_status import TaskStatus
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
T = TypeVar("T", bound="OperationResponse")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@_attrs_define
|
|
17
|
+
class OperationResponse:
|
|
18
|
+
"""
|
|
19
|
+
Attributes:
|
|
20
|
+
task_id (UUID): The ID of the created task
|
|
21
|
+
session_id (UUID): The session ID (auto-created if not provided)
|
|
22
|
+
status (TaskStatus):
|
|
23
|
+
artifact_id (None | Unset | UUID): Result artifact ID (available when completed)
|
|
24
|
+
error (None | str | Unset): Error message (available when failed)
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
task_id: UUID
|
|
28
|
+
session_id: UUID
|
|
29
|
+
status: TaskStatus
|
|
30
|
+
artifact_id: None | Unset | UUID = UNSET
|
|
31
|
+
error: None | str | Unset = UNSET
|
|
32
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
33
|
+
|
|
34
|
+
def to_dict(self) -> dict[str, Any]:
|
|
35
|
+
task_id = str(self.task_id)
|
|
36
|
+
|
|
37
|
+
session_id = str(self.session_id)
|
|
38
|
+
|
|
39
|
+
status = self.status.value
|
|
40
|
+
|
|
41
|
+
artifact_id: None | str | Unset
|
|
42
|
+
if isinstance(self.artifact_id, Unset):
|
|
43
|
+
artifact_id = UNSET
|
|
44
|
+
elif isinstance(self.artifact_id, UUID):
|
|
45
|
+
artifact_id = str(self.artifact_id)
|
|
46
|
+
else:
|
|
47
|
+
artifact_id = self.artifact_id
|
|
48
|
+
|
|
49
|
+
error: None | str | Unset
|
|
50
|
+
if isinstance(self.error, Unset):
|
|
51
|
+
error = UNSET
|
|
52
|
+
else:
|
|
53
|
+
error = self.error
|
|
54
|
+
|
|
55
|
+
field_dict: dict[str, Any] = {}
|
|
56
|
+
field_dict.update(self.additional_properties)
|
|
57
|
+
field_dict.update(
|
|
58
|
+
{
|
|
59
|
+
"task_id": task_id,
|
|
60
|
+
"session_id": session_id,
|
|
61
|
+
"status": status,
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
if artifact_id is not UNSET:
|
|
65
|
+
field_dict["artifact_id"] = artifact_id
|
|
66
|
+
if error is not UNSET:
|
|
67
|
+
field_dict["error"] = error
|
|
68
|
+
|
|
69
|
+
return field_dict
|
|
70
|
+
|
|
71
|
+
@classmethod
|
|
72
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
73
|
+
d = dict(src_dict)
|
|
74
|
+
task_id = UUID(d.pop("task_id"))
|
|
75
|
+
|
|
76
|
+
session_id = UUID(d.pop("session_id"))
|
|
77
|
+
|
|
78
|
+
status = TaskStatus(d.pop("status"))
|
|
79
|
+
|
|
80
|
+
def _parse_artifact_id(data: object) -> None | Unset | UUID:
|
|
81
|
+
if data is None:
|
|
82
|
+
return data
|
|
83
|
+
if isinstance(data, Unset):
|
|
84
|
+
return data
|
|
85
|
+
try:
|
|
86
|
+
if not isinstance(data, str):
|
|
87
|
+
raise TypeError()
|
|
88
|
+
artifact_id_type_0 = UUID(data)
|
|
89
|
+
|
|
90
|
+
return artifact_id_type_0
|
|
91
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
92
|
+
pass
|
|
93
|
+
return cast(None | Unset | UUID, data)
|
|
94
|
+
|
|
95
|
+
artifact_id = _parse_artifact_id(d.pop("artifact_id", UNSET))
|
|
96
|
+
|
|
97
|
+
def _parse_error(data: object) -> None | str | Unset:
|
|
98
|
+
if data is None:
|
|
99
|
+
return data
|
|
100
|
+
if isinstance(data, Unset):
|
|
101
|
+
return data
|
|
102
|
+
return cast(None | str | Unset, data)
|
|
103
|
+
|
|
104
|
+
error = _parse_error(d.pop("error", UNSET))
|
|
105
|
+
|
|
106
|
+
operation_response = cls(
|
|
107
|
+
task_id=task_id,
|
|
108
|
+
session_id=session_id,
|
|
109
|
+
status=status,
|
|
110
|
+
artifact_id=artifact_id,
|
|
111
|
+
error=error,
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
operation_response.additional_properties = d
|
|
115
|
+
return operation_response
|
|
116
|
+
|
|
117
|
+
@property
|
|
118
|
+
def additional_keys(self) -> list[str]:
|
|
119
|
+
return list(self.additional_properties.keys())
|
|
120
|
+
|
|
121
|
+
def __getitem__(self, key: str) -> Any:
|
|
122
|
+
return self.additional_properties[key]
|
|
123
|
+
|
|
124
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
125
|
+
self.additional_properties[key] = value
|
|
126
|
+
|
|
127
|
+
def __delitem__(self, key: str) -> None:
|
|
128
|
+
del self.additional_properties[key]
|
|
129
|
+
|
|
130
|
+
def __contains__(self, key: str) -> bool:
|
|
131
|
+
return key in self.additional_properties
|