everyrow 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. everyrow/__init__.py +4 -0
  2. everyrow/api_utils.py +45 -0
  3. everyrow/citations.py +46 -0
  4. everyrow/constants.py +4 -0
  5. everyrow/generated/__init__.py +8 -0
  6. everyrow/generated/api/__init__.py +1 -0
  7. everyrow/generated/api/default/__init__.py +1 -0
  8. everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py +208 -0
  9. everyrow/generated/api/default/copy_artifacts_artifacts_copy_post.py +166 -0
  10. everyrow/generated/api/default/copy_workflow_endpoint_workflows_copy_post.py +166 -0
  11. everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py +186 -0
  12. everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py +198 -0
  13. everyrow/generated/api/default/create_workflow_from_artifact_workflows_from_artifact_post.py +174 -0
  14. everyrow/generated/api/default/export_to_google_sheets_export_post.py +168 -0
  15. everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py +186 -0
  16. everyrow/generated/api/default/get_artifacts_artifacts_get.py +260 -0
  17. everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py +165 -0
  18. everyrow/generated/api/default/get_job_progress_for_task_jobs_progress_get.py +167 -0
  19. everyrow/generated/api/default/get_metrics_metrics_get.py +80 -0
  20. everyrow/generated/api/default/get_queues_stats_jobs_queues_get.py +123 -0
  21. everyrow/generated/api/default/get_task_status_endpoint_tasks_task_id_status_get.py +193 -0
  22. everyrow/generated/api/default/get_user_usage_usage_get.py +123 -0
  23. everyrow/generated/api/default/healthz_healthz_get.py +127 -0
  24. everyrow/generated/api/default/import_from_google_sheets_import_post.py +170 -0
  25. everyrow/generated/api/default/interrupt_chat_task_tasks_chat_interrupt_post.py +172 -0
  26. everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py +186 -0
  27. everyrow/generated/api/default/re_execute_task_endpoint_tasks_re_execute_post.py +192 -0
  28. everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py +181 -0
  29. everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py +164 -0
  30. everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py +186 -0
  31. everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py +164 -0
  32. everyrow/generated/api/default/submit_task_tasks_post.py +172 -0
  33. everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py +319 -0
  34. everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py +166 -0
  35. everyrow/generated/api/default/whoami_whoami_get.py +127 -0
  36. everyrow/generated/client.py +268 -0
  37. everyrow/generated/errors.py +16 -0
  38. everyrow/generated/models/__init__.py +281 -0
  39. everyrow/generated/models/agent_improvement_instruction.py +69 -0
  40. everyrow/generated/models/agent_query_params.py +362 -0
  41. everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py +10 -0
  42. everyrow/generated/models/agent_task_args.py +163 -0
  43. everyrow/generated/models/agent_task_args_processing_mode.py +9 -0
  44. everyrow/generated/models/allowed_suggestions.py +8 -0
  45. everyrow/generated/models/api_key_info.py +163 -0
  46. everyrow/generated/models/artifact_changed_payload.py +89 -0
  47. everyrow/generated/models/artifact_group_record.py +330 -0
  48. everyrow/generated/models/artifact_group_record_metadata_type_0.py +46 -0
  49. everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py +46 -0
  50. everyrow/generated/models/artifact_status.py +14 -0
  51. everyrow/generated/models/auto_cohort_conversation_message.py +533 -0
  52. everyrow/generated/models/aux_data.py +128 -0
  53. everyrow/generated/models/aux_data_source_bank.py +59 -0
  54. everyrow/generated/models/chat_completion_message_tool_call.py +46 -0
  55. everyrow/generated/models/chat_message_metadata.py +193 -0
  56. everyrow/generated/models/concatenate_query_params.py +46 -0
  57. everyrow/generated/models/concatenate_request.py +306 -0
  58. everyrow/generated/models/continue_reason.py +9 -0
  59. everyrow/generated/models/continue_task_request.py +133 -0
  60. everyrow/generated/models/controller_improvement_round.py +79 -0
  61. everyrow/generated/models/conversation_changed_payload.py +89 -0
  62. everyrow/generated/models/copy_artifacts_request.py +70 -0
  63. everyrow/generated/models/copy_artifacts_response.py +70 -0
  64. everyrow/generated/models/copy_workflow_request.py +62 -0
  65. everyrow/generated/models/copy_workflow_response.py +70 -0
  66. everyrow/generated/models/create_api_key_request.py +95 -0
  67. everyrow/generated/models/create_api_key_response.py +96 -0
  68. everyrow/generated/models/create_group_query_params.py +61 -0
  69. everyrow/generated/models/create_group_request.py +305 -0
  70. everyrow/generated/models/create_query_params.py +61 -0
  71. everyrow/generated/models/create_request.py +305 -0
  72. everyrow/generated/models/create_session_request.py +62 -0
  73. everyrow/generated/models/create_session_response.py +63 -0
  74. everyrow/generated/models/create_workflow_from_artifact_request.py +92 -0
  75. everyrow/generated/models/create_workflow_from_artifact_response.py +70 -0
  76. everyrow/generated/models/data_frame_method.py +18 -0
  77. everyrow/generated/models/date_cutoffs.py +145 -0
  78. everyrow/generated/models/dedupe_mode.py +9 -0
  79. everyrow/generated/models/dedupe_query_params.py +174 -0
  80. everyrow/generated/models/dedupe_request_params.py +311 -0
  81. everyrow/generated/models/deep_merge_public_params.py +143 -0
  82. everyrow/generated/models/deep_merge_request.py +313 -0
  83. everyrow/generated/models/deep_rank_public_params.py +99 -0
  84. everyrow/generated/models/deep_rank_request.py +313 -0
  85. everyrow/generated/models/deep_screen_public_params.py +122 -0
  86. everyrow/generated/models/deep_screen_request.py +313 -0
  87. everyrow/generated/models/derive_expression.py +69 -0
  88. everyrow/generated/models/derive_query_params.py +75 -0
  89. everyrow/generated/models/derive_request.py +307 -0
  90. everyrow/generated/models/document_query_tool.py +12 -0
  91. everyrow/generated/models/drop_columns_query_params.py +61 -0
  92. everyrow/generated/models/drop_columns_request.py +305 -0
  93. everyrow/generated/models/embedding_models.py +9 -0
  94. everyrow/generated/models/event_type.py +14 -0
  95. everyrow/generated/models/execution_metadata.py +146 -0
  96. everyrow/generated/models/export_request.py +75 -0
  97. everyrow/generated/models/export_request_token_data.py +46 -0
  98. everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py +46 -0
  99. everyrow/generated/models/filter_query_params.py +91 -0
  100. everyrow/generated/models/filter_request.py +305 -0
  101. everyrow/generated/models/flatten_query_params.py +46 -0
  102. everyrow/generated/models/flatten_request.py +305 -0
  103. everyrow/generated/models/generate_feedback_request.py +62 -0
  104. everyrow/generated/models/group_by_query_params.py +62 -0
  105. everyrow/generated/models/group_by_request.py +305 -0
  106. everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py +46 -0
  107. everyrow/generated/models/http_validation_error.py +79 -0
  108. everyrow/generated/models/image_chat_content_part.py +80 -0
  109. everyrow/generated/models/image_chat_content_part_image_url.py +46 -0
  110. everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py +46 -0
  111. everyrow/generated/models/import_request.py +83 -0
  112. everyrow/generated/models/import_request_token_data.py +46 -0
  113. everyrow/generated/models/insufficient_balance_error.py +81 -0
  114. everyrow/generated/models/join_query_params.py +73 -0
  115. everyrow/generated/models/join_request.py +305 -0
  116. everyrow/generated/models/llm_enum.py +54 -0
  117. everyrow/generated/models/map_agent_request_params.py +313 -0
  118. everyrow/generated/models/map_multi_agent_request_params.py +313 -0
  119. everyrow/generated/models/message_created_payload.py +98 -0
  120. everyrow/generated/models/multi_agent_effort_level.py +10 -0
  121. everyrow/generated/models/multi_agent_query_params.py +264 -0
  122. everyrow/generated/models/multi_modal_chat_message.py +160 -0
  123. everyrow/generated/models/multi_modal_chat_message_role.py +10 -0
  124. everyrow/generated/models/preview_metadata.py +144 -0
  125. everyrow/generated/models/processing_mode.py +10 -0
  126. everyrow/generated/models/progress_status.py +83 -0
  127. everyrow/generated/models/queue_stats.py +77 -0
  128. everyrow/generated/models/reduce_agent_request_params.py +305 -0
  129. everyrow/generated/models/reduce_multi_agent_request_params.py +305 -0
  130. everyrow/generated/models/resource_estimation_response.py +85 -0
  131. everyrow/generated/models/response_schema_type.py +9 -0
  132. everyrow/generated/models/revoke_api_key_response.py +61 -0
  133. everyrow/generated/models/rollback_to_message_request.py +62 -0
  134. everyrow/generated/models/rollback_to_message_response.py +77 -0
  135. everyrow/generated/models/session_changed_payload.py +69 -0
  136. everyrow/generated/models/simple_chat_message.py +121 -0
  137. everyrow/generated/models/simple_chat_message_role.py +10 -0
  138. everyrow/generated/models/simple_chat_message_with_tool_calls.py +156 -0
  139. everyrow/generated/models/source_database_entry.py +92 -0
  140. everyrow/generated/models/standalone_artifact_record.py +278 -0
  141. everyrow/generated/models/standalone_artifact_record_metadata_type_0.py +46 -0
  142. everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py +46 -0
  143. everyrow/generated/models/status_count.py +71 -0
  144. everyrow/generated/models/status_count_status.py +13 -0
  145. everyrow/generated/models/submit_chat_task_body.py +497 -0
  146. everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py +11 -0
  147. everyrow/generated/models/submit_task_body.py +745 -0
  148. everyrow/generated/models/task_changed_payload.py +105 -0
  149. everyrow/generated/models/task_effort.py +10 -0
  150. everyrow/generated/models/task_id_request.py +62 -0
  151. everyrow/generated/models/task_insert.py +725 -0
  152. everyrow/generated/models/task_insert_query_params.py +46 -0
  153. everyrow/generated/models/task_metadata.py +323 -0
  154. everyrow/generated/models/task_metadata_cols_to_rename_type_0.py +46 -0
  155. everyrow/generated/models/task_response.py +62 -0
  156. everyrow/generated/models/task_status.py +12 -0
  157. everyrow/generated/models/task_status_response.py +112 -0
  158. everyrow/generated/models/task_type.py +31 -0
  159. everyrow/generated/models/text_chat_content_part.py +74 -0
  160. everyrow/generated/models/tool_response_message.py +127 -0
  161. everyrow/generated/models/toolkit_constants.py +80 -0
  162. everyrow/generated/models/trace_changed_payload.py +94 -0
  163. everyrow/generated/models/trace_info.py +78 -0
  164. everyrow/generated/models/trigger_workflow_execution_request.py +112 -0
  165. everyrow/generated/models/trigger_workflow_execution_request_task_params.py +65 -0
  166. everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py +46 -0
  167. everyrow/generated/models/trigger_workflow_execution_response.py +69 -0
  168. everyrow/generated/models/upload_csv_payload.py +310 -0
  169. everyrow/generated/models/upload_csv_query_params.py +114 -0
  170. everyrow/generated/models/usage_response.py +77 -0
  171. everyrow/generated/models/validation_error.py +90 -0
  172. everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py +46 -0
  173. everyrow/generated/models/workflow_leaf_node_input.py +70 -0
  174. everyrow/generated/py.typed +1 -0
  175. everyrow/generated/types.py +54 -0
  176. everyrow/ops.py +672 -0
  177. everyrow/result.py +25 -0
  178. everyrow/session.py +53 -0
  179. everyrow/task.py +143 -0
  180. everyrow-0.1.0.dist-info/METADATA +238 -0
  181. everyrow-0.1.0.dist-info/RECORD +183 -0
  182. everyrow-0.1.0.dist-info/WHEEL +4 -0
  183. everyrow-0.1.0.dist-info/licenses/LICENSE.txt +21 -0
