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,168 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.export_request import ExportRequest
9
+ from ...models.export_to_google_sheets_export_post_response_export_to_google_sheets_export_post import (
10
+ ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost,
11
+ )
12
+ from ...models.http_validation_error import HTTPValidationError
13
+ from ...types import Response
14
+
15
+
16
+ def _get_kwargs(
17
+ *,
18
+ body: ExportRequest,
19
+ ) -> dict[str, Any]:
20
+ headers: dict[str, Any] = {}
21
+
22
+ _kwargs: dict[str, Any] = {
23
+ "method": "post",
24
+ "url": "/export",
25
+ }
26
+
27
+ _kwargs["json"] = body.to_dict()
28
+
29
+ headers["Content-Type"] = "application/json"
30
+
31
+ _kwargs["headers"] = headers
32
+ return _kwargs
33
+
34
+
35
+ def _parse_response(
36
+ *, client: AuthenticatedClient | Client, response: httpx.Response
37
+ ) -> ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError | None:
38
+ if response.status_code == 200:
39
+ response_200 = ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost.from_dict(response.json())
40
+
41
+ return response_200
42
+
43
+ if response.status_code == 422:
44
+ response_422 = HTTPValidationError.from_dict(response.json())
45
+
46
+ return response_422
47
+
48
+ if client.raise_on_unexpected_status:
49
+ raise errors.UnexpectedStatus(response.status_code, response.content)
50
+ else:
51
+ return None
52
+
53
+
54
+ def _build_response(
55
+ *, client: AuthenticatedClient | Client, response: httpx.Response
56
+ ) -> Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]:
57
+ return Response(
58
+ status_code=HTTPStatus(response.status_code),
59
+ content=response.content,
60
+ headers=response.headers,
61
+ parsed=_parse_response(client=client, response=response),
62
+ )
63
+
64
+
65
+ def sync_detailed(
66
+ *,
67
+ client: AuthenticatedClient,
68
+ body: ExportRequest,
69
+ ) -> Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]:
70
+ """Export To Google Sheets
71
+
72
+ Args:
73
+ body (ExportRequest):
74
+
75
+ Raises:
76
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
77
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
78
+
79
+ Returns:
80
+ Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]
81
+ """
82
+
83
+ kwargs = _get_kwargs(
84
+ body=body,
85
+ )
86
+
87
+ response = client.get_httpx_client().request(
88
+ **kwargs,
89
+ )
90
+
91
+ return _build_response(client=client, response=response)
92
+
93
+
94
+ def sync(
95
+ *,
96
+ client: AuthenticatedClient,
97
+ body: ExportRequest,
98
+ ) -> ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError | None:
99
+ """Export To Google Sheets
100
+
101
+ Args:
102
+ body (ExportRequest):
103
+
104
+ Raises:
105
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
106
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
107
+
108
+ Returns:
109
+ ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError
110
+ """
111
+
112
+ return sync_detailed(
113
+ client=client,
114
+ body=body,
115
+ ).parsed
116
+
117
+
118
+ async def asyncio_detailed(
119
+ *,
120
+ client: AuthenticatedClient,
121
+ body: ExportRequest,
122
+ ) -> Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]:
123
+ """Export To Google Sheets
124
+
125
+ Args:
126
+ body (ExportRequest):
127
+
128
+ Raises:
129
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
130
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
131
+
132
+ Returns:
133
+ Response[ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError]
134
+ """
135
+
136
+ kwargs = _get_kwargs(
137
+ body=body,
138
+ )
139
+
140
+ response = await client.get_async_httpx_client().request(**kwargs)
141
+
142
+ return _build_response(client=client, response=response)
143
+
144
+
145
+ async def asyncio(
146
+ *,
147
+ client: AuthenticatedClient,
148
+ body: ExportRequest,
149
+ ) -> ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError | None:
150
+ """Export To Google Sheets
151
+
152
+ Args:
153
+ body (ExportRequest):
154
+
155
+ Raises:
156
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
157
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
158
+
159
+ Returns:
160
+ ExportToGoogleSheetsExportPostResponseExportToGoogleSheetsExportPost | HTTPValidationError
161
+ """
162
+
163
+ return (
164
+ await asyncio_detailed(
165
+ client=client,
166
+ body=body,
167
+ )
168
+ ).parsed
@@ -0,0 +1,186 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.controller_improvement_round import ControllerImprovementRound
9
+ from ...models.generate_feedback_request import GenerateFeedbackRequest
10
+ from ...models.http_validation_error import HTTPValidationError
11
+ from ...types import Response
12
+
13
+
14
+ def _get_kwargs(
15
+ *,
16
+ body: GenerateFeedbackRequest,
17
+ ) -> dict[str, Any]:
18
+ headers: dict[str, Any] = {}
19
+
20
+ _kwargs: dict[str, Any] = {
21
+ "method": "post",
22
+ "url": "/tasks/generate_feedback",
23
+ }
24
+
25
+ _kwargs["json"] = body.to_dict()
26
+
27
+ headers["Content-Type"] = "application/json"
28
+
29
+ _kwargs["headers"] = headers
30
+ return _kwargs
31
+
32
+
33
+ def _parse_response(
34
+ *, client: AuthenticatedClient | Client, response: httpx.Response
35
+ ) -> ControllerImprovementRound | HTTPValidationError | None:
36
+ if response.status_code == 200:
37
+ response_200 = ControllerImprovementRound.from_dict(response.json())
38
+
39
+ return response_200
40
+
41
+ if response.status_code == 422:
42
+ response_422 = HTTPValidationError.from_dict(response.json())
43
+
44
+ return response_422
45
+
46
+ if client.raise_on_unexpected_status:
47
+ raise errors.UnexpectedStatus(response.status_code, response.content)
48
+ else:
49
+ return None
50
+
51
+
52
+ def _build_response(
53
+ *, client: AuthenticatedClient | Client, response: httpx.Response
54
+ ) -> Response[ControllerImprovementRound | HTTPValidationError]:
55
+ return Response(
56
+ status_code=HTTPStatus(response.status_code),
57
+ content=response.content,
58
+ headers=response.headers,
59
+ parsed=_parse_response(client=client, response=response),
60
+ )
61
+
62
+
63
+ def sync_detailed(
64
+ *,
65
+ client: AuthenticatedClient,
66
+ body: GenerateFeedbackRequest,
67
+ ) -> Response[ControllerImprovementRound | HTTPValidationError]:
68
+ """Generate Feedback Endpoint
69
+
70
+ Generate controller feedback for a completed MAP task.
71
+
72
+ This endpoint invokes a Celery task that calls generate_feedback_for_map_task
73
+ with the provided task_id and default values for other parameters.
74
+
75
+ Args:
76
+ body (GenerateFeedbackRequest):
77
+
78
+ Raises:
79
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
80
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
81
+
82
+ Returns:
83
+ Response[ControllerImprovementRound | HTTPValidationError]
84
+ """
85
+
86
+ kwargs = _get_kwargs(
87
+ body=body,
88
+ )
89
+
90
+ response = client.get_httpx_client().request(
91
+ **kwargs,
92
+ )
93
+
94
+ return _build_response(client=client, response=response)
95
+
96
+
97
+ def sync(
98
+ *,
99
+ client: AuthenticatedClient,
100
+ body: GenerateFeedbackRequest,
101
+ ) -> ControllerImprovementRound | HTTPValidationError | None:
102
+ """Generate Feedback Endpoint
103
+
104
+ Generate controller feedback for a completed MAP task.
105
+
106
+ This endpoint invokes a Celery task that calls generate_feedback_for_map_task
107
+ with the provided task_id and default values for other parameters.
108
+
109
+ Args:
110
+ body (GenerateFeedbackRequest):
111
+
112
+ Raises:
113
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
114
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
115
+
116
+ Returns:
117
+ ControllerImprovementRound | HTTPValidationError
118
+ """
119
+
120
+ return sync_detailed(
121
+ client=client,
122
+ body=body,
123
+ ).parsed
124
+
125
+
126
+ async def asyncio_detailed(
127
+ *,
128
+ client: AuthenticatedClient,
129
+ body: GenerateFeedbackRequest,
130
+ ) -> Response[ControllerImprovementRound | HTTPValidationError]:
131
+ """Generate Feedback Endpoint
132
+
133
+ Generate controller feedback for a completed MAP task.
134
+
135
+ This endpoint invokes a Celery task that calls generate_feedback_for_map_task
136
+ with the provided task_id and default values for other parameters.
137
+
138
+ Args:
139
+ body (GenerateFeedbackRequest):
140
+
141
+ Raises:
142
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
143
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
144
+
145
+ Returns:
146
+ Response[ControllerImprovementRound | HTTPValidationError]
147
+ """
148
+
149
+ kwargs = _get_kwargs(
150
+ body=body,
151
+ )
152
+
153
+ response = await client.get_async_httpx_client().request(**kwargs)
154
+
155
+ return _build_response(client=client, response=response)
156
+
157
+
158
+ async def asyncio(
159
+ *,
160
+ client: AuthenticatedClient,
161
+ body: GenerateFeedbackRequest,
162
+ ) -> ControllerImprovementRound | HTTPValidationError | None:
163
+ """Generate Feedback Endpoint
164
+
165
+ Generate controller feedback for a completed MAP task.
166
+
167
+ This endpoint invokes a Celery task that calls generate_feedback_for_map_task
168
+ with the provided task_id and default values for other parameters.
169
+
170
+ Args:
171
+ body (GenerateFeedbackRequest):
172
+
173
+ Raises:
174
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
175
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
176
+
177
+ Returns:
178
+ ControllerImprovementRound | HTTPValidationError
179
+ """
180
+
181
+ return (
182
+ await asyncio_detailed(
183
+ client=client,
184
+ body=body,
185
+ )
186
+ ).parsed
@@ -0,0 +1,260 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+ from uuid import UUID
4
+
5
+ import httpx
6
+
7
+ from ... import errors
8
+ from ...client import AuthenticatedClient, Client
9
+ from ...models.artifact_group_record import ArtifactGroupRecord
10
+ from ...models.http_validation_error import HTTPValidationError
11
+ from ...models.standalone_artifact_record import StandaloneArtifactRecord
12
+ from ...types import UNSET, Response, Unset
13
+
14
+
15
+ def _get_kwargs(
16
+ *,
17
+ artifact_ids: list[UUID],
18
+ include_failed: bool | Unset = False,
19
+ ) -> dict[str, Any]:
20
+ params: dict[str, Any] = {}
21
+
22
+ json_artifact_ids = []
23
+ for artifact_ids_item_data in artifact_ids:
24
+ artifact_ids_item = str(artifact_ids_item_data)
25
+ json_artifact_ids.append(artifact_ids_item)
26
+
27
+ params["artifact_ids"] = json_artifact_ids
28
+
29
+ params["include_failed"] = include_failed
30
+
31
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
32
+
33
+ _kwargs: dict[str, Any] = {
34
+ "method": "get",
35
+ "url": "/artifacts",
36
+ "params": params,
37
+ }
38
+
39
+ return _kwargs
40
+
41
+
42
+ def _parse_response(
43
+ *, client: AuthenticatedClient | Client, response: httpx.Response
44
+ ) -> HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord] | None:
45
+ if response.status_code == 200:
46
+ response_200 = []
47
+ _response_200 = response.json()
48
+ for response_200_item_data in _response_200:
49
+
50
+ def _parse_response_200_item(data: object) -> ArtifactGroupRecord | StandaloneArtifactRecord:
51
+ try:
52
+ if not isinstance(data, dict):
53
+ raise TypeError()
54
+ response_200_item_type_0 = StandaloneArtifactRecord.from_dict(data)
55
+
56
+ return response_200_item_type_0
57
+ except (TypeError, ValueError, AttributeError, KeyError):
58
+ pass
59
+ if not isinstance(data, dict):
60
+ raise TypeError()
61
+ response_200_item_type_1 = ArtifactGroupRecord.from_dict(data)
62
+
63
+ return response_200_item_type_1
64
+
65
+ response_200_item = _parse_response_200_item(response_200_item_data)
66
+
67
+ response_200.append(response_200_item)
68
+
69
+ return response_200
70
+
71
+ if response.status_code == 422:
72
+ response_422 = HTTPValidationError.from_dict(response.json())
73
+
74
+ return response_422
75
+
76
+ if client.raise_on_unexpected_status:
77
+ raise errors.UnexpectedStatus(response.status_code, response.content)
78
+ else:
79
+ return None
80
+
81
+
82
+ def _build_response(
83
+ *, client: AuthenticatedClient | Client, response: httpx.Response
84
+ ) -> Response[HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord]]:
85
+ return Response(
86
+ status_code=HTTPStatus(response.status_code),
87
+ content=response.content,
88
+ headers=response.headers,
89
+ parsed=_parse_response(client=client, response=response),
90
+ )
91
+
92
+
93
+ def sync_detailed(
94
+ *,
95
+ client: AuthenticatedClient | Client,
96
+ artifact_ids: list[UUID],
97
+ include_failed: bool | Unset = False,
98
+ ) -> Response[HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord]]:
99
+ """Get Artifacts
100
+
101
+ Get artifacts by artifact ID.
102
+
103
+ Caution: This is not protected by RLS, so it will return the artifacts
104
+ as long as the IDs are valid. The reason for it is that we would need to handle
105
+ case for both authenticated and non-authenticated users similarly to how we handle
106
+ stuff on the frontend, and that doesn't seem to be worth it at the moment.
107
+
108
+ Alternative would be ditching this whole endpoint and replicating fetching the
109
+ same artifacts in the frontend from the DB directly. It would be probably much
110
+ faster and simpler anyway, with only slight duplicity of the code between python
111
+ and typescript (as we need to be able to fetch artifacts here for the various
112
+ workflow purposes).
113
+
114
+ Args:
115
+ artifact_ids (list[UUID]):
116
+ include_failed (bool | Unset): Default: False.
117
+
118
+ Raises:
119
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
120
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
121
+
122
+ Returns:
123
+ Response[HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord]]
124
+ """
125
+
126
+ kwargs = _get_kwargs(
127
+ artifact_ids=artifact_ids,
128
+ include_failed=include_failed,
129
+ )
130
+
131
+ response = client.get_httpx_client().request(
132
+ **kwargs,
133
+ )
134
+
135
+ return _build_response(client=client, response=response)
136
+
137
+
138
+ def sync(
139
+ *,
140
+ client: AuthenticatedClient | Client,
141
+ artifact_ids: list[UUID],
142
+ include_failed: bool | Unset = False,
143
+ ) -> HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord] | None:
144
+ """Get Artifacts
145
+
146
+ Get artifacts by artifact ID.
147
+
148
+ Caution: This is not protected by RLS, so it will return the artifacts
149
+ as long as the IDs are valid. The reason for it is that we would need to handle
150
+ case for both authenticated and non-authenticated users similarly to how we handle
151
+ stuff on the frontend, and that doesn't seem to be worth it at the moment.
152
+
153
+ Alternative would be ditching this whole endpoint and replicating fetching the
154
+ same artifacts in the frontend from the DB directly. It would be probably much
155
+ faster and simpler anyway, with only slight duplicity of the code between python
156
+ and typescript (as we need to be able to fetch artifacts here for the various
157
+ workflow purposes).
158
+
159
+ Args:
160
+ artifact_ids (list[UUID]):
161
+ include_failed (bool | Unset): Default: False.
162
+
163
+ Raises:
164
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
165
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
166
+
167
+ Returns:
168
+ HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord]
169
+ """
170
+
171
+ return sync_detailed(
172
+ client=client,
173
+ artifact_ids=artifact_ids,
174
+ include_failed=include_failed,
175
+ ).parsed
176
+
177
+
178
+ async def asyncio_detailed(
179
+ *,
180
+ client: AuthenticatedClient | Client,
181
+ artifact_ids: list[UUID],
182
+ include_failed: bool | Unset = False,
183
+ ) -> Response[HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord]]:
184
+ """Get Artifacts
185
+
186
+ Get artifacts by artifact ID.
187
+
188
+ Caution: This is not protected by RLS, so it will return the artifacts
189
+ as long as the IDs are valid. The reason for it is that we would need to handle
190
+ case for both authenticated and non-authenticated users similarly to how we handle
191
+ stuff on the frontend, and that doesn't seem to be worth it at the moment.
192
+
193
+ Alternative would be ditching this whole endpoint and replicating fetching the
194
+ same artifacts in the frontend from the DB directly. It would be probably much
195
+ faster and simpler anyway, with only slight duplicity of the code between python
196
+ and typescript (as we need to be able to fetch artifacts here for the various
197
+ workflow purposes).
198
+
199
+ Args:
200
+ artifact_ids (list[UUID]):
201
+ include_failed (bool | Unset): Default: False.
202
+
203
+ Raises:
204
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
205
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
206
+
207
+ Returns:
208
+ Response[HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord]]
209
+ """
210
+
211
+ kwargs = _get_kwargs(
212
+ artifact_ids=artifact_ids,
213
+ include_failed=include_failed,
214
+ )
215
+
216
+ response = await client.get_async_httpx_client().request(**kwargs)
217
+
218
+ return _build_response(client=client, response=response)
219
+
220
+
221
+ async def asyncio(
222
+ *,
223
+ client: AuthenticatedClient | Client,
224
+ artifact_ids: list[UUID],
225
+ include_failed: bool | Unset = False,
226
+ ) -> HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord] | None:
227
+ """Get Artifacts
228
+
229
+ Get artifacts by artifact ID.
230
+
231
+ Caution: This is not protected by RLS, so it will return the artifacts
232
+ as long as the IDs are valid. The reason for it is that we would need to handle
233
+ case for both authenticated and non-authenticated users similarly to how we handle
234
+ stuff on the frontend, and that doesn't seem to be worth it at the moment.
235
+
236
+ Alternative would be ditching this whole endpoint and replicating fetching the
237
+ same artifacts in the frontend from the DB directly. It would be probably much
238
+ faster and simpler anyway, with only slight duplicity of the code between python
239
+ and typescript (as we need to be able to fetch artifacts here for the various
240
+ workflow purposes).
241
+
242
+ Args:
243
+ artifact_ids (list[UUID]):
244
+ include_failed (bool | Unset): Default: False.
245
+
246
+ Raises:
247
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
248
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
249
+
250
+ Returns:
251
+ HTTPValidationError | list[ArtifactGroupRecord | StandaloneArtifactRecord]
252
+ """
253
+
254
+ return (
255
+ await asyncio_detailed(
256
+ client=client,
257
+ artifact_ids=artifact_ids,
258
+ include_failed=include_failed,
259
+ )
260
+ ).parsed