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,304 @@
|
|
|
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.llm_enum_public import LLMEnumPublic
|
|
11
|
+
from ..models.public_effort_level import PublicEffortLevel
|
|
12
|
+
from ..types import UNSET, Unset
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from ..models.single_agent_operation_input_type_1_item import SingleAgentOperationInputType1Item
|
|
16
|
+
from ..models.single_agent_operation_input_type_2 import SingleAgentOperationInputType2
|
|
17
|
+
from ..models.single_agent_operation_response_schema_type_0 import SingleAgentOperationResponseSchemaType0
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
T = TypeVar("T", bound="SingleAgentOperation")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@_attrs_define
|
|
24
|
+
class SingleAgentOperation:
|
|
25
|
+
"""
|
|
26
|
+
Attributes:
|
|
27
|
+
input_ (list[SingleAgentOperationInputType1Item] | SingleAgentOperationInputType2 | UUID): The input data as a)
|
|
28
|
+
the ID of an existing artifact, b) a single record in the form of a JSON object, or c) a table of records in the
|
|
29
|
+
form of a list of JSON objects
|
|
30
|
+
task (str): Instructions for the AI agent
|
|
31
|
+
session_id (None | Unset | UUID): Session ID. If not provided, a new session is auto-created for this task.
|
|
32
|
+
response_schema (None | SingleAgentOperationResponseSchemaType0 | Unset): JSON Schema for the response format.
|
|
33
|
+
If not provided, use default answer schema.
|
|
34
|
+
llm (LLMEnumPublic | None | Unset): LLM to use for the agent. Required when effort_level is not set.
|
|
35
|
+
effort_level (None | PublicEffortLevel | Unset): Effort level preset: low (quick), medium (balanced), high
|
|
36
|
+
(thorough). Mutually exclusive with llm/iteration_budget/include_research - use either a preset or custom
|
|
37
|
+
params, not both. If not specified, you must provide all individual parameters (llm, iteration_budget,
|
|
38
|
+
include_research).
|
|
39
|
+
return_list (bool | Unset): If True, treat the output as a list of responses instead of a single response.
|
|
40
|
+
Default: True.
|
|
41
|
+
iteration_budget (int | None | Unset): Number of agent iterations (0-20). Required when effort_level is not set.
|
|
42
|
+
include_research (bool | None | Unset): Include research notes in the response. Required when effort_level is
|
|
43
|
+
not set.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
input_: list[SingleAgentOperationInputType1Item] | SingleAgentOperationInputType2 | UUID
|
|
47
|
+
task: str
|
|
48
|
+
session_id: None | Unset | UUID = UNSET
|
|
49
|
+
response_schema: None | SingleAgentOperationResponseSchemaType0 | Unset = UNSET
|
|
50
|
+
llm: LLMEnumPublic | None | Unset = UNSET
|
|
51
|
+
effort_level: None | PublicEffortLevel | Unset = UNSET
|
|
52
|
+
return_list: bool | Unset = True
|
|
53
|
+
iteration_budget: int | None | Unset = UNSET
|
|
54
|
+
include_research: bool | None | Unset = UNSET
|
|
55
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
56
|
+
|
|
57
|
+
def to_dict(self) -> dict[str, Any]:
|
|
58
|
+
from ..models.single_agent_operation_response_schema_type_0 import SingleAgentOperationResponseSchemaType0
|
|
59
|
+
|
|
60
|
+
input_: dict[str, Any] | list[dict[str, Any]] | str
|
|
61
|
+
if isinstance(self.input_, UUID):
|
|
62
|
+
input_ = str(self.input_)
|
|
63
|
+
elif isinstance(self.input_, list):
|
|
64
|
+
input_ = []
|
|
65
|
+
for input_type_1_item_data in self.input_:
|
|
66
|
+
input_type_1_item = input_type_1_item_data.to_dict()
|
|
67
|
+
input_.append(input_type_1_item)
|
|
68
|
+
|
|
69
|
+
else:
|
|
70
|
+
input_ = self.input_.to_dict()
|
|
71
|
+
|
|
72
|
+
task = self.task
|
|
73
|
+
|
|
74
|
+
session_id: None | str | Unset
|
|
75
|
+
if isinstance(self.session_id, Unset):
|
|
76
|
+
session_id = UNSET
|
|
77
|
+
elif isinstance(self.session_id, UUID):
|
|
78
|
+
session_id = str(self.session_id)
|
|
79
|
+
else:
|
|
80
|
+
session_id = self.session_id
|
|
81
|
+
|
|
82
|
+
response_schema: dict[str, Any] | None | Unset
|
|
83
|
+
if isinstance(self.response_schema, Unset):
|
|
84
|
+
response_schema = UNSET
|
|
85
|
+
elif isinstance(self.response_schema, SingleAgentOperationResponseSchemaType0):
|
|
86
|
+
response_schema = self.response_schema.to_dict()
|
|
87
|
+
else:
|
|
88
|
+
response_schema = self.response_schema
|
|
89
|
+
|
|
90
|
+
llm: None | str | Unset
|
|
91
|
+
if isinstance(self.llm, Unset):
|
|
92
|
+
llm = UNSET
|
|
93
|
+
elif isinstance(self.llm, LLMEnumPublic):
|
|
94
|
+
llm = self.llm.value
|
|
95
|
+
else:
|
|
96
|
+
llm = self.llm
|
|
97
|
+
|
|
98
|
+
effort_level: None | str | Unset
|
|
99
|
+
if isinstance(self.effort_level, Unset):
|
|
100
|
+
effort_level = UNSET
|
|
101
|
+
elif isinstance(self.effort_level, PublicEffortLevel):
|
|
102
|
+
effort_level = self.effort_level.value
|
|
103
|
+
else:
|
|
104
|
+
effort_level = self.effort_level
|
|
105
|
+
|
|
106
|
+
return_list = self.return_list
|
|
107
|
+
|
|
108
|
+
iteration_budget: int | None | Unset
|
|
109
|
+
if isinstance(self.iteration_budget, Unset):
|
|
110
|
+
iteration_budget = UNSET
|
|
111
|
+
else:
|
|
112
|
+
iteration_budget = self.iteration_budget
|
|
113
|
+
|
|
114
|
+
include_research: bool | None | Unset
|
|
115
|
+
if isinstance(self.include_research, Unset):
|
|
116
|
+
include_research = UNSET
|
|
117
|
+
else:
|
|
118
|
+
include_research = self.include_research
|
|
119
|
+
|
|
120
|
+
field_dict: dict[str, Any] = {}
|
|
121
|
+
field_dict.update(self.additional_properties)
|
|
122
|
+
field_dict.update(
|
|
123
|
+
{
|
|
124
|
+
"input": input_,
|
|
125
|
+
"task": task,
|
|
126
|
+
}
|
|
127
|
+
)
|
|
128
|
+
if session_id is not UNSET:
|
|
129
|
+
field_dict["session_id"] = session_id
|
|
130
|
+
if response_schema is not UNSET:
|
|
131
|
+
field_dict["response_schema"] = response_schema
|
|
132
|
+
if llm is not UNSET:
|
|
133
|
+
field_dict["llm"] = llm
|
|
134
|
+
if effort_level is not UNSET:
|
|
135
|
+
field_dict["effort_level"] = effort_level
|
|
136
|
+
if return_list is not UNSET:
|
|
137
|
+
field_dict["return_list"] = return_list
|
|
138
|
+
if iteration_budget is not UNSET:
|
|
139
|
+
field_dict["iteration_budget"] = iteration_budget
|
|
140
|
+
if include_research is not UNSET:
|
|
141
|
+
field_dict["include_research"] = include_research
|
|
142
|
+
|
|
143
|
+
return field_dict
|
|
144
|
+
|
|
145
|
+
@classmethod
|
|
146
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
147
|
+
from ..models.single_agent_operation_input_type_1_item import SingleAgentOperationInputType1Item
|
|
148
|
+
from ..models.single_agent_operation_input_type_2 import SingleAgentOperationInputType2
|
|
149
|
+
from ..models.single_agent_operation_response_schema_type_0 import SingleAgentOperationResponseSchemaType0
|
|
150
|
+
|
|
151
|
+
d = dict(src_dict)
|
|
152
|
+
|
|
153
|
+
def _parse_input_(
|
|
154
|
+
data: object,
|
|
155
|
+
) -> list[SingleAgentOperationInputType1Item] | SingleAgentOperationInputType2 | UUID:
|
|
156
|
+
try:
|
|
157
|
+
if not isinstance(data, str):
|
|
158
|
+
raise TypeError()
|
|
159
|
+
input_type_0 = UUID(data)
|
|
160
|
+
|
|
161
|
+
return input_type_0
|
|
162
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
163
|
+
pass
|
|
164
|
+
try:
|
|
165
|
+
if not isinstance(data, list):
|
|
166
|
+
raise TypeError()
|
|
167
|
+
input_type_1 = []
|
|
168
|
+
_input_type_1 = data
|
|
169
|
+
for input_type_1_item_data in _input_type_1:
|
|
170
|
+
input_type_1_item = SingleAgentOperationInputType1Item.from_dict(input_type_1_item_data)
|
|
171
|
+
|
|
172
|
+
input_type_1.append(input_type_1_item)
|
|
173
|
+
|
|
174
|
+
return input_type_1
|
|
175
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
176
|
+
pass
|
|
177
|
+
if not isinstance(data, dict):
|
|
178
|
+
raise TypeError()
|
|
179
|
+
input_type_2 = SingleAgentOperationInputType2.from_dict(data)
|
|
180
|
+
|
|
181
|
+
return input_type_2
|
|
182
|
+
|
|
183
|
+
input_ = _parse_input_(d.pop("input"))
|
|
184
|
+
|
|
185
|
+
task = d.pop("task")
|
|
186
|
+
|
|
187
|
+
def _parse_session_id(data: object) -> None | Unset | UUID:
|
|
188
|
+
if data is None:
|
|
189
|
+
return data
|
|
190
|
+
if isinstance(data, Unset):
|
|
191
|
+
return data
|
|
192
|
+
try:
|
|
193
|
+
if not isinstance(data, str):
|
|
194
|
+
raise TypeError()
|
|
195
|
+
session_id_type_0 = UUID(data)
|
|
196
|
+
|
|
197
|
+
return session_id_type_0
|
|
198
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
199
|
+
pass
|
|
200
|
+
return cast(None | Unset | UUID, data)
|
|
201
|
+
|
|
202
|
+
session_id = _parse_session_id(d.pop("session_id", UNSET))
|
|
203
|
+
|
|
204
|
+
def _parse_response_schema(data: object) -> None | SingleAgentOperationResponseSchemaType0 | Unset:
|
|
205
|
+
if data is None:
|
|
206
|
+
return data
|
|
207
|
+
if isinstance(data, Unset):
|
|
208
|
+
return data
|
|
209
|
+
try:
|
|
210
|
+
if not isinstance(data, dict):
|
|
211
|
+
raise TypeError()
|
|
212
|
+
response_schema_type_0 = SingleAgentOperationResponseSchemaType0.from_dict(data)
|
|
213
|
+
|
|
214
|
+
return response_schema_type_0
|
|
215
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
216
|
+
pass
|
|
217
|
+
return cast(None | SingleAgentOperationResponseSchemaType0 | Unset, data)
|
|
218
|
+
|
|
219
|
+
response_schema = _parse_response_schema(d.pop("response_schema", UNSET))
|
|
220
|
+
|
|
221
|
+
def _parse_llm(data: object) -> LLMEnumPublic | None | Unset:
|
|
222
|
+
if data is None:
|
|
223
|
+
return data
|
|
224
|
+
if isinstance(data, Unset):
|
|
225
|
+
return data
|
|
226
|
+
try:
|
|
227
|
+
if not isinstance(data, str):
|
|
228
|
+
raise TypeError()
|
|
229
|
+
llm_type_0 = LLMEnumPublic(data)
|
|
230
|
+
|
|
231
|
+
return llm_type_0
|
|
232
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
233
|
+
pass
|
|
234
|
+
return cast(LLMEnumPublic | None | Unset, data)
|
|
235
|
+
|
|
236
|
+
llm = _parse_llm(d.pop("llm", UNSET))
|
|
237
|
+
|
|
238
|
+
def _parse_effort_level(data: object) -> None | PublicEffortLevel | Unset:
|
|
239
|
+
if data is None:
|
|
240
|
+
return data
|
|
241
|
+
if isinstance(data, Unset):
|
|
242
|
+
return data
|
|
243
|
+
try:
|
|
244
|
+
if not isinstance(data, str):
|
|
245
|
+
raise TypeError()
|
|
246
|
+
effort_level_type_0 = PublicEffortLevel(data)
|
|
247
|
+
|
|
248
|
+
return effort_level_type_0
|
|
249
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
250
|
+
pass
|
|
251
|
+
return cast(None | PublicEffortLevel | Unset, data)
|
|
252
|
+
|
|
253
|
+
effort_level = _parse_effort_level(d.pop("effort_level", UNSET))
|
|
254
|
+
|
|
255
|
+
return_list = d.pop("return_list", UNSET)
|
|
256
|
+
|
|
257
|
+
def _parse_iteration_budget(data: object) -> int | None | Unset:
|
|
258
|
+
if data is None:
|
|
259
|
+
return data
|
|
260
|
+
if isinstance(data, Unset):
|
|
261
|
+
return data
|
|
262
|
+
return cast(int | None | Unset, data)
|
|
263
|
+
|
|
264
|
+
iteration_budget = _parse_iteration_budget(d.pop("iteration_budget", UNSET))
|
|
265
|
+
|
|
266
|
+
def _parse_include_research(data: object) -> bool | None | Unset:
|
|
267
|
+
if data is None:
|
|
268
|
+
return data
|
|
269
|
+
if isinstance(data, Unset):
|
|
270
|
+
return data
|
|
271
|
+
return cast(bool | None | Unset, data)
|
|
272
|
+
|
|
273
|
+
include_research = _parse_include_research(d.pop("include_research", UNSET))
|
|
274
|
+
|
|
275
|
+
single_agent_operation = cls(
|
|
276
|
+
input_=input_,
|
|
277
|
+
task=task,
|
|
278
|
+
session_id=session_id,
|
|
279
|
+
response_schema=response_schema,
|
|
280
|
+
llm=llm,
|
|
281
|
+
effort_level=effort_level,
|
|
282
|
+
return_list=return_list,
|
|
283
|
+
iteration_budget=iteration_budget,
|
|
284
|
+
include_research=include_research,
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
single_agent_operation.additional_properties = d
|
|
288
|
+
return single_agent_operation
|
|
289
|
+
|
|
290
|
+
@property
|
|
291
|
+
def additional_keys(self) -> list[str]:
|
|
292
|
+
return list(self.additional_properties.keys())
|
|
293
|
+
|
|
294
|
+
def __getitem__(self, key: str) -> Any:
|
|
295
|
+
return self.additional_properties[key]
|
|
296
|
+
|
|
297
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
298
|
+
self.additional_properties[key] = value
|
|
299
|
+
|
|
300
|
+
def __delitem__(self, key: str) -> None:
|
|
301
|
+
del self.additional_properties[key]
|
|
302
|
+
|
|
303
|
+
def __contains__(self, key: str) -> bool:
|
|
304
|
+
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="SingleAgentOperationInputType1Item")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class SingleAgentOperationInputType1Item:
|
|
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
|
+
single_agent_operation_input_type_1_item = cls()
|
|
28
|
+
|
|
29
|
+
single_agent_operation_input_type_1_item.additional_properties = d
|
|
30
|
+
return single_agent_operation_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="SingleAgentOperationInputType2")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class SingleAgentOperationInputType2:
|
|
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
|
+
single_agent_operation_input_type_2 = cls()
|
|
28
|
+
|
|
29
|
+
single_agent_operation_input_type_2.additional_properties = d
|
|
30
|
+
return single_agent_operation_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,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="SingleAgentOperationResponseSchemaType0")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class SingleAgentOperationResponseSchemaType0:
|
|
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
|
+
single_agent_operation_response_schema_type_0 = cls()
|
|
28
|
+
|
|
29
|
+
single_agent_operation_response_schema_type_0.additional_properties = d
|
|
30
|
+
return single_agent_operation_response_schema_type_0
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def additional_keys(self) -> list[str]:
|
|
34
|
+
return list(self.additional_properties.keys())
|
|
35
|
+
|
|
36
|
+
def __getitem__(self, key: str) -> Any:
|
|
37
|
+
return self.additional_properties[key]
|
|
38
|
+
|
|
39
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
40
|
+
self.additional_properties[key] = value
|
|
41
|
+
|
|
42
|
+
def __delitem__(self, key: str) -> None:
|
|
43
|
+
del self.additional_properties[key]
|
|
44
|
+
|
|
45
|
+
def __contains__(self, key: str) -> bool:
|
|
46
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,185 @@
|
|
|
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.task_status import TaskStatus
|
|
11
|
+
from ..types import UNSET, Unset
|
|
12
|
+
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
from ..models.task_result_response_data_type_0_item import TaskResultResponseDataType0Item
|
|
15
|
+
from ..models.task_result_response_data_type_1 import TaskResultResponseDataType1
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
T = TypeVar("T", bound="TaskResultResponse")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@_attrs_define
|
|
22
|
+
class TaskResultResponse:
|
|
23
|
+
"""
|
|
24
|
+
Attributes:
|
|
25
|
+
task_id (UUID): The task ID
|
|
26
|
+
status (TaskStatus):
|
|
27
|
+
artifact_id (None | Unset | UUID): Result artifact ID
|
|
28
|
+
data (list[TaskResultResponseDataType0Item] | None | TaskResultResponseDataType1 | Unset): Result data: list of
|
|
29
|
+
records for tables, single record for scalars, null if not completed
|
|
30
|
+
error (None | str | Unset): Error message (if the task failed)
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
task_id: UUID
|
|
34
|
+
status: TaskStatus
|
|
35
|
+
artifact_id: None | Unset | UUID = UNSET
|
|
36
|
+
data: list[TaskResultResponseDataType0Item] | None | TaskResultResponseDataType1 | Unset = UNSET
|
|
37
|
+
error: None | str | Unset = UNSET
|
|
38
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
39
|
+
|
|
40
|
+
def to_dict(self) -> dict[str, Any]:
|
|
41
|
+
from ..models.task_result_response_data_type_1 import TaskResultResponseDataType1
|
|
42
|
+
|
|
43
|
+
task_id = str(self.task_id)
|
|
44
|
+
|
|
45
|
+
status = self.status.value
|
|
46
|
+
|
|
47
|
+
artifact_id: None | str | Unset
|
|
48
|
+
if isinstance(self.artifact_id, Unset):
|
|
49
|
+
artifact_id = UNSET
|
|
50
|
+
elif isinstance(self.artifact_id, UUID):
|
|
51
|
+
artifact_id = str(self.artifact_id)
|
|
52
|
+
else:
|
|
53
|
+
artifact_id = self.artifact_id
|
|
54
|
+
|
|
55
|
+
data: dict[str, Any] | list[dict[str, Any]] | None | Unset
|
|
56
|
+
if isinstance(self.data, Unset):
|
|
57
|
+
data = UNSET
|
|
58
|
+
elif isinstance(self.data, list):
|
|
59
|
+
data = []
|
|
60
|
+
for data_type_0_item_data in self.data:
|
|
61
|
+
data_type_0_item = data_type_0_item_data.to_dict()
|
|
62
|
+
data.append(data_type_0_item)
|
|
63
|
+
|
|
64
|
+
elif isinstance(self.data, TaskResultResponseDataType1):
|
|
65
|
+
data = self.data.to_dict()
|
|
66
|
+
else:
|
|
67
|
+
data = self.data
|
|
68
|
+
|
|
69
|
+
error: None | str | Unset
|
|
70
|
+
if isinstance(self.error, Unset):
|
|
71
|
+
error = UNSET
|
|
72
|
+
else:
|
|
73
|
+
error = self.error
|
|
74
|
+
|
|
75
|
+
field_dict: dict[str, Any] = {}
|
|
76
|
+
field_dict.update(self.additional_properties)
|
|
77
|
+
field_dict.update(
|
|
78
|
+
{
|
|
79
|
+
"task_id": task_id,
|
|
80
|
+
"status": status,
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
if artifact_id is not UNSET:
|
|
84
|
+
field_dict["artifact_id"] = artifact_id
|
|
85
|
+
if data is not UNSET:
|
|
86
|
+
field_dict["data"] = data
|
|
87
|
+
if error is not UNSET:
|
|
88
|
+
field_dict["error"] = error
|
|
89
|
+
|
|
90
|
+
return field_dict
|
|
91
|
+
|
|
92
|
+
@classmethod
|
|
93
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
94
|
+
from ..models.task_result_response_data_type_0_item import TaskResultResponseDataType0Item
|
|
95
|
+
from ..models.task_result_response_data_type_1 import TaskResultResponseDataType1
|
|
96
|
+
|
|
97
|
+
d = dict(src_dict)
|
|
98
|
+
task_id = UUID(d.pop("task_id"))
|
|
99
|
+
|
|
100
|
+
status = TaskStatus(d.pop("status"))
|
|
101
|
+
|
|
102
|
+
def _parse_artifact_id(data: object) -> None | Unset | UUID:
|
|
103
|
+
if data is None:
|
|
104
|
+
return data
|
|
105
|
+
if isinstance(data, Unset):
|
|
106
|
+
return data
|
|
107
|
+
try:
|
|
108
|
+
if not isinstance(data, str):
|
|
109
|
+
raise TypeError()
|
|
110
|
+
artifact_id_type_0 = UUID(data)
|
|
111
|
+
|
|
112
|
+
return artifact_id_type_0
|
|
113
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
114
|
+
pass
|
|
115
|
+
return cast(None | Unset | UUID, data)
|
|
116
|
+
|
|
117
|
+
artifact_id = _parse_artifact_id(d.pop("artifact_id", UNSET))
|
|
118
|
+
|
|
119
|
+
def _parse_data(
|
|
120
|
+
data: object,
|
|
121
|
+
) -> list[TaskResultResponseDataType0Item] | None | TaskResultResponseDataType1 | Unset:
|
|
122
|
+
if data is None:
|
|
123
|
+
return data
|
|
124
|
+
if isinstance(data, Unset):
|
|
125
|
+
return data
|
|
126
|
+
try:
|
|
127
|
+
if not isinstance(data, list):
|
|
128
|
+
raise TypeError()
|
|
129
|
+
data_type_0 = []
|
|
130
|
+
_data_type_0 = data
|
|
131
|
+
for data_type_0_item_data in _data_type_0:
|
|
132
|
+
data_type_0_item = TaskResultResponseDataType0Item.from_dict(data_type_0_item_data)
|
|
133
|
+
|
|
134
|
+
data_type_0.append(data_type_0_item)
|
|
135
|
+
|
|
136
|
+
return data_type_0
|
|
137
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
138
|
+
pass
|
|
139
|
+
try:
|
|
140
|
+
if not isinstance(data, dict):
|
|
141
|
+
raise TypeError()
|
|
142
|
+
data_type_1 = TaskResultResponseDataType1.from_dict(data)
|
|
143
|
+
|
|
144
|
+
return data_type_1
|
|
145
|
+
except (TypeError, ValueError, AttributeError, KeyError):
|
|
146
|
+
pass
|
|
147
|
+
return cast(list[TaskResultResponseDataType0Item] | None | TaskResultResponseDataType1 | Unset, data)
|
|
148
|
+
|
|
149
|
+
data = _parse_data(d.pop("data", UNSET))
|
|
150
|
+
|
|
151
|
+
def _parse_error(data: object) -> None | str | Unset:
|
|
152
|
+
if data is None:
|
|
153
|
+
return data
|
|
154
|
+
if isinstance(data, Unset):
|
|
155
|
+
return data
|
|
156
|
+
return cast(None | str | Unset, data)
|
|
157
|
+
|
|
158
|
+
error = _parse_error(d.pop("error", UNSET))
|
|
159
|
+
|
|
160
|
+
task_result_response = cls(
|
|
161
|
+
task_id=task_id,
|
|
162
|
+
status=status,
|
|
163
|
+
artifact_id=artifact_id,
|
|
164
|
+
data=data,
|
|
165
|
+
error=error,
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
task_result_response.additional_properties = d
|
|
169
|
+
return task_result_response
|
|
170
|
+
|
|
171
|
+
@property
|
|
172
|
+
def additional_keys(self) -> list[str]:
|
|
173
|
+
return list(self.additional_properties.keys())
|
|
174
|
+
|
|
175
|
+
def __getitem__(self, key: str) -> Any:
|
|
176
|
+
return self.additional_properties[key]
|
|
177
|
+
|
|
178
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
179
|
+
self.additional_properties[key] = value
|
|
180
|
+
|
|
181
|
+
def __delitem__(self, key: str) -> None:
|
|
182
|
+
del self.additional_properties[key]
|
|
183
|
+
|
|
184
|
+
def __contains__(self, key: str) -> bool:
|
|
185
|
+
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="TaskResultResponseDataType0Item")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@_attrs_define
|
|
13
|
+
class TaskResultResponseDataType0Item:
|
|
14
|
+
""" """
|
|
15
|
+
|
|
16
|
+
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
17
|
+
|
|
18
|
+
def to_dict(self) -> dict[str, Any]:
|
|
19
|
+
field_dict: dict[str, Any] = {}
|
|
20
|
+
field_dict.update(self.additional_properties)
|
|
21
|
+
|
|
22
|
+
return field_dict
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
|
|
26
|
+
d = dict(src_dict)
|
|
27
|
+
task_result_response_data_type_0_item = cls()
|
|
28
|
+
|
|
29
|
+
task_result_response_data_type_0_item.additional_properties = d
|
|
30
|
+
return task_result_response_data_type_0_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
|