@@ -0,0 +1,121 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, Literal, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..models.simple_chat_message_role import SimpleChatMessageRole
10
+ from ..types import UNSET, Unset
11
+
12
+ T = TypeVar("T", bound="SimpleChatMessage")
13
+
14
+
15
+ @_attrs_define
16
+ class SimpleChatMessage:
17
+ """
18
+ Attributes:
19
+ content (str):
20
+ role (SimpleChatMessageRole):
21
+ message_type (Literal['simple'] | Unset): Default: 'simple'.
22
+ completion_tokens (int | None | Unset):
23
+ cacheable (bool | Unset): Default: False.
24
+ explicit_cache_breakpoint (bool | Unset): Default: False.
25
+ """
26
+
27
+ content: str
28
+ role: SimpleChatMessageRole
29
+ message_type: Literal["simple"] | Unset = "simple"
30
+ completion_tokens: int | None | Unset = UNSET
31
+ cacheable: bool | Unset = False
32
+ explicit_cache_breakpoint: bool | Unset = False
33
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
34
+
35
+ def to_dict(self) -> dict[str, Any]:
36
+ content = self.content
37
+
38
+ role = self.role.value
39
+
40
+ message_type = self.message_type
41
+
42
+ completion_tokens: int | None | Unset
43
+ if isinstance(self.completion_tokens, Unset):
44
+ completion_tokens = UNSET
45
+ else:
46
+ completion_tokens = self.completion_tokens
47
+
48
+ cacheable = self.cacheable
49
+
50
+ explicit_cache_breakpoint = self.explicit_cache_breakpoint
51
+
52
+ field_dict: dict[str, Any] = {}
53
+ field_dict.update(self.additional_properties)
54
+ field_dict.update(
55
+ {
56
+ "content": content,
57
+ "role": role,
58
+ }
59
+ )
60
+ if message_type is not UNSET:
61
+ field_dict["message_type"] = message_type
62
+ if completion_tokens is not UNSET:
63
+ field_dict["completion_tokens"] = completion_tokens
64
+ if cacheable is not UNSET:
65
+ field_dict["cacheable"] = cacheable
66
+ if explicit_cache_breakpoint is not UNSET:
67
+ field_dict["explicit_cache_breakpoint"] = explicit_cache_breakpoint
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
+ content = d.pop("content")
75
+
76
+ role = SimpleChatMessageRole(d.pop("role"))
77
+
78
+ message_type = cast(Literal["simple"] | Unset, d.pop("message_type", UNSET))
79
+ if message_type != "simple" and not isinstance(message_type, Unset):
80
+ raise ValueError(f"message_type must match const 'simple', got '{message_type}'")
81
+
82
+ def _parse_completion_tokens(data: object) -> int | None | Unset:
83
+ if data is None:
84
+ return data
85
+ if isinstance(data, Unset):
86
+ return data
87
+ return cast(int | None | Unset, data)
88
+
89
+ completion_tokens = _parse_completion_tokens(d.pop("completion_tokens", UNSET))
90
+
91
+ cacheable = d.pop("cacheable", UNSET)
92
+
93
+ explicit_cache_breakpoint = d.pop("explicit_cache_breakpoint", UNSET)
94
+
95
+ simple_chat_message = cls(
96
+ content=content,
97
+ role=role,
98
+ message_type=message_type,
99
+ completion_tokens=completion_tokens,
100
+ cacheable=cacheable,
101
+ explicit_cache_breakpoint=explicit_cache_breakpoint,
102
+ )
103
+
104
+ simple_chat_message.additional_properties = d
105
+ return simple_chat_message
106
+
107
+ @property
108
+ def additional_keys(self) -> list[str]:
109
+ return list(self.additional_properties.keys())
110
+
111
+ def __getitem__(self, key: str) -> Any:
112
+ return self.additional_properties[key]
113
+
114
+ def __setitem__(self, key: str, value: Any) -> None:
115
+ self.additional_properties[key] = value
116
+
117
+ def __delitem__(self, key: str) -> None:
118
+ del self.additional_properties[key]
119
+
120
+ def __contains__(self, key: str) -> bool:
121
+ return key in self.additional_properties
@@ -0,0 +1,10 @@
1
+ from enum import Enum
2
+
3
+
4
+ class SimpleChatMessageRole(str, Enum):
5
+ ASSISTANT = "assistant"
6
+ SYSTEM = "system"
7
+ USER = "user"
8
+
9
+ def __str__(self) -> str:
10
+ return str(self.value)
@@ -0,0 +1,156 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, Literal, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ if TYPE_CHECKING:
12
+ from ..models.chat_completion_message_tool_call import ChatCompletionMessageToolCall
13
+
14
+
15
+ T = TypeVar("T", bound="SimpleChatMessageWithToolCalls")
16
+
17
+
18
+ @_attrs_define
19
+ class SimpleChatMessageWithToolCalls:
20
+ """
21
+ Attributes:
22
+ role (Literal['assistant']):
23
+ tool_calls (list[ChatCompletionMessageToolCall]):
24
+ message_type (Literal['simple_with_tool_calls'] | Unset): Default: 'simple_with_tool_calls'.
25
+ content (None | str | Unset):
26
+ completion_tokens (int | None | Unset):
27
+ cacheable (bool | Unset): Default: False.
28
+ explicit_cache_breakpoint (bool | Unset): Default: False.
29
+ """
30
+
31
+ role: Literal["assistant"]
32
+ tool_calls: list[ChatCompletionMessageToolCall]
33
+ message_type: Literal["simple_with_tool_calls"] | Unset = "simple_with_tool_calls"
34
+ content: None | str | Unset = UNSET
35
+ completion_tokens: int | None | Unset = UNSET
36
+ cacheable: bool | Unset = False
37
+ explicit_cache_breakpoint: bool | Unset = False
38
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
39
+
40
+ def to_dict(self) -> dict[str, Any]:
41
+ role = self.role
42
+
43
+ tool_calls = []
44
+ for tool_calls_item_data in self.tool_calls:
45
+ tool_calls_item = tool_calls_item_data.to_dict()
46
+ tool_calls.append(tool_calls_item)
47
+
48
+ message_type = self.message_type
49
+
50
+ content: None | str | Unset
51
+ if isinstance(self.content, Unset):
52
+ content = UNSET
53
+ else:
54
+ content = self.content
55
+
56
+ completion_tokens: int | None | Unset
57
+ if isinstance(self.completion_tokens, Unset):
58
+ completion_tokens = UNSET
59
+ else:
60
+ completion_tokens = self.completion_tokens
61
+
62
+ cacheable = self.cacheable
63
+
64
+ explicit_cache_breakpoint = self.explicit_cache_breakpoint
65
+
66
+ field_dict: dict[str, Any] = {}
67
+ field_dict.update(self.additional_properties)
68
+ field_dict.update(
69
+ {
70
+ "role": role,
71
+ "tool_calls": tool_calls,
72
+ }
73
+ )
74
+ if message_type is not UNSET:
75
+ field_dict["message_type"] = message_type
76
+ if content is not UNSET:
77
+ field_dict["content"] = content
78
+ if completion_tokens is not UNSET:
79
+ field_dict["completion_tokens"] = completion_tokens
80
+ if cacheable is not UNSET:
81
+ field_dict["cacheable"] = cacheable
82
+ if explicit_cache_breakpoint is not UNSET:
83
+ field_dict["explicit_cache_breakpoint"] = explicit_cache_breakpoint
84
+
85
+ return field_dict
86
+
87
+ @classmethod
88
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
89
+ from ..models.chat_completion_message_tool_call import ChatCompletionMessageToolCall
90
+
91
+ d = dict(src_dict)
92
+ role = cast(Literal["assistant"], d.pop("role"))
93
+ if role != "assistant":
94
+ raise ValueError(f"role must match const 'assistant', got '{role}'")
95
+
96
+ tool_calls = []
97
+ _tool_calls = d.pop("tool_calls")
98
+ for tool_calls_item_data in _tool_calls:
99
+ tool_calls_item = ChatCompletionMessageToolCall.from_dict(tool_calls_item_data)
100
+
101
+ tool_calls.append(tool_calls_item)
102
+
103
+ message_type = cast(Literal["simple_with_tool_calls"] | Unset, d.pop("message_type", UNSET))
104
+ if message_type != "simple_with_tool_calls" and not isinstance(message_type, Unset):
105
+ raise ValueError(f"message_type must match const 'simple_with_tool_calls', got '{message_type}'")
106
+
107
+ def _parse_content(data: object) -> None | str | Unset:
108
+ if data is None:
109
+ return data
110
+ if isinstance(data, Unset):
111
+ return data
112
+ return cast(None | str | Unset, data)
113
+
114
+ content = _parse_content(d.pop("content", UNSET))
115
+
116
+ def _parse_completion_tokens(data: object) -> int | None | Unset:
117
+ if data is None:
118
+ return data
119
+ if isinstance(data, Unset):
120
+ return data
121
+ return cast(int | None | Unset, data)
122
+
123
+ completion_tokens = _parse_completion_tokens(d.pop("completion_tokens", UNSET))
124
+
125
+ cacheable = d.pop("cacheable", UNSET)
126
+
127
+ explicit_cache_breakpoint = d.pop("explicit_cache_breakpoint", UNSET)
128
+
129
+ simple_chat_message_with_tool_calls = cls(
130
+ role=role,
131
+ tool_calls=tool_calls,
132
+ message_type=message_type,
133
+ content=content,
134
+ completion_tokens=completion_tokens,
135
+ cacheable=cacheable,
136
+ explicit_cache_breakpoint=explicit_cache_breakpoint,
137
+ )
138
+
139
+ simple_chat_message_with_tool_calls.additional_properties = d
140
+ return simple_chat_message_with_tool_calls
141
+
142
+ @property
143
+ def additional_keys(self) -> list[str]:
144
+ return list(self.additional_properties.keys())
145
+
146
+ def __getitem__(self, key: str) -> Any:
147
+ return self.additional_properties[key]
148
+
149
+ def __setitem__(self, key: str, value: Any) -> None:
150
+ self.additional_properties[key] = value
151
+
152
+ def __delitem__(self, key: str) -> None:
153
+ del self.additional_properties[key]
154
+
155
+ def __contains__(self, key: str) -> bool:
156
+ return key in self.additional_properties
@@ -0,0 +1,92 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar, cast
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ T = TypeVar("T", bound="SourceDatabaseEntry")
12
+
13
+
14
+ @_attrs_define
15
+ class SourceDatabaseEntry:
16
+ """Simplified version of toolkit.agents.source_bank.SourceBase for the database.
17
+
18
+ Attributes:
19
+ url (str):
20
+ content_summary (str):
21
+ title (None | str | Unset):
22
+ """
23
+
24
+ url: str
25
+ content_summary: str
26
+ title: None | str | Unset = UNSET
27
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> dict[str, Any]:
30
+ url = self.url
31
+
32
+ content_summary = self.content_summary
33
+
34
+ title: None | str | Unset
35
+ if isinstance(self.title, Unset):
36
+ title = UNSET
37
+ else:
38
+ title = self.title
39
+
40
+ field_dict: dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "url": url,
45
+ "content_summary": content_summary,
46
+ }
47
+ )
48
+ if title is not UNSET:
49
+ field_dict["title"] = title
50
+
51
+ return field_dict
52
+
53
+ @classmethod
54
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
55
+ d = dict(src_dict)
56
+ url = d.pop("url")
57
+
58
+ content_summary = d.pop("content_summary")
59
+
60
+ def _parse_title(data: object) -> None | str | Unset:
61
+ if data is None:
62
+ return data
63
+ if isinstance(data, Unset):
64
+ return data
65
+ return cast(None | str | Unset, data)
66
+
67
+ title = _parse_title(d.pop("title", UNSET))
68
+
69
+ source_database_entry = cls(
70
+ url=url,
71
+ content_summary=content_summary,
72
+ title=title,
73
+ )
74
+
75
+ source_database_entry.additional_properties = d
76
+ return source_database_entry
77
+
78
+ @property
79
+ def additional_keys(self) -> list[str]:
80
+ return list(self.additional_properties.keys())
81
+
82
+ def __getitem__(self, key: str) -> Any:
83
+ return self.additional_properties[key]
84
+
85
+ def __setitem__(self, key: str, value: Any) -> None:
86
+ self.additional_properties[key] = value
87
+
88
+ def __delitem__(self, key: str) -> None:
89
+ del self.additional_properties[key]
90
+
91
+ def __contains__(self, key: str) -> bool:
92
+ return key in self.additional_properties
@@ -0,0 +1,278 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, Literal, 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.artifact_status import ArtifactStatus
11
+ from ..types import UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from ..models.aux_data import AuxData
15
+ from ..models.standalone_artifact_record_metadata_type_0 import StandaloneArtifactRecordMetadataType0
16
+ from ..models.standalone_artifact_record_trace_mapping_type_0 import StandaloneArtifactRecordTraceMappingType0
17
+
18
+
19
+ T = TypeVar("T", bound="StandaloneArtifactRecord")
20
+
21
+
22
+ @_attrs_define
23
+ class StandaloneArtifactRecord:
24
+ """
25
+ Attributes:
26
+ uid (UUID):
27
+ type_ (Literal['standalone']):
28
+ data (Any):
29
+ metadata (None | StandaloneArtifactRecordMetadataType0 | Unset):
30
+ label (None | str | Unset):
31
+ aux_data (AuxData | Unset):
32
+ status (ArtifactStatus | Unset):
33
+ trace_mapping (None | StandaloneArtifactRecordTraceMappingType0 | Unset):
34
+ original_id (None | Unset | UUID):
35
+ index_in_group (int | None | Unset):
36
+ current_iteration (int | None | Unset):
37
+ """
38
+
39
+ uid: UUID
40
+ type_: Literal["standalone"]
41
+ data: Any
42
+ metadata: None | StandaloneArtifactRecordMetadataType0 | Unset = UNSET
43
+ label: None | str | Unset = UNSET
44
+ aux_data: AuxData | Unset = UNSET
45
+ status: ArtifactStatus | Unset = UNSET
46
+ trace_mapping: None | StandaloneArtifactRecordTraceMappingType0 | Unset = UNSET
47
+ original_id: None | Unset | UUID = UNSET
48
+ index_in_group: int | None | Unset = UNSET
49
+ current_iteration: int | None | Unset = UNSET
50
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
51
+
52
+ def to_dict(self) -> dict[str, Any]:
53
+ from ..models.standalone_artifact_record_metadata_type_0 import StandaloneArtifactRecordMetadataType0
54
+ from ..models.standalone_artifact_record_trace_mapping_type_0 import StandaloneArtifactRecordTraceMappingType0
55
+
56
+ uid = str(self.uid)
57
+
58
+ type_ = self.type_
59
+
60
+ data = self.data
61
+
62
+ metadata: dict[str, Any] | None | Unset
63
+ if isinstance(self.metadata, Unset):
64
+ metadata = UNSET
65
+ elif isinstance(self.metadata, StandaloneArtifactRecordMetadataType0):
66
+ metadata = self.metadata.to_dict()
67
+ else:
68
+ metadata = self.metadata
69
+
70
+ label: None | str | Unset
71
+ if isinstance(self.label, Unset):
72
+ label = UNSET
73
+ else:
74
+ label = self.label
75
+
76
+ aux_data: dict[str, Any] | Unset = UNSET
77
+ if not isinstance(self.aux_data, Unset):
78
+ aux_data = self.aux_data.to_dict()
79
+
80
+ status: str | Unset = UNSET
81
+ if not isinstance(self.status, Unset):
82
+ status = self.status.value
83
+
84
+ trace_mapping: dict[str, Any] | None | Unset
85
+ if isinstance(self.trace_mapping, Unset):
86
+ trace_mapping = UNSET
87
+ elif isinstance(self.trace_mapping, StandaloneArtifactRecordTraceMappingType0):
88
+ trace_mapping = self.trace_mapping.to_dict()
89
+ else:
90
+ trace_mapping = self.trace_mapping
91
+
92
+ original_id: None | str | Unset
93
+ if isinstance(self.original_id, Unset):
94
+ original_id = UNSET
95
+ elif isinstance(self.original_id, UUID):
96
+ original_id = str(self.original_id)
97
+ else:
98
+ original_id = self.original_id
99
+
100
+ index_in_group: int | None | Unset
101
+ if isinstance(self.index_in_group, Unset):
102
+ index_in_group = UNSET
103
+ else:
104
+ index_in_group = self.index_in_group
105
+
106
+ current_iteration: int | None | Unset
107
+ if isinstance(self.current_iteration, Unset):
108
+ current_iteration = UNSET
109
+ else:
110
+ current_iteration = self.current_iteration
111
+
112
+ field_dict: dict[str, Any] = {}
113
+ field_dict.update(self.additional_properties)
114
+ field_dict.update(
115
+ {
116
+ "uid": uid,
117
+ "type": type_,
118
+ "data": data,
119
+ }
120
+ )
121
+ if metadata is not UNSET:
122
+ field_dict["metadata"] = metadata
123
+ if label is not UNSET:
124
+ field_dict["label"] = label
125
+ if aux_data is not UNSET:
126
+ field_dict["aux_data"] = aux_data
127
+ if status is not UNSET:
128
+ field_dict["status"] = status
129
+ if trace_mapping is not UNSET:
130
+ field_dict["trace_mapping"] = trace_mapping
131
+ if original_id is not UNSET:
132
+ field_dict["original_id"] = original_id
133
+ if index_in_group is not UNSET:
134
+ field_dict["index_in_group"] = index_in_group
135
+ if current_iteration is not UNSET:
136
+ field_dict["current_iteration"] = current_iteration
137
+
138
+ return field_dict
139
+
140
+ @classmethod
141
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
142
+ from ..models.aux_data import AuxData
143
+ from ..models.standalone_artifact_record_metadata_type_0 import StandaloneArtifactRecordMetadataType0
144
+ from ..models.standalone_artifact_record_trace_mapping_type_0 import StandaloneArtifactRecordTraceMappingType0
145
+
146
+ d = dict(src_dict)
147
+ uid = UUID(d.pop("uid"))
148
+
149
+ type_ = cast(Literal["standalone"], d.pop("type"))
150
+ if type_ != "standalone":
151
+ raise ValueError(f"type must match const 'standalone', got '{type_}'")
152
+
153
+ data = d.pop("data")
154
+
155
+ def _parse_metadata(data: object) -> None | StandaloneArtifactRecordMetadataType0 | Unset:
156
+ if data is None:
157
+ return data
158
+ if isinstance(data, Unset):
159
+ return data
160
+ try:
161
+ if not isinstance(data, dict):
162
+ raise TypeError()
163
+ metadata_type_0 = StandaloneArtifactRecordMetadataType0.from_dict(data)
164
+
165
+ return metadata_type_0
166
+ except (TypeError, ValueError, AttributeError, KeyError):
167
+ pass
168
+ return cast(None | StandaloneArtifactRecordMetadataType0 | Unset, data)
169
+
170
+ metadata = _parse_metadata(d.pop("metadata", UNSET))
171
+
172
+ def _parse_label(data: object) -> None | str | Unset:
173
+ if data is None:
174
+ return data
175
+ if isinstance(data, Unset):
176
+ return data
177
+ return cast(None | str | Unset, data)
178
+
179
+ label = _parse_label(d.pop("label", UNSET))
180
+
181
+ _aux_data = d.pop("aux_data", UNSET)
182
+ aux_data: AuxData | Unset
183
+ if isinstance(_aux_data, Unset):
184
+ aux_data = UNSET
185
+ else:
186
+ aux_data = AuxData.from_dict(_aux_data)
187
+
188
+ _status = d.pop("status", UNSET)
189
+ status: ArtifactStatus | Unset
190
+ if isinstance(_status, Unset):
191
+ status = UNSET
192
+ else:
193
+ status = ArtifactStatus(_status)
194
+
195
+ def _parse_trace_mapping(data: object) -> None | StandaloneArtifactRecordTraceMappingType0 | Unset:
196
+ if data is None:
197
+ return data
198
+ if isinstance(data, Unset):
199
+ return data
200
+ try:
201
+ if not isinstance(data, dict):
202
+ raise TypeError()
203
+ trace_mapping_type_0 = StandaloneArtifactRecordTraceMappingType0.from_dict(data)
204
+
205
+ return trace_mapping_type_0
206
+ except (TypeError, ValueError, AttributeError, KeyError):
207
+ pass
208
+ return cast(None | StandaloneArtifactRecordTraceMappingType0 | Unset, data)
209
+
210
+ trace_mapping = _parse_trace_mapping(d.pop("trace_mapping", UNSET))
211
+
212
+ def _parse_original_id(data: object) -> None | Unset | UUID:
213
+ if data is None:
214
+ return data
215
+ if isinstance(data, Unset):
216
+ return data
217
+ try:
218
+ if not isinstance(data, str):
219
+ raise TypeError()
220
+ original_id_type_0 = UUID(data)
221
+
222
+ return original_id_type_0
223
+ except (TypeError, ValueError, AttributeError, KeyError):
224
+ pass
225
+ return cast(None | Unset | UUID, data)
226
+
227
+ original_id = _parse_original_id(d.pop("original_id", UNSET))
228
+
229
+ def _parse_index_in_group(data: object) -> int | None | Unset:
230
+ if data is None:
231
+ return data
232
+ if isinstance(data, Unset):
233
+ return data
234
+ return cast(int | None | Unset, data)
235
+
236
+ index_in_group = _parse_index_in_group(d.pop("index_in_group", UNSET))
237
+
238
+ def _parse_current_iteration(data: object) -> int | None | Unset:
239
+ if data is None:
240
+ return data
241
+ if isinstance(data, Unset):
242
+ return data
243
+ return cast(int | None | Unset, data)
244
+
245
+ current_iteration = _parse_current_iteration(d.pop("current_iteration", UNSET))
246
+
247
+ standalone_artifact_record = cls(
248
+ uid=uid,
249
+ type_=type_,
250
+ data=data,
251
+ metadata=metadata,
252
+ label=label,
253
+ aux_data=aux_data,
254
+ status=status,
255
+ trace_mapping=trace_mapping,
256
+ original_id=original_id,
257
+ index_in_group=index_in_group,
258
+ current_iteration=current_iteration,
259
+ )
260
+
261
+ standalone_artifact_record.additional_properties = d
262
+ return standalone_artifact_record
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="StandaloneArtifactRecordMetadataType0")
10
+
11
+
12
+ @_attrs_define
13
+ class StandaloneArtifactRecordMetadataType0:
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
+ standalone_artifact_record_metadata_type_0 = cls()
28
+
29
+ standalone_artifact_record_metadata_type_0.additional_properties = d
30
+ return standalone_artifact_record_metadata_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