asteroid-odyssey 1.6.1__py3-none-any.whl → 1.6.17__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.
@@ -78,6 +78,7 @@ __all__ = [
78
78
  "AgentsExecutionNavToCompletedDetails",
79
79
  "AgentsExecutionNavToStartedDetails",
80
80
  "AgentsExecutionNodeDetails",
81
+ "AgentsExecutionNodeOutputItem",
81
82
  "AgentsExecutionObsSnapshotWithSelectorsCompletedDetails",
82
83
  "AgentsExecutionPausedPayload",
83
84
  "AgentsExecutionRulesDetails",
@@ -102,7 +103,9 @@ __all__ = [
102
103
  "AgentsExecutionStatus",
103
104
  "AgentsExecutionTerminalPayload",
104
105
  "AgentsExecutionTransitionDetails",
106
+ "AgentsExecutionUpdateExecutionStatusRequest",
105
107
  "AgentsExecutionUpdateType",
108
+ "AgentsExecutionUpdateableStatus",
106
109
  "AgentsExecutionUserMessagesAddTextBody",
107
110
  "AgentsExecutionUtilGetDatetimeCompletedDetails",
108
111
  "AgentsExecutionUtilGetDatetimeStartedDetails",
@@ -200,6 +203,7 @@ from asteroid_odyssey.models.agents_execution_list_item import AgentsExecutionLi
200
203
  from asteroid_odyssey.models.agents_execution_nav_to_completed_details import AgentsExecutionNavToCompletedDetails as AgentsExecutionNavToCompletedDetails
201
204
  from asteroid_odyssey.models.agents_execution_nav_to_started_details import AgentsExecutionNavToStartedDetails as AgentsExecutionNavToStartedDetails
202
205
  from asteroid_odyssey.models.agents_execution_node_details import AgentsExecutionNodeDetails as AgentsExecutionNodeDetails
206
+ from asteroid_odyssey.models.agents_execution_node_output_item import AgentsExecutionNodeOutputItem as AgentsExecutionNodeOutputItem
203
207
  from asteroid_odyssey.models.agents_execution_obs_snapshot_with_selectors_completed_details import AgentsExecutionObsSnapshotWithSelectorsCompletedDetails as AgentsExecutionObsSnapshotWithSelectorsCompletedDetails
204
208
  from asteroid_odyssey.models.agents_execution_paused_payload import AgentsExecutionPausedPayload as AgentsExecutionPausedPayload
205
209
  from asteroid_odyssey.models.agents_execution_rules_details import AgentsExecutionRulesDetails as AgentsExecutionRulesDetails
@@ -224,7 +228,9 @@ from asteroid_odyssey.models.agents_execution_sort_field import AgentsExecutionS
224
228
  from asteroid_odyssey.models.agents_execution_status import AgentsExecutionStatus as AgentsExecutionStatus
225
229
  from asteroid_odyssey.models.agents_execution_terminal_payload import AgentsExecutionTerminalPayload as AgentsExecutionTerminalPayload
226
230
  from asteroid_odyssey.models.agents_execution_transition_details import AgentsExecutionTransitionDetails as AgentsExecutionTransitionDetails
231
+ from asteroid_odyssey.models.agents_execution_update_execution_status_request import AgentsExecutionUpdateExecutionStatusRequest as AgentsExecutionUpdateExecutionStatusRequest
227
232
  from asteroid_odyssey.models.agents_execution_update_type import AgentsExecutionUpdateType as AgentsExecutionUpdateType
233
+ from asteroid_odyssey.models.agents_execution_updateable_status import AgentsExecutionUpdateableStatus as AgentsExecutionUpdateableStatus
228
234
  from asteroid_odyssey.models.agents_execution_user_messages_add_text_body import AgentsExecutionUserMessagesAddTextBody as AgentsExecutionUserMessagesAddTextBody
229
235
  from asteroid_odyssey.models.agents_execution_util_get_datetime_completed_details import AgentsExecutionUtilGetDatetimeCompletedDetails as AgentsExecutionUtilGetDatetimeCompletedDetails
230
236
  from asteroid_odyssey.models.agents_execution_util_get_datetime_started_details import AgentsExecutionUtilGetDatetimeStartedDetails as AgentsExecutionUtilGetDatetimeStartedDetails
@@ -24,6 +24,7 @@ from asteroid_odyssey.models.agents_execution_activity import AgentsExecutionAct
24
24
  from asteroid_odyssey.models.agents_execution_list_item import AgentsExecutionListItem
25
25
  from asteroid_odyssey.models.agents_execution_sort_field import AgentsExecutionSortField
26
26
  from asteroid_odyssey.models.agents_execution_status import AgentsExecutionStatus
27
+ from asteroid_odyssey.models.agents_execution_update_execution_status_request import AgentsExecutionUpdateExecutionStatusRequest
27
28
  from asteroid_odyssey.models.agents_execution_user_messages_add_text_body import AgentsExecutionUserMessagesAddTextBody
28
29
  from asteroid_odyssey.models.common_sort_direction import CommonSortDirection
29
30
  from asteroid_odyssey.models.executions_list200_response import ExecutionsList200Response
@@ -632,6 +633,311 @@ class ExecutionApi:
632
633
 
633
634
 
634
635
 
636
+ @validate_call
637
+ def execution_status_update(
638
+ self,
639
+ execution_id: Annotated[StrictStr, Field(description="The unique identifier of the execution")],
640
+ agents_execution_update_execution_status_request: Annotated[AgentsExecutionUpdateExecutionStatusRequest, Field(description="The status update request")],
641
+ _request_timeout: Union[
642
+ None,
643
+ Annotated[StrictFloat, Field(gt=0)],
644
+ Tuple[
645
+ Annotated[StrictFloat, Field(gt=0)],
646
+ Annotated[StrictFloat, Field(gt=0)]
647
+ ]
648
+ ] = None,
649
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
650
+ _content_type: Optional[StrictStr] = None,
651
+ _headers: Optional[Dict[StrictStr, Any]] = None,
652
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
653
+ ) -> str:
654
+ """Update execution status
655
+
656
+ Update the status of an execution. Use this to pause, resume, or cancel an execution.
657
+
658
+ :param execution_id: The unique identifier of the execution (required)
659
+ :type execution_id: str
660
+ :param agents_execution_update_execution_status_request: The status update request (required)
661
+ :type agents_execution_update_execution_status_request: AgentsExecutionUpdateExecutionStatusRequest
662
+ :param _request_timeout: timeout setting for this request. If one
663
+ number provided, it will be total request
664
+ timeout. It can also be a pair (tuple) of
665
+ (connection, read) timeouts.
666
+ :type _request_timeout: int, tuple(int, int), optional
667
+ :param _request_auth: set to override the auth_settings for an a single
668
+ request; this effectively ignores the
669
+ authentication in the spec for a single request.
670
+ :type _request_auth: dict, optional
671
+ :param _content_type: force content-type for the request.
672
+ :type _content_type: str, Optional
673
+ :param _headers: set to override the headers for a single
674
+ request; this effectively ignores the headers
675
+ in the spec for a single request.
676
+ :type _headers: dict, optional
677
+ :param _host_index: set to override the host_index for a single
678
+ request; this effectively ignores the host_index
679
+ in the spec for a single request.
680
+ :type _host_index: int, optional
681
+ :return: Returns the result object.
682
+ """ # noqa: E501
683
+
684
+ _param = self._execution_status_update_serialize(
685
+ execution_id=execution_id,
686
+ agents_execution_update_execution_status_request=agents_execution_update_execution_status_request,
687
+ _request_auth=_request_auth,
688
+ _content_type=_content_type,
689
+ _headers=_headers,
690
+ _host_index=_host_index
691
+ )
692
+
693
+ _response_types_map: Dict[str, Optional[str]] = {
694
+ '200': "str",
695
+ '400': "CommonBadRequestErrorBody",
696
+ '401': "CommonUnauthorizedErrorBody",
697
+ '403': "CommonForbiddenErrorBody",
698
+ '404': "CommonNotFoundErrorBody",
699
+ '500': "CommonInternalServerErrorBody",
700
+ }
701
+ response_data = self.api_client.call_api(
702
+ *_param,
703
+ _request_timeout=_request_timeout
704
+ )
705
+ response_data.read()
706
+ return self.api_client.response_deserialize(
707
+ response_data=response_data,
708
+ response_types_map=_response_types_map,
709
+ ).data
710
+
711
+
712
+ @validate_call
713
+ def execution_status_update_with_http_info(
714
+ self,
715
+ execution_id: Annotated[StrictStr, Field(description="The unique identifier of the execution")],
716
+ agents_execution_update_execution_status_request: Annotated[AgentsExecutionUpdateExecutionStatusRequest, Field(description="The status update request")],
717
+ _request_timeout: Union[
718
+ None,
719
+ Annotated[StrictFloat, Field(gt=0)],
720
+ Tuple[
721
+ Annotated[StrictFloat, Field(gt=0)],
722
+ Annotated[StrictFloat, Field(gt=0)]
723
+ ]
724
+ ] = None,
725
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
726
+ _content_type: Optional[StrictStr] = None,
727
+ _headers: Optional[Dict[StrictStr, Any]] = None,
728
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
729
+ ) -> ApiResponse[str]:
730
+ """Update execution status
731
+
732
+ Update the status of an execution. Use this to pause, resume, or cancel an execution.
733
+
734
+ :param execution_id: The unique identifier of the execution (required)
735
+ :type execution_id: str
736
+ :param agents_execution_update_execution_status_request: The status update request (required)
737
+ :type agents_execution_update_execution_status_request: AgentsExecutionUpdateExecutionStatusRequest
738
+ :param _request_timeout: timeout setting for this request. If one
739
+ number provided, it will be total request
740
+ timeout. It can also be a pair (tuple) of
741
+ (connection, read) timeouts.
742
+ :type _request_timeout: int, tuple(int, int), optional
743
+ :param _request_auth: set to override the auth_settings for an a single
744
+ request; this effectively ignores the
745
+ authentication in the spec for a single request.
746
+ :type _request_auth: dict, optional
747
+ :param _content_type: force content-type for the request.
748
+ :type _content_type: str, Optional
749
+ :param _headers: set to override the headers for a single
750
+ request; this effectively ignores the headers
751
+ in the spec for a single request.
752
+ :type _headers: dict, optional
753
+ :param _host_index: set to override the host_index for a single
754
+ request; this effectively ignores the host_index
755
+ in the spec for a single request.
756
+ :type _host_index: int, optional
757
+ :return: Returns the result object.
758
+ """ # noqa: E501
759
+
760
+ _param = self._execution_status_update_serialize(
761
+ execution_id=execution_id,
762
+ agents_execution_update_execution_status_request=agents_execution_update_execution_status_request,
763
+ _request_auth=_request_auth,
764
+ _content_type=_content_type,
765
+ _headers=_headers,
766
+ _host_index=_host_index
767
+ )
768
+
769
+ _response_types_map: Dict[str, Optional[str]] = {
770
+ '200': "str",
771
+ '400': "CommonBadRequestErrorBody",
772
+ '401': "CommonUnauthorizedErrorBody",
773
+ '403': "CommonForbiddenErrorBody",
774
+ '404': "CommonNotFoundErrorBody",
775
+ '500': "CommonInternalServerErrorBody",
776
+ }
777
+ response_data = self.api_client.call_api(
778
+ *_param,
779
+ _request_timeout=_request_timeout
780
+ )
781
+ response_data.read()
782
+ return self.api_client.response_deserialize(
783
+ response_data=response_data,
784
+ response_types_map=_response_types_map,
785
+ )
786
+
787
+
788
+ @validate_call
789
+ def execution_status_update_without_preload_content(
790
+ self,
791
+ execution_id: Annotated[StrictStr, Field(description="The unique identifier of the execution")],
792
+ agents_execution_update_execution_status_request: Annotated[AgentsExecutionUpdateExecutionStatusRequest, Field(description="The status update request")],
793
+ _request_timeout: Union[
794
+ None,
795
+ Annotated[StrictFloat, Field(gt=0)],
796
+ Tuple[
797
+ Annotated[StrictFloat, Field(gt=0)],
798
+ Annotated[StrictFloat, Field(gt=0)]
799
+ ]
800
+ ] = None,
801
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
802
+ _content_type: Optional[StrictStr] = None,
803
+ _headers: Optional[Dict[StrictStr, Any]] = None,
804
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
805
+ ) -> RESTResponseType:
806
+ """Update execution status
807
+
808
+ Update the status of an execution. Use this to pause, resume, or cancel an execution.
809
+
810
+ :param execution_id: The unique identifier of the execution (required)
811
+ :type execution_id: str
812
+ :param agents_execution_update_execution_status_request: The status update request (required)
813
+ :type agents_execution_update_execution_status_request: AgentsExecutionUpdateExecutionStatusRequest
814
+ :param _request_timeout: timeout setting for this request. If one
815
+ number provided, it will be total request
816
+ timeout. It can also be a pair (tuple) of
817
+ (connection, read) timeouts.
818
+ :type _request_timeout: int, tuple(int, int), optional
819
+ :param _request_auth: set to override the auth_settings for an a single
820
+ request; this effectively ignores the
821
+ authentication in the spec for a single request.
822
+ :type _request_auth: dict, optional
823
+ :param _content_type: force content-type for the request.
824
+ :type _content_type: str, Optional
825
+ :param _headers: set to override the headers for a single
826
+ request; this effectively ignores the headers
827
+ in the spec for a single request.
828
+ :type _headers: dict, optional
829
+ :param _host_index: set to override the host_index for a single
830
+ request; this effectively ignores the host_index
831
+ in the spec for a single request.
832
+ :type _host_index: int, optional
833
+ :return: Returns the result object.
834
+ """ # noqa: E501
835
+
836
+ _param = self._execution_status_update_serialize(
837
+ execution_id=execution_id,
838
+ agents_execution_update_execution_status_request=agents_execution_update_execution_status_request,
839
+ _request_auth=_request_auth,
840
+ _content_type=_content_type,
841
+ _headers=_headers,
842
+ _host_index=_host_index
843
+ )
844
+
845
+ _response_types_map: Dict[str, Optional[str]] = {
846
+ '200': "str",
847
+ '400': "CommonBadRequestErrorBody",
848
+ '401': "CommonUnauthorizedErrorBody",
849
+ '403': "CommonForbiddenErrorBody",
850
+ '404': "CommonNotFoundErrorBody",
851
+ '500': "CommonInternalServerErrorBody",
852
+ }
853
+ response_data = self.api_client.call_api(
854
+ *_param,
855
+ _request_timeout=_request_timeout
856
+ )
857
+ return response_data.response
858
+
859
+
860
+ def _execution_status_update_serialize(
861
+ self,
862
+ execution_id,
863
+ agents_execution_update_execution_status_request,
864
+ _request_auth,
865
+ _content_type,
866
+ _headers,
867
+ _host_index,
868
+ ) -> RequestSerialized:
869
+
870
+ _host = None
871
+
872
+ _collection_formats: Dict[str, str] = {
873
+ }
874
+
875
+ _path_params: Dict[str, str] = {}
876
+ _query_params: List[Tuple[str, str]] = []
877
+ _header_params: Dict[str, Optional[str]] = _headers or {}
878
+ _form_params: List[Tuple[str, str]] = []
879
+ _files: Dict[
880
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
881
+ ] = {}
882
+ _body_params: Optional[bytes] = None
883
+
884
+ # process the path parameters
885
+ if execution_id is not None:
886
+ _path_params['executionId'] = execution_id
887
+ # process the query parameters
888
+ # process the header parameters
889
+ # process the form parameters
890
+ # process the body parameter
891
+ if agents_execution_update_execution_status_request is not None:
892
+ _body_params = agents_execution_update_execution_status_request
893
+
894
+
895
+ # set the HTTP header `Accept`
896
+ if 'Accept' not in _header_params:
897
+ _header_params['Accept'] = self.api_client.select_header_accept(
898
+ [
899
+ 'text/plain',
900
+ 'application/json'
901
+ ]
902
+ )
903
+
904
+ # set the HTTP header `Content-Type`
905
+ if _content_type:
906
+ _header_params['Content-Type'] = _content_type
907
+ else:
908
+ _default_content_type = (
909
+ self.api_client.select_header_content_type(
910
+ [
911
+ 'application/json'
912
+ ]
913
+ )
914
+ )
915
+ if _default_content_type is not None:
916
+ _header_params['Content-Type'] = _default_content_type
917
+
918
+ # authentication setting
919
+ _auth_settings: List[str] = [
920
+ 'ApiKeyAuth'
921
+ ]
922
+
923
+ return self.api_client.param_serialize(
924
+ method='POST',
925
+ resource_path='/executions/{executionId}/status',
926
+ path_params=_path_params,
927
+ query_params=_query_params,
928
+ header_params=_header_params,
929
+ body=_body_params,
930
+ post_params=_form_params,
931
+ files=_files,
932
+ auth_settings=_auth_settings,
933
+ collection_formats=_collection_formats,
934
+ _host=_host,
935
+ _request_auth=_request_auth
936
+ )
937
+
938
+
939
+
940
+
635
941
  @validate_call
636
942
  def execution_user_messages_add(
637
943
  self,
@@ -952,6 +1258,7 @@ class ExecutionApi:
952
1258
  outcome_label: Annotated[Optional[StrictStr], Field(description="Filter by execution result outcome (partial, case-insensitive match)")] = None,
953
1259
  metadata_key: Annotated[Optional[StrictStr], Field(description="Filter by metadata key - must be used together with metadataValue")] = None,
954
1260
  metadata_value: Annotated[Optional[StrictStr], Field(description="Filter by metadata value - must be used together with metadataKey")] = None,
1261
+ workflow_version: Annotated[Optional[StrictInt], Field(description="Filter by workflow version number")] = None,
955
1262
  sort_field: Optional[AgentsExecutionSortField] = None,
956
1263
  sort_direction: Optional[CommonSortDirection] = None,
957
1264
  _request_timeout: Union[
@@ -995,6 +1302,8 @@ class ExecutionApi:
995
1302
  :type metadata_key: str
996
1303
  :param metadata_value: Filter by metadata value - must be used together with metadataKey
997
1304
  :type metadata_value: str
1305
+ :param workflow_version: Filter by workflow version number
1306
+ :type workflow_version: int
998
1307
  :param sort_field:
999
1308
  :type sort_field: AgentsExecutionSortField
1000
1309
  :param sort_direction:
@@ -1034,6 +1343,7 @@ class ExecutionApi:
1034
1343
  outcome_label=outcome_label,
1035
1344
  metadata_key=metadata_key,
1036
1345
  metadata_value=metadata_value,
1346
+ workflow_version=workflow_version,
1037
1347
  sort_field=sort_field,
1038
1348
  sort_direction=sort_direction,
1039
1349
  _request_auth=_request_auth,
@@ -1076,6 +1386,7 @@ class ExecutionApi:
1076
1386
  outcome_label: Annotated[Optional[StrictStr], Field(description="Filter by execution result outcome (partial, case-insensitive match)")] = None,
1077
1387
  metadata_key: Annotated[Optional[StrictStr], Field(description="Filter by metadata key - must be used together with metadataValue")] = None,
1078
1388
  metadata_value: Annotated[Optional[StrictStr], Field(description="Filter by metadata value - must be used together with metadataKey")] = None,
1389
+ workflow_version: Annotated[Optional[StrictInt], Field(description="Filter by workflow version number")] = None,
1079
1390
  sort_field: Optional[AgentsExecutionSortField] = None,
1080
1391
  sort_direction: Optional[CommonSortDirection] = None,
1081
1392
  _request_timeout: Union[
@@ -1119,6 +1430,8 @@ class ExecutionApi:
1119
1430
  :type metadata_key: str
1120
1431
  :param metadata_value: Filter by metadata value - must be used together with metadataKey
1121
1432
  :type metadata_value: str
1433
+ :param workflow_version: Filter by workflow version number
1434
+ :type workflow_version: int
1122
1435
  :param sort_field:
1123
1436
  :type sort_field: AgentsExecutionSortField
1124
1437
  :param sort_direction:
@@ -1158,6 +1471,7 @@ class ExecutionApi:
1158
1471
  outcome_label=outcome_label,
1159
1472
  metadata_key=metadata_key,
1160
1473
  metadata_value=metadata_value,
1474
+ workflow_version=workflow_version,
1161
1475
  sort_field=sort_field,
1162
1476
  sort_direction=sort_direction,
1163
1477
  _request_auth=_request_auth,
@@ -1200,6 +1514,7 @@ class ExecutionApi:
1200
1514
  outcome_label: Annotated[Optional[StrictStr], Field(description="Filter by execution result outcome (partial, case-insensitive match)")] = None,
1201
1515
  metadata_key: Annotated[Optional[StrictStr], Field(description="Filter by metadata key - must be used together with metadataValue")] = None,
1202
1516
  metadata_value: Annotated[Optional[StrictStr], Field(description="Filter by metadata value - must be used together with metadataKey")] = None,
1517
+ workflow_version: Annotated[Optional[StrictInt], Field(description="Filter by workflow version number")] = None,
1203
1518
  sort_field: Optional[AgentsExecutionSortField] = None,
1204
1519
  sort_direction: Optional[CommonSortDirection] = None,
1205
1520
  _request_timeout: Union[
@@ -1243,6 +1558,8 @@ class ExecutionApi:
1243
1558
  :type metadata_key: str
1244
1559
  :param metadata_value: Filter by metadata value - must be used together with metadataKey
1245
1560
  :type metadata_value: str
1561
+ :param workflow_version: Filter by workflow version number
1562
+ :type workflow_version: int
1246
1563
  :param sort_field:
1247
1564
  :type sort_field: AgentsExecutionSortField
1248
1565
  :param sort_direction:
@@ -1282,6 +1599,7 @@ class ExecutionApi:
1282
1599
  outcome_label=outcome_label,
1283
1600
  metadata_key=metadata_key,
1284
1601
  metadata_value=metadata_value,
1602
+ workflow_version=workflow_version,
1285
1603
  sort_field=sort_field,
1286
1604
  sort_direction=sort_direction,
1287
1605
  _request_auth=_request_auth,
@@ -1319,6 +1637,7 @@ class ExecutionApi:
1319
1637
  outcome_label,
1320
1638
  metadata_key,
1321
1639
  metadata_value,
1640
+ workflow_version,
1322
1641
  sort_field,
1323
1642
  sort_direction,
1324
1643
  _request_auth,
@@ -1411,6 +1730,10 @@ class ExecutionApi:
1411
1730
 
1412
1731
  _query_params.append(('metadataValue', metadata_value))
1413
1732
 
1733
+ if workflow_version is not None:
1734
+
1735
+ _query_params.append(('workflowVersion', workflow_version))
1736
+
1414
1737
  if sort_field is not None:
1415
1738
 
1416
1739
  _query_params.append(('sortField', sort_field.value))
@@ -61,6 +61,7 @@ from asteroid_odyssey.models.agents_execution_list_item import AgentsExecutionLi
61
61
  from asteroid_odyssey.models.agents_execution_nav_to_completed_details import AgentsExecutionNavToCompletedDetails
62
62
  from asteroid_odyssey.models.agents_execution_nav_to_started_details import AgentsExecutionNavToStartedDetails
63
63
  from asteroid_odyssey.models.agents_execution_node_details import AgentsExecutionNodeDetails
64
+ from asteroid_odyssey.models.agents_execution_node_output_item import AgentsExecutionNodeOutputItem
64
65
  from asteroid_odyssey.models.agents_execution_obs_snapshot_with_selectors_completed_details import AgentsExecutionObsSnapshotWithSelectorsCompletedDetails
65
66
  from asteroid_odyssey.models.agents_execution_paused_payload import AgentsExecutionPausedPayload
66
67
  from asteroid_odyssey.models.agents_execution_rules_details import AgentsExecutionRulesDetails
@@ -85,7 +86,9 @@ from asteroid_odyssey.models.agents_execution_sort_field import AgentsExecutionS
85
86
  from asteroid_odyssey.models.agents_execution_status import AgentsExecutionStatus
86
87
  from asteroid_odyssey.models.agents_execution_terminal_payload import AgentsExecutionTerminalPayload
87
88
  from asteroid_odyssey.models.agents_execution_transition_details import AgentsExecutionTransitionDetails
89
+ from asteroid_odyssey.models.agents_execution_update_execution_status_request import AgentsExecutionUpdateExecutionStatusRequest
88
90
  from asteroid_odyssey.models.agents_execution_update_type import AgentsExecutionUpdateType
91
+ from asteroid_odyssey.models.agents_execution_updateable_status import AgentsExecutionUpdateableStatus
89
92
  from asteroid_odyssey.models.agents_execution_user_messages_add_text_body import AgentsExecutionUserMessagesAddTextBody
90
93
  from asteroid_odyssey.models.agents_execution_util_get_datetime_completed_details import AgentsExecutionUtilGetDatetimeCompletedDetails
91
94
  from asteroid_odyssey.models.agents_execution_util_get_datetime_started_details import AgentsExecutionUtilGetDatetimeStartedDetails
@@ -19,6 +19,7 @@ import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
+ from asteroid_odyssey.models.agents_execution_node_output_item import AgentsExecutionNodeOutputItem
22
23
  from asteroid_odyssey.models.agents_graph_models_transitions_transition_type import AgentsGraphModelsTransitionsTransitionType
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
@@ -33,7 +34,8 @@ class AgentsExecutionActivityTransitionedNodePayload(BaseModel):
33
34
  new_node_type: StrictStr = Field(alias="newNodeType")
34
35
  from_node_duration: Optional[StrictInt] = Field(default=None, alias="fromNodeDuration")
35
36
  transition_type: Optional[AgentsGraphModelsTransitionsTransitionType] = Field(default=None, alias="transitionType")
36
- __properties: ClassVar[List[str]] = ["activityType", "newNodeUUID", "newNodeName", "newNodeType", "fromNodeDuration", "transitionType"]
37
+ from_node_output: Optional[List[AgentsExecutionNodeOutputItem]] = Field(default=None, description="Output variables provided by the from node", alias="fromNodeOutput")
38
+ __properties: ClassVar[List[str]] = ["activityType", "newNodeUUID", "newNodeName", "newNodeType", "fromNodeDuration", "transitionType", "fromNodeOutput"]
37
39
 
38
40
  @field_validator('activity_type')
39
41
  def activity_type_validate_enum(cls, value):
@@ -81,6 +83,13 @@ class AgentsExecutionActivityTransitionedNodePayload(BaseModel):
81
83
  exclude=excluded_fields,
82
84
  exclude_none=True,
83
85
  )
86
+ # override the default output from pydantic by calling `to_dict()` of each item in from_node_output (list)
87
+ _items = []
88
+ if self.from_node_output:
89
+ for _item_from_node_output in self.from_node_output:
90
+ if _item_from_node_output:
91
+ _items.append(_item_from_node_output.to_dict())
92
+ _dict['fromNodeOutput'] = _items
84
93
  return _dict
85
94
 
86
95
  @classmethod
@@ -98,7 +107,8 @@ class AgentsExecutionActivityTransitionedNodePayload(BaseModel):
98
107
  "newNodeName": obj.get("newNodeName"),
99
108
  "newNodeType": obj.get("newNodeType"),
100
109
  "fromNodeDuration": obj.get("fromNodeDuration"),
101
- "transitionType": obj.get("transitionType")
110
+ "transitionType": obj.get("transitionType"),
111
+ "fromNodeOutput": [AgentsExecutionNodeOutputItem.from_dict(_item) for _item in obj["fromNodeOutput"]] if obj.get("fromNodeOutput") is not None else None
102
112
  })
103
113
  return _obj
104
114
 
@@ -0,0 +1,89 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Agent Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class AgentsExecutionNodeOutputItem(BaseModel):
26
+ """
27
+ A single output variable with a name and value
28
+ """ # noqa: E501
29
+ name: StrictStr = Field(description="The name of the output variable")
30
+ value: StrictStr = Field(description="The value of the output variable")
31
+ __properties: ClassVar[List[str]] = ["name", "value"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of AgentsExecutionNodeOutputItem from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of AgentsExecutionNodeOutputItem from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "name": obj.get("name"),
85
+ "value": obj.get("value")
86
+ })
87
+ return _obj
88
+
89
+
@@ -0,0 +1,88 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Agent Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field
21
+ from typing import Any, ClassVar, Dict, List
22
+ from asteroid_odyssey.models.agents_execution_updateable_status import AgentsExecutionUpdateableStatus
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class AgentsExecutionUpdateExecutionStatusRequest(BaseModel):
27
+ """
28
+ AgentsExecutionUpdateExecutionStatusRequest
29
+ """ # noqa: E501
30
+ status: AgentsExecutionUpdateableStatus = Field(description="The new status to set for the execution")
31
+ __properties: ClassVar[List[str]] = ["status"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of AgentsExecutionUpdateExecutionStatusRequest from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of AgentsExecutionUpdateExecutionStatusRequest from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "status": obj.get("status")
85
+ })
86
+ return _obj
87
+
88
+
@@ -0,0 +1,38 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Agent Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class AgentsExecutionUpdateableStatus(str, Enum):
22
+ """
23
+ Status values that can be set via the update endpoint
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ RUNNING = 'running'
30
+ PAUSED = 'paused'
31
+ CANCELLED = 'cancelled'
32
+
33
+ @classmethod
34
+ def from_json(cls, json_str: str) -> Self:
35
+ """Create an instance of AgentsExecutionUpdateableStatus from a JSON string"""
36
+ return cls(json.loads(json_str))
37
+
38
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asteroid-odyssey
3
- Version: 1.6.1
3
+ Version: 1.6.17
4
4
  Summary: Python SDK for the Asteroid Agents API
5
5
  Author-email: Asteroid <founders@asteroid.com>
6
6
  License-Expression: MIT
@@ -1,4 +1,4 @@
1
- asteroid_odyssey/__init__.py,sha256=MkpmyXxAk3SVsCRy1aAHLDpCDoTXd73FO6gS6bxJwSE,21391
1
+ asteroid_odyssey/__init__.py,sha256=AlNyJDIerJ2Mzvvr0v_zQH5b1khdeJQ07x0EUz24gWE,21965
2
2
  asteroid_odyssey/api_client.py,sha256=vk7bgx6L2b1SvKdTD9RRCY2d1rRvHaI6QoQy0KiFZ8A,27723
3
3
  asteroid_odyssey/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
4
  asteroid_odyssey/configuration.py,sha256=ICQFu0VrF-OoEScevweF58q4R7IMpP_-r9x60nuyba4,18903
@@ -8,9 +8,9 @@ asteroid_odyssey/rest.py,sha256=PrQd_XeVrCJrR7bNi85Sv2BKmisgadkYkSvVeXa7xPs,9473
8
8
  asteroid_odyssey/api/__init__.py,sha256=likCMpf7qYN0xwRbFo-DABPSqFclPQtgcXLHUhskPhc,283
9
9
  asteroid_odyssey/api/agent_profiles_api.py,sha256=EzvS-86oCwa_9xF5XBAy5Z0VaUvJmzcs-ZVbEw16L0U,74023
10
10
  asteroid_odyssey/api/agents_api.py,sha256=EWiMV7wcVBMdas96xbWBNw2mqIs3b04G6S1URXW12-4,26482
11
- asteroid_odyssey/api/execution_api.py,sha256=r1oi9Be6MynnuzsnfkrtkORqflxZWhi33-ZNJ35YGOw,62700
11
+ asteroid_odyssey/api/execution_api.py,sha256=vqo84-Aw5BvJ0ZTDfc21SPdpeuSYRWzzBIgPj1u4-as,77059
12
12
  asteroid_odyssey/api/files_api.py,sha256=3eelhlLfOhN53THJ90LfdLo3kdCnnw5Qml83dtWqPC4,35447
13
- asteroid_odyssey/models/__init__.py,sha256=OOPbUQiBu9uyOJNofi2JOKw1Qg5u5zD0kNw153BYMPQ,11766
13
+ asteroid_odyssey/models/__init__.py,sha256=-iTDH43_NW9UNaqIzCRmTeigoBZlyBkIX_dc2VRxClw,12098
14
14
  asteroid_odyssey/models/agent_list200_response.py,sha256=fZNz18hRSrvKPHPAe16A5p1K1RopKj0Unn6Npglhu7w,3235
15
15
  asteroid_odyssey/models/agent_profile_clear_browser_cache200_response.py,sha256=R7svpgREt63we4utbMFsBPxw2-oycWLwi5xfINc6wL4,2591
16
16
  asteroid_odyssey/models/agent_profiles_list200_response.py,sha256=OHvPOC6Kzo0jLWgkbx8TnkRs9w4VlAMsghH6gpyitdc,3308
@@ -33,7 +33,7 @@ asteroid_odyssey/models/agents_execution_activity_reasoning_payload.py,sha256=eR
33
33
  asteroid_odyssey/models/agents_execution_activity_status_changed_payload.py,sha256=Xulhum0cYJfgXklZE5rP86urPlTH_mJGRAlEW0F-fF8,6164
34
34
  asteroid_odyssey/models/agents_execution_activity_step_completed_payload.py,sha256=TxWr78dmHY3DZ88yXci1AmVtetSzMWn8nFEnhGmZuEQ,3076
35
35
  asteroid_odyssey/models/agents_execution_activity_step_started_payload.py,sha256=mSzcUN46hbTFuxPrVLeQL0wZ9aXVsBS68djbrquQ7o0,3064
36
- asteroid_odyssey/models/agents_execution_activity_transitioned_node_payload.py,sha256=yK4Wo_Q3NfRUhMGBlQ6INwyUJ1LmlU-_1dIPXDiIRgI,3853
36
+ asteroid_odyssey/models/agents_execution_activity_transitioned_node_payload.py,sha256=gBHbOiBcE97nTwYlgUGuXK1RoZd8Cx4Gkfft5d1nwAk,4699
37
37
  asteroid_odyssey/models/agents_execution_activity_user_message_received_payload.py,sha256=thhGRBVaAo5bMtwLisOeTbhJd0EUaiZvE3-fzsb0aeY,3170
38
38
  asteroid_odyssey/models/agents_execution_activity_workflow_updated_payload.py,sha256=YGLzyKgsXROjAQxzZqNI-8968px0HizQaFno9WqbLW0,3715
39
39
  asteroid_odyssey/models/agents_execution_agent_query_context_completed_details.py,sha256=uCXll7oeFrhXI336OSNxbi0sgdL82lbJQlDP4q3Ew60,3105
@@ -58,6 +58,7 @@ asteroid_odyssey/models/agents_execution_llm_call_started_details.py,sha256=90w2
58
58
  asteroid_odyssey/models/agents_execution_nav_to_completed_details.py,sha256=x3FB2vujx1Kedlplfe6jaZ6KhchFuX0KCliZbGgUDzE,3036
59
59
  asteroid_odyssey/models/agents_execution_nav_to_started_details.py,sha256=lphdKOrjjT08uNkk4LEHEOcZZuxgx7M_yDtGsK0Nybo,2942
60
60
  asteroid_odyssey/models/agents_execution_node_details.py,sha256=ER2CJB4e_zIJyBlDxoi-oh3DyOEdzG7lQKo_GWLZ-KI,2779
61
+ asteroid_odyssey/models/agents_execution_node_output_item.py,sha256=Nh7JEaS8eGTnsaz2TOTp4QbOxOk8-ePljKxGJrLM2Ig,2739
61
62
  asteroid_odyssey/models/agents_execution_obs_snapshot_with_selectors_completed_details.py,sha256=7IvwnF8lJz49WwoOIdClHRk5UWLTWNeO-D6YS0NAErE,3137
62
63
  asteroid_odyssey/models/agents_execution_paused_payload.py,sha256=slW-OsLyXs3JyDE9Zx8YGIU2y0msgoKCbHDG8IkYG8k,2539
63
64
  asteroid_odyssey/models/agents_execution_rules_details.py,sha256=6QJ_XkLzSlgxxJqEjnM2jKzgbMkskHqdNSWG4ri_eNk,2531
@@ -82,7 +83,9 @@ asteroid_odyssey/models/agents_execution_sort_field.py,sha256=KVc_CoONxPHD8MQ2x9
82
83
  asteroid_odyssey/models/agents_execution_status.py,sha256=xGM7e94JQGqf9tA4nl0hpmJWFLTIyLhPDLR-bnx_QuY,977
83
84
  asteroid_odyssey/models/agents_execution_terminal_payload.py,sha256=AkN6f_0fkSKasKlssTzKIFu6RDPm4n8gzmggy6ulZtw,3351
84
85
  asteroid_odyssey/models/agents_execution_transition_details.py,sha256=v9DuY5uODsDIO49hxUcn8gfUv7fED7G6Nz2Qf95iT2o,2755
86
+ asteroid_odyssey/models/agents_execution_update_execution_status_request.py,sha256=M6Op-oX10ryXyvyZfQkm93Z8ZutndKc44lKIF1rDKzk,2783
85
87
  asteroid_odyssey/models/agents_execution_update_type.py,sha256=2oVD53MapRhp93RB9fBDltn9ZWlR0rNApk-dLR5P-Rg,803
88
+ asteroid_odyssey/models/agents_execution_updateable_status.py,sha256=N_SxbG1lCbZLcU064jDyROGgHpzzQwcOXwCuEB4fC_o,861
86
89
  asteroid_odyssey/models/agents_execution_user_messages_add_text_body.py,sha256=RvfuJaVRDkEunpPBdLBVEfj7muuIokoQXHxZJ_o1FHE,2583
87
90
  asteroid_odyssey/models/agents_execution_util_get_datetime_completed_details.py,sha256=1FzwiTi7lNmRbJ6WfyYrKGnNkuWNdIf8vJTyiRYNulE,3407
88
91
  asteroid_odyssey/models/agents_execution_util_get_datetime_started_details.py,sha256=hReMWYIPNZxHIM5MfzQbMt4MFGQHgVhwuh5qxEjoaJg,3112
@@ -113,7 +116,7 @@ asteroid_odyssey/models/common_sort_direction.py,sha256=UBW99PM3QRGRRE7dB5OSBhmh
113
116
  asteroid_odyssey/models/common_unauthorized_error_body.py,sha256=Ng62vZVuPWEkTvdnYimbItSKhUGT9G52ZOapMQ2O7Xg,2897
114
117
  asteroid_odyssey/models/executions_list200_response.py,sha256=hbMbbsh7F8Cjl3S2hhRkcH4cvHCL24TVz8fwhGE9LfI,3288
115
118
  asteroid_odyssey/models/version.py,sha256=Vjiri_a5CcDJ1lSziRqif5HuFpaxneVDLIB1r8SFIkE,707
116
- asteroid_odyssey-1.6.1.dist-info/METADATA,sha256=LrosAW_SJVTZEizkZEMHkm_3cRVrN6VvuvmIbQN6CEg,1894
117
- asteroid_odyssey-1.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
118
- asteroid_odyssey-1.6.1.dist-info/top_level.txt,sha256=h4T6NKscnThJ4Nhzors2NKlJeZzepnM7XvDgsnfi5HA,17
119
- asteroid_odyssey-1.6.1.dist-info/RECORD,,
119
+ asteroid_odyssey-1.6.17.dist-info/METADATA,sha256=WdHwAvk0V8Ds4mMTIYDr1QNwc5FqDIsfe1Eza5T8LSA,1895
120
+ asteroid_odyssey-1.6.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
121
+ asteroid_odyssey-1.6.17.dist-info/top_level.txt,sha256=h4T6NKscnThJ4Nhzors2NKlJeZzepnM7XvDgsnfi5HA,17
122
+ asteroid_odyssey-1.6.17.dist-info/RECORD,,