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.
- everyrow/__init__.py +4 -0
- everyrow/api_utils.py +45 -0
- everyrow/citations.py +46 -0
- everyrow/constants.py +4 -0
- everyrow/generated/__init__.py +8 -0
- everyrow/generated/api/__init__.py +1 -0
- everyrow/generated/api/default/__init__.py +1 -0
- everyrow/generated/api/default/continue_task_endpoint_tasks_continue_post.py +208 -0
- everyrow/generated/api/default/copy_artifacts_artifacts_copy_post.py +166 -0
- everyrow/generated/api/default/copy_workflow_endpoint_workflows_copy_post.py +166 -0
- everyrow/generated/api/default/create_api_key_endpoint_api_keys_create_post.py +186 -0
- everyrow/generated/api/default/create_session_endpoint_sessions_create_post.py +198 -0
- everyrow/generated/api/default/create_workflow_from_artifact_workflows_from_artifact_post.py +174 -0
- everyrow/generated/api/default/export_to_google_sheets_export_post.py +168 -0
- everyrow/generated/api/default/generate_feedback_endpoint_tasks_generate_feedback_post.py +186 -0
- everyrow/generated/api/default/get_artifacts_artifacts_get.py +260 -0
- everyrow/generated/api/default/get_default_timeout_seconds_models_default_timeout_seconds_get.py +165 -0
- everyrow/generated/api/default/get_job_progress_for_task_jobs_progress_get.py +167 -0
- everyrow/generated/api/default/get_metrics_metrics_get.py +80 -0
- everyrow/generated/api/default/get_queues_stats_jobs_queues_get.py +123 -0
- everyrow/generated/api/default/get_task_status_endpoint_tasks_task_id_status_get.py +193 -0
- everyrow/generated/api/default/get_user_usage_usage_get.py +123 -0
- everyrow/generated/api/default/healthz_healthz_get.py +127 -0
- everyrow/generated/api/default/import_from_google_sheets_import_post.py +170 -0
- everyrow/generated/api/default/interrupt_chat_task_tasks_chat_interrupt_post.py +172 -0
- everyrow/generated/api/default/list_api_keys_endpoint_api_keys_get.py +186 -0
- everyrow/generated/api/default/re_execute_task_endpoint_tasks_re_execute_post.py +192 -0
- everyrow/generated/api/default/revoke_api_key_endpoint_api_keys_key_id_revoke_post.py +181 -0
- everyrow/generated/api/default/revoke_jobs_for_task_jobs_revoke_post.py +164 -0
- everyrow/generated/api/default/rollback_to_message_endpoint_tasks_chat_rollback_post.py +186 -0
- everyrow/generated/api/default/submit_chat_task_tasks_chat_post.py +164 -0
- everyrow/generated/api/default/submit_task_tasks_post.py +172 -0
- everyrow/generated/api/default/task_resource_estimation_task_resource_estimation_post.py +319 -0
- everyrow/generated/api/default/trigger_workflow_execution_endpoint_workflows_trigger_post.py +166 -0
- everyrow/generated/api/default/whoami_whoami_get.py +127 -0
- everyrow/generated/client.py +268 -0
- everyrow/generated/errors.py +16 -0
- everyrow/generated/models/__init__.py +281 -0
- everyrow/generated/models/agent_improvement_instruction.py +69 -0
- everyrow/generated/models/agent_query_params.py +362 -0
- everyrow/generated/models/agent_query_params_system_prompt_kind_type_0.py +10 -0
- everyrow/generated/models/agent_task_args.py +163 -0
- everyrow/generated/models/agent_task_args_processing_mode.py +9 -0
- everyrow/generated/models/allowed_suggestions.py +8 -0
- everyrow/generated/models/api_key_info.py +163 -0
- everyrow/generated/models/artifact_changed_payload.py +89 -0
- everyrow/generated/models/artifact_group_record.py +330 -0
- everyrow/generated/models/artifact_group_record_metadata_type_0.py +46 -0
- everyrow/generated/models/artifact_group_record_trace_mapping_type_0.py +46 -0
- everyrow/generated/models/artifact_status.py +14 -0
- everyrow/generated/models/auto_cohort_conversation_message.py +533 -0
- everyrow/generated/models/aux_data.py +128 -0
- everyrow/generated/models/aux_data_source_bank.py +59 -0
- everyrow/generated/models/chat_completion_message_tool_call.py +46 -0
- everyrow/generated/models/chat_message_metadata.py +193 -0
- everyrow/generated/models/concatenate_query_params.py +46 -0
- everyrow/generated/models/concatenate_request.py +306 -0
- everyrow/generated/models/continue_reason.py +9 -0
- everyrow/generated/models/continue_task_request.py +133 -0
- everyrow/generated/models/controller_improvement_round.py +79 -0
- everyrow/generated/models/conversation_changed_payload.py +89 -0
- everyrow/generated/models/copy_artifacts_request.py +70 -0
- everyrow/generated/models/copy_artifacts_response.py +70 -0
- everyrow/generated/models/copy_workflow_request.py +62 -0
- everyrow/generated/models/copy_workflow_response.py +70 -0
- everyrow/generated/models/create_api_key_request.py +95 -0
- everyrow/generated/models/create_api_key_response.py +96 -0
- everyrow/generated/models/create_group_query_params.py +61 -0
- everyrow/generated/models/create_group_request.py +305 -0
- everyrow/generated/models/create_query_params.py +61 -0
- everyrow/generated/models/create_request.py +305 -0
- everyrow/generated/models/create_session_request.py +62 -0
- everyrow/generated/models/create_session_response.py +63 -0
- everyrow/generated/models/create_workflow_from_artifact_request.py +92 -0
- everyrow/generated/models/create_workflow_from_artifact_response.py +70 -0
- everyrow/generated/models/data_frame_method.py +18 -0
- everyrow/generated/models/date_cutoffs.py +145 -0
- everyrow/generated/models/dedupe_mode.py +9 -0
- everyrow/generated/models/dedupe_query_params.py +174 -0
- everyrow/generated/models/dedupe_request_params.py +311 -0
- everyrow/generated/models/deep_merge_public_params.py +143 -0
- everyrow/generated/models/deep_merge_request.py +313 -0
- everyrow/generated/models/deep_rank_public_params.py +99 -0
- everyrow/generated/models/deep_rank_request.py +313 -0
- everyrow/generated/models/deep_screen_public_params.py +122 -0
- everyrow/generated/models/deep_screen_request.py +313 -0
- everyrow/generated/models/derive_expression.py +69 -0
- everyrow/generated/models/derive_query_params.py +75 -0
- everyrow/generated/models/derive_request.py +307 -0
- everyrow/generated/models/document_query_tool.py +12 -0
- everyrow/generated/models/drop_columns_query_params.py +61 -0
- everyrow/generated/models/drop_columns_request.py +305 -0
- everyrow/generated/models/embedding_models.py +9 -0
- everyrow/generated/models/event_type.py +14 -0
- everyrow/generated/models/execution_metadata.py +146 -0
- everyrow/generated/models/export_request.py +75 -0
- everyrow/generated/models/export_request_token_data.py +46 -0
- everyrow/generated/models/export_to_google_sheets_export_post_response_export_to_google_sheets_export_post.py +46 -0
- everyrow/generated/models/filter_query_params.py +91 -0
- everyrow/generated/models/filter_request.py +305 -0
- everyrow/generated/models/flatten_query_params.py +46 -0
- everyrow/generated/models/flatten_request.py +305 -0
- everyrow/generated/models/generate_feedback_request.py +62 -0
- everyrow/generated/models/group_by_query_params.py +62 -0
- everyrow/generated/models/group_by_request.py +305 -0
- everyrow/generated/models/healthz_healthz_get_response_healthz_healthz_get.py +46 -0
- everyrow/generated/models/http_validation_error.py +79 -0
- everyrow/generated/models/image_chat_content_part.py +80 -0
- everyrow/generated/models/image_chat_content_part_image_url.py +46 -0
- everyrow/generated/models/import_from_google_sheets_import_post_response_import_from_google_sheets_import_post.py +46 -0
- everyrow/generated/models/import_request.py +83 -0
- everyrow/generated/models/import_request_token_data.py +46 -0
- everyrow/generated/models/insufficient_balance_error.py +81 -0
- everyrow/generated/models/join_query_params.py +73 -0
- everyrow/generated/models/join_request.py +305 -0
- everyrow/generated/models/llm_enum.py +54 -0
- everyrow/generated/models/map_agent_request_params.py +313 -0
- everyrow/generated/models/map_multi_agent_request_params.py +313 -0
- everyrow/generated/models/message_created_payload.py +98 -0
- everyrow/generated/models/multi_agent_effort_level.py +10 -0
- everyrow/generated/models/multi_agent_query_params.py +264 -0
- everyrow/generated/models/multi_modal_chat_message.py +160 -0
- everyrow/generated/models/multi_modal_chat_message_role.py +10 -0
- everyrow/generated/models/preview_metadata.py +144 -0
- everyrow/generated/models/processing_mode.py +10 -0
- everyrow/generated/models/progress_status.py +83 -0
- everyrow/generated/models/queue_stats.py +77 -0
- everyrow/generated/models/reduce_agent_request_params.py +305 -0
- everyrow/generated/models/reduce_multi_agent_request_params.py +305 -0
- everyrow/generated/models/resource_estimation_response.py +85 -0
- everyrow/generated/models/response_schema_type.py +9 -0
- everyrow/generated/models/revoke_api_key_response.py +61 -0
- everyrow/generated/models/rollback_to_message_request.py +62 -0
- everyrow/generated/models/rollback_to_message_response.py +77 -0
- everyrow/generated/models/session_changed_payload.py +69 -0
- everyrow/generated/models/simple_chat_message.py +121 -0
- everyrow/generated/models/simple_chat_message_role.py +10 -0
- everyrow/generated/models/simple_chat_message_with_tool_calls.py +156 -0
- everyrow/generated/models/source_database_entry.py +92 -0
- everyrow/generated/models/standalone_artifact_record.py +278 -0
- everyrow/generated/models/standalone_artifact_record_metadata_type_0.py +46 -0
- everyrow/generated/models/standalone_artifact_record_trace_mapping_type_0.py +46 -0
- everyrow/generated/models/status_count.py +71 -0
- everyrow/generated/models/status_count_status.py +13 -0
- everyrow/generated/models/submit_chat_task_body.py +497 -0
- everyrow/generated/models/submit_chat_task_body_selected_task_type_type_0.py +11 -0
- everyrow/generated/models/submit_task_body.py +745 -0
- everyrow/generated/models/task_changed_payload.py +105 -0
- everyrow/generated/models/task_effort.py +10 -0
- everyrow/generated/models/task_id_request.py +62 -0
- everyrow/generated/models/task_insert.py +725 -0
- everyrow/generated/models/task_insert_query_params.py +46 -0
- everyrow/generated/models/task_metadata.py +323 -0
- everyrow/generated/models/task_metadata_cols_to_rename_type_0.py +46 -0
- everyrow/generated/models/task_response.py +62 -0
- everyrow/generated/models/task_status.py +12 -0
- everyrow/generated/models/task_status_response.py +112 -0
- everyrow/generated/models/task_type.py +31 -0
- everyrow/generated/models/text_chat_content_part.py +74 -0
- everyrow/generated/models/tool_response_message.py +127 -0
- everyrow/generated/models/toolkit_constants.py +80 -0
- everyrow/generated/models/trace_changed_payload.py +94 -0
- everyrow/generated/models/trace_info.py +78 -0
- everyrow/generated/models/trigger_workflow_execution_request.py +112 -0
- everyrow/generated/models/trigger_workflow_execution_request_task_params.py +65 -0
- everyrow/generated/models/trigger_workflow_execution_request_task_params_additional_property.py +46 -0
- everyrow/generated/models/trigger_workflow_execution_response.py +69 -0
- everyrow/generated/models/upload_csv_payload.py +310 -0
- everyrow/generated/models/upload_csv_query_params.py +114 -0
- everyrow/generated/models/usage_response.py +77 -0
- everyrow/generated/models/validation_error.py +90 -0
- everyrow/generated/models/whoami_whoami_get_response_whoami_whoami_get.py +46 -0
- everyrow/generated/models/workflow_leaf_node_input.py +70 -0
- everyrow/generated/py.typed +1 -0
- everyrow/generated/types.py +54 -0
- everyrow/ops.py +672 -0
- everyrow/result.py +25 -0
- everyrow/session.py +53 -0
- everyrow/task.py +143 -0
- everyrow-0.1.0.dist-info/METADATA +238 -0
- everyrow-0.1.0.dist-info/RECORD +183 -0
- everyrow-0.1.0.dist-info/WHEEL +4 -0
- everyrow-0.1.0.dist-info/licenses/LICENSE.txt +21 -0
everyrow/__init__.py
ADDED
everyrow/api_utils.py
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from typing import TypeVar
|
|
3
|
+
|
|
4
|
+
from everyrow.constants import DEFAULT_EVERYROW_API_URL, EveryrowError
|
|
5
|
+
from everyrow.generated.client import AuthenticatedClient
|
|
6
|
+
from everyrow.generated.models.http_validation_error import HTTPValidationError
|
|
7
|
+
from everyrow.generated.models.insufficient_balance_error import (
|
|
8
|
+
InsufficientBalanceError,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def create_client() -> AuthenticatedClient:
|
|
13
|
+
"""Create an AuthenticatedClient from environment variables.
|
|
14
|
+
|
|
15
|
+
Reads EVERYROW_API_KEY and EVERYROW_API_URL from environment variables.
|
|
16
|
+
|
|
17
|
+
Returns:
|
|
18
|
+
AuthenticatedClient: A configured client instance
|
|
19
|
+
|
|
20
|
+
Raises:
|
|
21
|
+
ValueError: If EVERYROW_API_KEY is not set in environment
|
|
22
|
+
"""
|
|
23
|
+
if "EVERYROW_API_KEY" not in os.environ:
|
|
24
|
+
raise ValueError("EVERYROW_API_KEY is not set; cannot initialize client")
|
|
25
|
+
return AuthenticatedClient(
|
|
26
|
+
base_url=os.environ.get("EVERYROW_API_URL", DEFAULT_EVERYROW_API_URL),
|
|
27
|
+
token=os.environ["EVERYROW_API_KEY"],
|
|
28
|
+
raise_on_unexpected_status=True,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
T = TypeVar("T")
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def handle_response[T](
|
|
36
|
+
response: T | HTTPValidationError | InsufficientBalanceError | None,
|
|
37
|
+
) -> T:
|
|
38
|
+
if isinstance(response, HTTPValidationError):
|
|
39
|
+
raise EveryrowError(response.detail)
|
|
40
|
+
if isinstance(response, InsufficientBalanceError):
|
|
41
|
+
raise EveryrowError(response.message)
|
|
42
|
+
if response is None:
|
|
43
|
+
raise EveryrowError("Unknown error")
|
|
44
|
+
|
|
45
|
+
return response
|
everyrow/citations.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from copy import deepcopy
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
from everyrow.generated.models import (
|
|
5
|
+
ArtifactGroupRecord,
|
|
6
|
+
AuxDataSourceBank,
|
|
7
|
+
StandaloneArtifactRecord,
|
|
8
|
+
)
|
|
9
|
+
from everyrow.generated.types import Unset
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def _render_citations(data: dict[str, Any], source_bank: AuxDataSourceBank) -> dict[str, Any]:
|
|
13
|
+
result = deepcopy(data)
|
|
14
|
+
for source_id, source_data in source_bank.to_dict().items():
|
|
15
|
+
for key, value in result.items():
|
|
16
|
+
if isinstance(value, str):
|
|
17
|
+
result[key] = value.replace(source_id, source_data["url"])
|
|
18
|
+
else:
|
|
19
|
+
result[key] = value
|
|
20
|
+
return result
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def render_citations_standalone(artifact: StandaloneArtifactRecord):
|
|
24
|
+
if isinstance(artifact.aux_data, Unset) or isinstance(artifact.aux_data.source_bank, Unset):
|
|
25
|
+
return artifact
|
|
26
|
+
source_bank = (
|
|
27
|
+
artifact.aux_data.source_bank
|
|
28
|
+
) # create reference simply to make the type checker happy before deepcopy.
|
|
29
|
+
artifact = deepcopy(artifact)
|
|
30
|
+
artifact.data = _render_citations(artifact.data, source_bank)
|
|
31
|
+
return artifact
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def render_citations_group(artifact: ArtifactGroupRecord) -> ArtifactGroupRecord:
|
|
35
|
+
artifact = deepcopy(artifact)
|
|
36
|
+
new_artifacts = []
|
|
37
|
+
for artifact_item in artifact.artifacts:
|
|
38
|
+
if isinstance(artifact_item, StandaloneArtifactRecord):
|
|
39
|
+
item_to_add = render_citations_standalone(artifact_item)
|
|
40
|
+
elif isinstance(artifact_item, ArtifactGroupRecord):
|
|
41
|
+
item_to_add = render_citations_group(artifact_item)
|
|
42
|
+
else:
|
|
43
|
+
item_to_add = artifact_item
|
|
44
|
+
new_artifacts.append(item_to_add)
|
|
45
|
+
artifact.artifacts = new_artifacts
|
|
46
|
+
return artifact
|
everyrow/constants.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Contains methods for accessing the API"""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Contains endpoint functions for accessing the API"""
|
|
@@ -0,0 +1,208 @@
|
|
|
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.continue_task_request import ContinueTaskRequest
|
|
9
|
+
from ...models.http_validation_error import HTTPValidationError
|
|
10
|
+
from ...models.insufficient_balance_error import InsufficientBalanceError
|
|
11
|
+
from ...models.task_response import TaskResponse
|
|
12
|
+
from ...types import Response
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def _get_kwargs(
|
|
16
|
+
*,
|
|
17
|
+
body: ContinueTaskRequest,
|
|
18
|
+
) -> dict[str, Any]:
|
|
19
|
+
headers: dict[str, Any] = {}
|
|
20
|
+
|
|
21
|
+
_kwargs: dict[str, Any] = {
|
|
22
|
+
"method": "post",
|
|
23
|
+
"url": "/tasks/continue",
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
_kwargs["json"] = body.to_dict()
|
|
27
|
+
|
|
28
|
+
headers["Content-Type"] = "application/json"
|
|
29
|
+
|
|
30
|
+
_kwargs["headers"] = headers
|
|
31
|
+
return _kwargs
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def _parse_response(
|
|
35
|
+
*, client: AuthenticatedClient | Client, response: httpx.Response
|
|
36
|
+
) -> HTTPValidationError | InsufficientBalanceError | TaskResponse | None:
|
|
37
|
+
if response.status_code == 200:
|
|
38
|
+
response_200 = TaskResponse.from_dict(response.json())
|
|
39
|
+
|
|
40
|
+
return response_200
|
|
41
|
+
|
|
42
|
+
if response.status_code == 402:
|
|
43
|
+
response_402 = InsufficientBalanceError.from_dict(response.json())
|
|
44
|
+
|
|
45
|
+
return response_402
|
|
46
|
+
|
|
47
|
+
if response.status_code == 422:
|
|
48
|
+
response_422 = HTTPValidationError.from_dict(response.json())
|
|
49
|
+
|
|
50
|
+
return response_422
|
|
51
|
+
|
|
52
|
+
if client.raise_on_unexpected_status:
|
|
53
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
54
|
+
else:
|
|
55
|
+
return None
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def _build_response(
|
|
59
|
+
*, client: AuthenticatedClient | Client, response: httpx.Response
|
|
60
|
+
) -> Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]:
|
|
61
|
+
return Response(
|
|
62
|
+
status_code=HTTPStatus(response.status_code),
|
|
63
|
+
content=response.content,
|
|
64
|
+
headers=response.headers,
|
|
65
|
+
parsed=_parse_response(client=client, response=response),
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def sync_detailed(
|
|
70
|
+
*,
|
|
71
|
+
client: AuthenticatedClient,
|
|
72
|
+
body: ContinueTaskRequest,
|
|
73
|
+
) -> Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]:
|
|
74
|
+
r"""Continue Task Endpoint
|
|
75
|
+
|
|
76
|
+
Continue a task by (re)-executing children in place.
|
|
77
|
+
|
|
78
|
+
Reason for continue: failed/revoked (\"failed\"), continue after preview (\"from_preview\")
|
|
79
|
+
|
|
80
|
+
For MAP tasks, this resets child artifacts and re-submits
|
|
81
|
+
only those children, keeping the existing task and successful results.
|
|
82
|
+
|
|
83
|
+
For non-MAP tasks, this returns an error as they cannot be continued.
|
|
84
|
+
|
|
85
|
+
Args:
|
|
86
|
+
body (ContinueTaskRequest):
|
|
87
|
+
|
|
88
|
+
Raises:
|
|
89
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
90
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
91
|
+
|
|
92
|
+
Returns:
|
|
93
|
+
Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
kwargs = _get_kwargs(
|
|
97
|
+
body=body,
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
response = client.get_httpx_client().request(
|
|
101
|
+
**kwargs,
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
return _build_response(client=client, response=response)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def sync(
|
|
108
|
+
*,
|
|
109
|
+
client: AuthenticatedClient,
|
|
110
|
+
body: ContinueTaskRequest,
|
|
111
|
+
) -> HTTPValidationError | InsufficientBalanceError | TaskResponse | None:
|
|
112
|
+
r"""Continue Task Endpoint
|
|
113
|
+
|
|
114
|
+
Continue a task by (re)-executing children in place.
|
|
115
|
+
|
|
116
|
+
Reason for continue: failed/revoked (\"failed\"), continue after preview (\"from_preview\")
|
|
117
|
+
|
|
118
|
+
For MAP tasks, this resets child artifacts and re-submits
|
|
119
|
+
only those children, keeping the existing task and successful results.
|
|
120
|
+
|
|
121
|
+
For non-MAP tasks, this returns an error as they cannot be continued.
|
|
122
|
+
|
|
123
|
+
Args:
|
|
124
|
+
body (ContinueTaskRequest):
|
|
125
|
+
|
|
126
|
+
Raises:
|
|
127
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
128
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
129
|
+
|
|
130
|
+
Returns:
|
|
131
|
+
HTTPValidationError | InsufficientBalanceError | TaskResponse
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
return sync_detailed(
|
|
135
|
+
client=client,
|
|
136
|
+
body=body,
|
|
137
|
+
).parsed
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
async def asyncio_detailed(
|
|
141
|
+
*,
|
|
142
|
+
client: AuthenticatedClient,
|
|
143
|
+
body: ContinueTaskRequest,
|
|
144
|
+
) -> Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]:
|
|
145
|
+
r"""Continue Task Endpoint
|
|
146
|
+
|
|
147
|
+
Continue a task by (re)-executing children in place.
|
|
148
|
+
|
|
149
|
+
Reason for continue: failed/revoked (\"failed\"), continue after preview (\"from_preview\")
|
|
150
|
+
|
|
151
|
+
For MAP tasks, this resets child artifacts and re-submits
|
|
152
|
+
only those children, keeping the existing task and successful results.
|
|
153
|
+
|
|
154
|
+
For non-MAP tasks, this returns an error as they cannot be continued.
|
|
155
|
+
|
|
156
|
+
Args:
|
|
157
|
+
body (ContinueTaskRequest):
|
|
158
|
+
|
|
159
|
+
Raises:
|
|
160
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
161
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
162
|
+
|
|
163
|
+
Returns:
|
|
164
|
+
Response[HTTPValidationError | InsufficientBalanceError | TaskResponse]
|
|
165
|
+
"""
|
|
166
|
+
|
|
167
|
+
kwargs = _get_kwargs(
|
|
168
|
+
body=body,
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
|
172
|
+
|
|
173
|
+
return _build_response(client=client, response=response)
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
async def asyncio(
|
|
177
|
+
*,
|
|
178
|
+
client: AuthenticatedClient,
|
|
179
|
+
body: ContinueTaskRequest,
|
|
180
|
+
) -> HTTPValidationError | InsufficientBalanceError | TaskResponse | None:
|
|
181
|
+
r"""Continue Task Endpoint
|
|
182
|
+
|
|
183
|
+
Continue a task by (re)-executing children in place.
|
|
184
|
+
|
|
185
|
+
Reason for continue: failed/revoked (\"failed\"), continue after preview (\"from_preview\")
|
|
186
|
+
|
|
187
|
+
For MAP tasks, this resets child artifacts and re-submits
|
|
188
|
+
only those children, keeping the existing task and successful results.
|
|
189
|
+
|
|
190
|
+
For non-MAP tasks, this returns an error as they cannot be continued.
|
|
191
|
+
|
|
192
|
+
Args:
|
|
193
|
+
body (ContinueTaskRequest):
|
|
194
|
+
|
|
195
|
+
Raises:
|
|
196
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
197
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
198
|
+
|
|
199
|
+
Returns:
|
|
200
|
+
HTTPValidationError | InsufficientBalanceError | TaskResponse
|
|
201
|
+
"""
|
|
202
|
+
|
|
203
|
+
return (
|
|
204
|
+
await asyncio_detailed(
|
|
205
|
+
client=client,
|
|
206
|
+
body=body,
|
|
207
|
+
)
|
|
208
|
+
).parsed
|
|
@@ -0,0 +1,166 @@
|
|
|
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.copy_artifacts_request import CopyArtifactsRequest
|
|
9
|
+
from ...models.copy_artifacts_response import CopyArtifactsResponse
|
|
10
|
+
from ...models.http_validation_error import HTTPValidationError
|
|
11
|
+
from ...types import Response
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def _get_kwargs(
|
|
15
|
+
*,
|
|
16
|
+
body: CopyArtifactsRequest,
|
|
17
|
+
) -> dict[str, Any]:
|
|
18
|
+
headers: dict[str, Any] = {}
|
|
19
|
+
|
|
20
|
+
_kwargs: dict[str, Any] = {
|
|
21
|
+
"method": "post",
|
|
22
|
+
"url": "/artifacts/copy",
|
|
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
|
+
) -> CopyArtifactsResponse | HTTPValidationError | None:
|
|
36
|
+
if response.status_code == 200:
|
|
37
|
+
response_200 = CopyArtifactsResponse.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[CopyArtifactsResponse | 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: CopyArtifactsRequest,
|
|
67
|
+
) -> Response[CopyArtifactsResponse | HTTPValidationError]:
|
|
68
|
+
"""Copy Artifacts
|
|
69
|
+
|
|
70
|
+
Args:
|
|
71
|
+
body (CopyArtifactsRequest):
|
|
72
|
+
|
|
73
|
+
Raises:
|
|
74
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
75
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
76
|
+
|
|
77
|
+
Returns:
|
|
78
|
+
Response[CopyArtifactsResponse | HTTPValidationError]
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
kwargs = _get_kwargs(
|
|
82
|
+
body=body,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
response = client.get_httpx_client().request(
|
|
86
|
+
**kwargs,
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
return _build_response(client=client, response=response)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def sync(
|
|
93
|
+
*,
|
|
94
|
+
client: AuthenticatedClient,
|
|
95
|
+
body: CopyArtifactsRequest,
|
|
96
|
+
) -> CopyArtifactsResponse | HTTPValidationError | None:
|
|
97
|
+
"""Copy Artifacts
|
|
98
|
+
|
|
99
|
+
Args:
|
|
100
|
+
body (CopyArtifactsRequest):
|
|
101
|
+
|
|
102
|
+
Raises:
|
|
103
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
104
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
105
|
+
|
|
106
|
+
Returns:
|
|
107
|
+
CopyArtifactsResponse | HTTPValidationError
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
return sync_detailed(
|
|
111
|
+
client=client,
|
|
112
|
+
body=body,
|
|
113
|
+
).parsed
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
async def asyncio_detailed(
|
|
117
|
+
*,
|
|
118
|
+
client: AuthenticatedClient,
|
|
119
|
+
body: CopyArtifactsRequest,
|
|
120
|
+
) -> Response[CopyArtifactsResponse | HTTPValidationError]:
|
|
121
|
+
"""Copy Artifacts
|
|
122
|
+
|
|
123
|
+
Args:
|
|
124
|
+
body (CopyArtifactsRequest):
|
|
125
|
+
|
|
126
|
+
Raises:
|
|
127
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
128
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
129
|
+
|
|
130
|
+
Returns:
|
|
131
|
+
Response[CopyArtifactsResponse | HTTPValidationError]
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
kwargs = _get_kwargs(
|
|
135
|
+
body=body,
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
|
139
|
+
|
|
140
|
+
return _build_response(client=client, response=response)
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
async def asyncio(
|
|
144
|
+
*,
|
|
145
|
+
client: AuthenticatedClient,
|
|
146
|
+
body: CopyArtifactsRequest,
|
|
147
|
+
) -> CopyArtifactsResponse | HTTPValidationError | None:
|
|
148
|
+
"""Copy Artifacts
|
|
149
|
+
|
|
150
|
+
Args:
|
|
151
|
+
body (CopyArtifactsRequest):
|
|
152
|
+
|
|
153
|
+
Raises:
|
|
154
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
155
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
156
|
+
|
|
157
|
+
Returns:
|
|
158
|
+
CopyArtifactsResponse | HTTPValidationError
|
|
159
|
+
"""
|
|
160
|
+
|
|
161
|
+
return (
|
|
162
|
+
await asyncio_detailed(
|
|
163
|
+
client=client,
|
|
164
|
+
body=body,
|
|
165
|
+
)
|
|
166
|
+
).parsed
|
|
@@ -0,0 +1,166 @@
|
|
|
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.copy_workflow_request import CopyWorkflowRequest
|
|
9
|
+
from ...models.copy_workflow_response import CopyWorkflowResponse
|
|
10
|
+
from ...models.http_validation_error import HTTPValidationError
|
|
11
|
+
from ...types import Response
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def _get_kwargs(
|
|
15
|
+
*,
|
|
16
|
+
body: CopyWorkflowRequest,
|
|
17
|
+
) -> dict[str, Any]:
|
|
18
|
+
headers: dict[str, Any] = {}
|
|
19
|
+
|
|
20
|
+
_kwargs: dict[str, Any] = {
|
|
21
|
+
"method": "post",
|
|
22
|
+
"url": "/workflows/copy",
|
|
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
|
+
) -> CopyWorkflowResponse | HTTPValidationError | None:
|
|
36
|
+
if response.status_code == 200:
|
|
37
|
+
response_200 = CopyWorkflowResponse.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[CopyWorkflowResponse | 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: CopyWorkflowRequest,
|
|
67
|
+
) -> Response[CopyWorkflowResponse | HTTPValidationError]:
|
|
68
|
+
"""Copy Workflow Endpoint
|
|
69
|
+
|
|
70
|
+
Args:
|
|
71
|
+
body (CopyWorkflowRequest):
|
|
72
|
+
|
|
73
|
+
Raises:
|
|
74
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
75
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
76
|
+
|
|
77
|
+
Returns:
|
|
78
|
+
Response[CopyWorkflowResponse | HTTPValidationError]
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
kwargs = _get_kwargs(
|
|
82
|
+
body=body,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
response = client.get_httpx_client().request(
|
|
86
|
+
**kwargs,
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
return _build_response(client=client, response=response)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def sync(
|
|
93
|
+
*,
|
|
94
|
+
client: AuthenticatedClient,
|
|
95
|
+
body: CopyWorkflowRequest,
|
|
96
|
+
) -> CopyWorkflowResponse | HTTPValidationError | None:
|
|
97
|
+
"""Copy Workflow Endpoint
|
|
98
|
+
|
|
99
|
+
Args:
|
|
100
|
+
body (CopyWorkflowRequest):
|
|
101
|
+
|
|
102
|
+
Raises:
|
|
103
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
104
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
105
|
+
|
|
106
|
+
Returns:
|
|
107
|
+
CopyWorkflowResponse | HTTPValidationError
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
return sync_detailed(
|
|
111
|
+
client=client,
|
|
112
|
+
body=body,
|
|
113
|
+
).parsed
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
async def asyncio_detailed(
|
|
117
|
+
*,
|
|
118
|
+
client: AuthenticatedClient,
|
|
119
|
+
body: CopyWorkflowRequest,
|
|
120
|
+
) -> Response[CopyWorkflowResponse | HTTPValidationError]:
|
|
121
|
+
"""Copy Workflow Endpoint
|
|
122
|
+
|
|
123
|
+
Args:
|
|
124
|
+
body (CopyWorkflowRequest):
|
|
125
|
+
|
|
126
|
+
Raises:
|
|
127
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
128
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
129
|
+
|
|
130
|
+
Returns:
|
|
131
|
+
Response[CopyWorkflowResponse | HTTPValidationError]
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
kwargs = _get_kwargs(
|
|
135
|
+
body=body,
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
|
139
|
+
|
|
140
|
+
return _build_response(client=client, response=response)
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
async def asyncio(
|
|
144
|
+
*,
|
|
145
|
+
client: AuthenticatedClient,
|
|
146
|
+
body: CopyWorkflowRequest,
|
|
147
|
+
) -> CopyWorkflowResponse | HTTPValidationError | None:
|
|
148
|
+
"""Copy Workflow Endpoint
|
|
149
|
+
|
|
150
|
+
Args:
|
|
151
|
+
body (CopyWorkflowRequest):
|
|
152
|
+
|
|
153
|
+
Raises:
|
|
154
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
155
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
156
|
+
|
|
157
|
+
Returns:
|
|
158
|
+
CopyWorkflowResponse | HTTPValidationError
|
|
159
|
+
"""
|
|
160
|
+
|
|
161
|
+
return (
|
|
162
|
+
await asyncio_detailed(
|
|
163
|
+
client=client,
|
|
164
|
+
body=body,
|
|
165
|
+
)
|
|
166
|
+
).parsed
|