asteroid-odyssey 1.3.13__py3-none-any.whl → 1.6.1__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.
- asteroid_odyssey/__init__.py +254 -82
- asteroid_odyssey/api/__init__.py +8 -0
- asteroid_odyssey/{agents_v1_gen/api/agent_profile_api.py → api/agent_profiles_api.py} +414 -281
- asteroid_odyssey/{agents_v2_gen/api → api}/agents_api.py +30 -30
- asteroid_odyssey/{agents_v2_gen/api → api}/execution_api.py +32 -49
- asteroid_odyssey/{agents_v2_gen/api → api}/files_api.py +5 -5
- asteroid_odyssey/{agents_v2_gen/api_client.py → api_client.py} +10 -6
- asteroid_odyssey/{agents_v2_gen/configuration.py → configuration.py} +11 -4
- asteroid_odyssey/models/__init__.py +118 -0
- asteroid_odyssey/{agents_v2_gen/models → models}/agent_list200_response.py +1 -1
- asteroid_odyssey/models/agent_profile_clear_browser_cache200_response.py +87 -0
- asteroid_odyssey/models/agent_profiles_list200_response.py +101 -0
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_agent_base.py +3 -3
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_agent_execute_agent_request.py +7 -5
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_action_completed_info.py +65 -37
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_action_completed_payload.py +8 -8
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_action_failed_payload.py +9 -9
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_action_started_info.py +50 -22
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_action_started_payload.py +10 -10
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_file_added_payload.py +6 -6
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_payload_union.py +14 -14
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_playwright_script_generated_payload.py +9 -9
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_status_changed_payload.py +19 -19
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_transitioned_node_payload.py +6 -6
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_workflow_updated_payload.py +1 -1
- asteroid_odyssey/models/agents_execution_agent_query_context_completed_details.py +98 -0
- asteroid_odyssey/models/agents_execution_agent_query_context_started_details.py +96 -0
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_cancelled_payload.py +1 -1
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_comment.py +10 -10
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_completed_payload.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_execution_result.py +6 -6
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_ext_api_call_completed_details.py +6 -6
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_failed_payload.py +5 -5
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_file_read_completed_details.py +3 -3
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_human_label.py +7 -7
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_list_item.py +33 -37
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_llm_call_started_details.py +1 -1
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_obs_snapshot_with_selectors_completed_details.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scratchpad_write_completed_details.py +7 -7
- asteroid_odyssey/models/agents_execution_script_eval_completed_details.py +101 -0
- asteroid_odyssey/models/agents_execution_script_eval_started_details.py +100 -0
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_script_hybrid_playwright_completed_details.py +6 -6
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_script_pad_run_function_completed_details.py +6 -6
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_script_playwright_completed_details.py +6 -6
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scriptpad_read_started_details.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scriptpad_run_function_started_details.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scriptpad_search_replace_completed_details.py +5 -5
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scriptpad_search_replace_started_details.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scriptpad_write_completed_details.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_terminal_payload.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_util_get_datetime_completed_details.py +4 -4
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_workflow_update.py +13 -13
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_files_file.py +11 -11
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_files_temp_files_response.py +1 -1
- asteroid_odyssey/{agents_v2_gen/models → models}/agents_graph_models_nodes_properties_playwright_script_llm_var.py +5 -5
- asteroid_odyssey/{agents_v1_gen/models/agent_profile.py → models/agents_profile_agent_profile.py} +37 -32
- asteroid_odyssey/{agents_v1_gen/models/cookie.py → models/agents_profile_cookie.py} +21 -26
- asteroid_odyssey/{agents_v1_gen/models/country_code.py → models/agents_profile_country_code.py} +5 -5
- asteroid_odyssey/{agents_v1_gen/models/create_agent_profile_request.py → models/agents_profile_create_agent_profile_request.py} +33 -28
- asteroid_odyssey/{agents_v1_gen/models/credential.py → models/agents_profile_credential.py} +13 -13
- asteroid_odyssey/models/agents_profile_operating_system.py +37 -0
- asteroid_odyssey/models/agents_profile_proxy_type.py +38 -0
- asteroid_odyssey/models/agents_profile_same_site.py +38 -0
- asteroid_odyssey/models/agents_profile_sort_field.py +38 -0
- asteroid_odyssey/models/agents_profile_update_agent_profile_request.py +129 -0
- asteroid_odyssey/{agents_v2_gen/models → models}/executions_list200_response.py +1 -1
- asteroid_odyssey/{agents_v2_gen/rest.py → rest.py} +2 -1
- asteroid_odyssey-1.6.1.dist-info/METADATA +64 -0
- asteroid_odyssey-1.6.1.dist-info/RECORD +119 -0
- asteroid_odyssey/agents_v1_gen/__init__.py +0 -53
- asteroid_odyssey/agents_v1_gen/api/__init__.py +0 -7
- asteroid_odyssey/agents_v1_gen/api/api_api.py +0 -516
- asteroid_odyssey/agents_v1_gen/api/execution_api.py +0 -1449
- asteroid_odyssey/agents_v1_gen/api_client.py +0 -797
- asteroid_odyssey/agents_v1_gen/configuration.py +0 -599
- asteroid_odyssey/agents_v1_gen/exceptions.py +0 -216
- asteroid_odyssey/agents_v1_gen/models/__init__.py +0 -34
- asteroid_odyssey/agents_v1_gen/models/browser_session_recording_response.py +0 -87
- asteroid_odyssey/agents_v1_gen/models/delete_agent_profile200_response.py +0 -87
- asteroid_odyssey/agents_v1_gen/models/error_response.py +0 -87
- asteroid_odyssey/agents_v1_gen/models/execution_response.py +0 -87
- asteroid_odyssey/agents_v1_gen/models/execution_result.py +0 -101
- asteroid_odyssey/agents_v1_gen/models/execution_result_response.py +0 -100
- asteroid_odyssey/agents_v1_gen/models/execution_status_response.py +0 -95
- asteroid_odyssey/agents_v1_gen/models/health_check200_response.py +0 -87
- asteroid_odyssey/agents_v1_gen/models/health_check500_response.py +0 -87
- asteroid_odyssey/agents_v1_gen/models/proxy_type.py +0 -38
- asteroid_odyssey/agents_v1_gen/models/status.py +0 -43
- asteroid_odyssey/agents_v1_gen/models/structured_agent_execution_request.py +0 -89
- asteroid_odyssey/agents_v1_gen/models/update_agent_profile_request.py +0 -126
- asteroid_odyssey/agents_v1_gen/rest.py +0 -257
- asteroid_odyssey/agents_v2_gen/__init__.py +0 -121
- asteroid_odyssey/agents_v2_gen/api/__init__.py +0 -7
- asteroid_odyssey/agents_v2_gen/api_response.py +0 -21
- asteroid_odyssey/agents_v2_gen/models/__init__.py +0 -102
- asteroid_odyssey/agents_v2_gen/py.typed +0 -0
- asteroid_odyssey/client.py +0 -1629
- asteroid_odyssey-1.3.13.dist-info/METADATA +0 -214
- asteroid_odyssey-1.3.13.dist-info/RECORD +0 -134
- /asteroid_odyssey/{agents_v1_gen/api_response.py → api_response.py} +0 -0
- /asteroid_odyssey/{agents_v2_gen/exceptions.py → exceptions.py} +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_agent_execute_agent_response.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_agent_sort_field.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_action_name.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_generic_payload.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_reasoning_payload.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_step_completed_payload.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_step_started_payload.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_activity_user_message_received_payload.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_awaiting_confirmation_payload.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_cancel_reason.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_element_file_upload_completed_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_ext_get_mail_completed_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_file_list_completed_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_file_stage_completed_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_llm_call_purpose.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_nav_to_completed_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_nav_to_started_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_node_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_paused_payload.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_rules_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scratchpad_read_completed_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scratchpad_read_started_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scratchpad_write_started_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_script_hybrid_playwright_started_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_script_playwright_started_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_scriptpad_read_completed_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_sort_field.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_status.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_transition_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_update_type.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_user_messages_add_text_body.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_execution_util_get_datetime_started_details.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_files_temp_file.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_graph_models_nodes_properties_playwright_script_llm_var_type.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/agents_graph_models_transitions_transition_type.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/common_bad_request_error_body.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/common_error.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/common_forbidden_error_body.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/common_internal_server_error_body.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/common_not_found_error_body.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/common_os_error.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/common_sort_direction.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/common_unauthorized_error_body.py +0 -0
- /asteroid_odyssey/{agents_v2_gen/models → models}/version.py +0 -0
- /asteroid_odyssey/{agents_v1_gen/py.typed → py.typed} +0 -0
- {asteroid_odyssey-1.3.13.dist-info → asteroid_odyssey-1.6.1.dist-info}/WHEEL +0 -0
- {asteroid_odyssey-1.3.13.dist-info → asteroid_odyssey-1.6.1.dist-info}/top_level.txt +0 -0
asteroid_odyssey/{agents_v1_gen/models/country_code.py → models/agents_profile_country_code.py}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
|
|
4
|
+
Agent Service
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: v1
|
|
8
|
+
The version of the OpenAPI document: v1
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
10
|
|
|
11
11
|
Do not edit the class manually.
|
|
@@ -18,7 +18,7 @@ from enum import Enum
|
|
|
18
18
|
from typing_extensions import Self
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
class
|
|
21
|
+
class AgentsProfileCountryCode(str, Enum):
|
|
22
22
|
"""
|
|
23
23
|
Two-letter country code for proxy location
|
|
24
24
|
"""
|
|
@@ -38,7 +38,7 @@ class CountryCode(str, Enum):
|
|
|
38
38
|
|
|
39
39
|
@classmethod
|
|
40
40
|
def from_json(cls, json_str: str) -> Self:
|
|
41
|
-
"""Create an instance of
|
|
41
|
+
"""Create an instance of AgentsProfileCountryCode from a JSON string"""
|
|
42
42
|
return cls(json.loads(json_str))
|
|
43
43
|
|
|
44
44
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
|
|
4
|
+
Agent Service
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: v1
|
|
8
|
+
The version of the OpenAPI document: v1
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
10
|
|
|
11
11
|
Do not edit the class manually.
|
|
@@ -20,28 +20,31 @@ import json
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
22
|
from typing_extensions import Annotated
|
|
23
|
-
from asteroid_odyssey.
|
|
24
|
-
from asteroid_odyssey.
|
|
25
|
-
from asteroid_odyssey.
|
|
26
|
-
from asteroid_odyssey.
|
|
23
|
+
from asteroid_odyssey.models.agents_profile_cookie import AgentsProfileCookie
|
|
24
|
+
from asteroid_odyssey.models.agents_profile_country_code import AgentsProfileCountryCode
|
|
25
|
+
from asteroid_odyssey.models.agents_profile_credential import AgentsProfileCredential
|
|
26
|
+
from asteroid_odyssey.models.agents_profile_operating_system import AgentsProfileOperatingSystem
|
|
27
|
+
from asteroid_odyssey.models.agents_profile_proxy_type import AgentsProfileProxyType
|
|
27
28
|
from typing import Optional, Set
|
|
28
29
|
from typing_extensions import Self
|
|
29
30
|
|
|
30
|
-
class
|
|
31
|
+
class AgentsProfileCreateAgentProfileRequest(BaseModel):
|
|
31
32
|
"""
|
|
32
|
-
|
|
33
|
+
Request to create a new agent profile
|
|
33
34
|
""" # noqa: E501
|
|
34
35
|
name: Annotated[str, Field(min_length=1, strict=True, max_length=255)] = Field(description="Name of the agent profile (must be unique within organization)")
|
|
35
36
|
description: Annotated[str, Field(strict=True, max_length=1000)] = Field(description="Description of the agent profile")
|
|
36
|
-
organization_id: StrictStr = Field(description="The ID of the organization that the
|
|
37
|
-
proxy_cc:
|
|
38
|
-
proxy_type:
|
|
39
|
-
captcha_solver_active: StrictBool = Field(description="Whether the captcha solver should be active
|
|
40
|
-
sticky_ip: StrictBool = Field(description="Whether the same IP address
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
organization_id: StrictStr = Field(description="The ID of the organization that the profile belongs to", alias="organizationId")
|
|
38
|
+
proxy_cc: Optional[AgentsProfileCountryCode] = Field(default=None, description="Country code for proxy location", alias="proxyCC")
|
|
39
|
+
proxy_type: Optional[AgentsProfileProxyType] = Field(default=None, description="Type of proxy to use", alias="proxyType")
|
|
40
|
+
captcha_solver_active: Optional[StrictBool] = Field(default=False, description="Whether the captcha solver should be active", alias="captchaSolverActive")
|
|
41
|
+
sticky_ip: Optional[StrictBool] = Field(default=False, description="Whether to use the same IP address for all executions", alias="stickyIP")
|
|
42
|
+
operating_system: Optional[AgentsProfileOperatingSystem] = Field(default=None, description="Operating system to emulate", alias="operatingSystem")
|
|
43
|
+
extra_stealth: Optional[StrictBool] = Field(default=False, description="Whether to enable extra stealth mode", alias="extraStealth")
|
|
44
|
+
cache_persistence: Optional[StrictBool] = Field(default=False, description="Whether to persist browser cache between sessions", alias="cachePersistence")
|
|
45
|
+
credentials: Optional[List[AgentsProfileCredential]] = Field(default=None, description="Initial credentials to create with the profile")
|
|
46
|
+
cookies: Optional[List[AgentsProfileCookie]] = Field(default=None, description="Initial cookies to create with the profile")
|
|
47
|
+
__properties: ClassVar[List[str]] = ["name", "description", "organizationId", "proxyCC", "proxyType", "captchaSolverActive", "stickyIP", "operatingSystem", "extraStealth", "cachePersistence", "credentials", "cookies"]
|
|
45
48
|
|
|
46
49
|
model_config = ConfigDict(
|
|
47
50
|
populate_by_name=True,
|
|
@@ -61,7 +64,7 @@ class CreateAgentProfileRequest(BaseModel):
|
|
|
61
64
|
|
|
62
65
|
@classmethod
|
|
63
66
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
64
|
-
"""Create an instance of
|
|
67
|
+
"""Create an instance of AgentsProfileCreateAgentProfileRequest from a JSON string"""
|
|
65
68
|
return cls.from_dict(json.loads(json_str))
|
|
66
69
|
|
|
67
70
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -100,7 +103,7 @@ class CreateAgentProfileRequest(BaseModel):
|
|
|
100
103
|
|
|
101
104
|
@classmethod
|
|
102
105
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
103
|
-
"""Create an instance of
|
|
106
|
+
"""Create an instance of AgentsProfileCreateAgentProfileRequest from a dict"""
|
|
104
107
|
if obj is None:
|
|
105
108
|
return None
|
|
106
109
|
|
|
@@ -110,14 +113,16 @@ class CreateAgentProfileRequest(BaseModel):
|
|
|
110
113
|
_obj = cls.model_validate({
|
|
111
114
|
"name": obj.get("name"),
|
|
112
115
|
"description": obj.get("description"),
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
116
|
+
"organizationId": obj.get("organizationId"),
|
|
117
|
+
"proxyCC": obj.get("proxyCC"),
|
|
118
|
+
"proxyType": obj.get("proxyType"),
|
|
119
|
+
"captchaSolverActive": obj.get("captchaSolverActive") if obj.get("captchaSolverActive") is not None else False,
|
|
120
|
+
"stickyIP": obj.get("stickyIP") if obj.get("stickyIP") is not None else False,
|
|
121
|
+
"operatingSystem": obj.get("operatingSystem"),
|
|
122
|
+
"extraStealth": obj.get("extraStealth") if obj.get("extraStealth") is not None else False,
|
|
123
|
+
"cachePersistence": obj.get("cachePersistence") if obj.get("cachePersistence") is not None else False,
|
|
124
|
+
"credentials": [AgentsProfileCredential.from_dict(_item) for _item in obj["credentials"]] if obj.get("credentials") is not None else None,
|
|
125
|
+
"cookies": [AgentsProfileCookie.from_dict(_item) for _item in obj["cookies"]] if obj.get("cookies") is not None else None
|
|
121
126
|
})
|
|
122
127
|
return _obj
|
|
123
128
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
3
|
"""
|
|
4
|
-
|
|
4
|
+
Agent Service
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: v1
|
|
8
|
+
The version of the OpenAPI document: v1
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
10
|
|
|
11
11
|
Do not edit the class manually.
|
|
@@ -24,15 +24,15 @@ from typing_extensions import Annotated
|
|
|
24
24
|
from typing import Optional, Set
|
|
25
25
|
from typing_extensions import Self
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class AgentsProfileCredential(BaseModel):
|
|
28
28
|
"""
|
|
29
|
-
|
|
29
|
+
A credential stored for an agent profile
|
|
30
30
|
""" # noqa: E501
|
|
31
|
-
id: Optional[StrictStr] = Field(default=None, description="
|
|
32
|
-
name: Annotated[str, Field(min_length=1, strict=True)] = Field(description="
|
|
33
|
-
data: Annotated[str, Field(min_length=1, strict=True)] = Field(description="The encrypted
|
|
34
|
-
created_at: Optional[datetime] = Field(default=None, description="When the credential was created")
|
|
35
|
-
__properties: ClassVar[List[str]] = ["id", "name", "data", "
|
|
31
|
+
id: Optional[StrictStr] = Field(default=None, description="Unique identifier for the credential")
|
|
32
|
+
name: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Display name for the credential (will be uppercased)")
|
|
33
|
+
data: Annotated[str, Field(min_length=1, strict=True)] = Field(description="The credential value (plaintext - will be encrypted server-side)")
|
|
34
|
+
created_at: Optional[datetime] = Field(default=None, description="When the credential was created", alias="createdAt")
|
|
35
|
+
__properties: ClassVar[List[str]] = ["id", "name", "data", "createdAt"]
|
|
36
36
|
|
|
37
37
|
model_config = ConfigDict(
|
|
38
38
|
populate_by_name=True,
|
|
@@ -52,7 +52,7 @@ class Credential(BaseModel):
|
|
|
52
52
|
|
|
53
53
|
@classmethod
|
|
54
54
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
55
|
-
"""Create an instance of
|
|
55
|
+
"""Create an instance of AgentsProfileCredential from a JSON string"""
|
|
56
56
|
return cls.from_dict(json.loads(json_str))
|
|
57
57
|
|
|
58
58
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -77,7 +77,7 @@ class Credential(BaseModel):
|
|
|
77
77
|
|
|
78
78
|
@classmethod
|
|
79
79
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
80
|
-
"""Create an instance of
|
|
80
|
+
"""Create an instance of AgentsProfileCredential from a dict"""
|
|
81
81
|
if obj is None:
|
|
82
82
|
return None
|
|
83
83
|
|
|
@@ -88,7 +88,7 @@ class Credential(BaseModel):
|
|
|
88
88
|
"id": obj.get("id"),
|
|
89
89
|
"name": obj.get("name"),
|
|
90
90
|
"data": obj.get("data"),
|
|
91
|
-
"
|
|
91
|
+
"createdAt": obj.get("createdAt")
|
|
92
92
|
})
|
|
93
93
|
return _obj
|
|
94
94
|
|
|
@@ -0,0 +1,37 @@
|
|
|
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 AgentsProfileOperatingSystem(str, Enum):
|
|
22
|
+
"""
|
|
23
|
+
Operating system to emulate in the browser
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
"""
|
|
27
|
+
allowed enum values
|
|
28
|
+
"""
|
|
29
|
+
MACOS = 'macos'
|
|
30
|
+
WINDOWS = 'windows'
|
|
31
|
+
|
|
32
|
+
@classmethod
|
|
33
|
+
def from_json(cls, json_str: str) -> Self:
|
|
34
|
+
"""Create an instance of AgentsProfileOperatingSystem from a JSON string"""
|
|
35
|
+
return cls(json.loads(json_str))
|
|
36
|
+
|
|
37
|
+
|
|
@@ -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 AgentsProfileProxyType(str, Enum):
|
|
22
|
+
"""
|
|
23
|
+
Type of proxy to use for browser sessions
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
"""
|
|
27
|
+
allowed enum values
|
|
28
|
+
"""
|
|
29
|
+
BASIC = 'basic'
|
|
30
|
+
RESIDENTIAL = 'residential'
|
|
31
|
+
MOBILE = 'mobile'
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def from_json(cls, json_str: str) -> Self:
|
|
35
|
+
"""Create an instance of AgentsProfileProxyType from a JSON string"""
|
|
36
|
+
return cls(json.loads(json_str))
|
|
37
|
+
|
|
38
|
+
|
|
@@ -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 AgentsProfileSameSite(str, Enum):
|
|
22
|
+
"""
|
|
23
|
+
SameSite attribute for cookies
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
"""
|
|
27
|
+
allowed enum values
|
|
28
|
+
"""
|
|
29
|
+
STRICT = 'Strict'
|
|
30
|
+
LAX = 'Lax'
|
|
31
|
+
NONE = 'None'
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def from_json(cls, json_str: str) -> Self:
|
|
35
|
+
"""Create an instance of AgentsProfileSameSite from a JSON string"""
|
|
36
|
+
return cls(json.loads(json_str))
|
|
37
|
+
|
|
38
|
+
|
|
@@ -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 AgentsProfileSortField(str, Enum):
|
|
22
|
+
"""
|
|
23
|
+
Available fields for sorting agent profiles
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
"""
|
|
27
|
+
allowed enum values
|
|
28
|
+
"""
|
|
29
|
+
NAME = 'name'
|
|
30
|
+
CREATED_AT = 'created_at'
|
|
31
|
+
UPDATED_AT = 'updated_at'
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def from_json(cls, json_str: str) -> Self:
|
|
35
|
+
"""Create an instance of AgentsProfileSortField from a JSON string"""
|
|
36
|
+
return cls(json.loads(json_str))
|
|
37
|
+
|
|
38
|
+
|
|
@@ -0,0 +1,129 @@
|
|
|
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, StrictBool, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from typing_extensions import Annotated
|
|
23
|
+
from asteroid_odyssey.models.agents_profile_cookie import AgentsProfileCookie
|
|
24
|
+
from asteroid_odyssey.models.agents_profile_country_code import AgentsProfileCountryCode
|
|
25
|
+
from asteroid_odyssey.models.agents_profile_credential import AgentsProfileCredential
|
|
26
|
+
from asteroid_odyssey.models.agents_profile_operating_system import AgentsProfileOperatingSystem
|
|
27
|
+
from asteroid_odyssey.models.agents_profile_proxy_type import AgentsProfileProxyType
|
|
28
|
+
from typing import Optional, Set
|
|
29
|
+
from typing_extensions import Self
|
|
30
|
+
|
|
31
|
+
class AgentsProfileUpdateAgentProfileRequest(BaseModel):
|
|
32
|
+
"""
|
|
33
|
+
Request to update an existing agent profile
|
|
34
|
+
""" # noqa: E501
|
|
35
|
+
name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=255)]] = Field(default=None, description="New name for the profile")
|
|
36
|
+
description: Optional[Annotated[str, Field(strict=True, max_length=1000)]] = Field(default=None, description="New description for the profile")
|
|
37
|
+
proxy_cc: Optional[AgentsProfileCountryCode] = Field(default=None, description="Country code for proxy location", alias="proxyCC")
|
|
38
|
+
proxy_type: Optional[AgentsProfileProxyType] = Field(default=None, description="Type of proxy to use (set to empty string to disable proxy)", alias="proxyType")
|
|
39
|
+
captcha_solver_active: Optional[StrictBool] = Field(default=None, description="Whether the captcha solver should be active", alias="captchaSolverActive")
|
|
40
|
+
operating_system: Optional[AgentsProfileOperatingSystem] = Field(default=None, description="Operating system to emulate", alias="operatingSystem")
|
|
41
|
+
extra_stealth: Optional[StrictBool] = Field(default=None, description="Whether to enable extra stealth mode", alias="extraStealth")
|
|
42
|
+
cache_persistence: Optional[StrictBool] = Field(default=None, description="Whether to persist browser cache between sessions", alias="cachePersistence")
|
|
43
|
+
credentials_to_add: Optional[List[AgentsProfileCredential]] = Field(default=None, description="Credentials to add to the profile", alias="credentialsToAdd")
|
|
44
|
+
credentials_to_delete: Optional[List[StrictStr]] = Field(default=None, description="IDs of credentials to remove from the profile", alias="credentialsToDelete")
|
|
45
|
+
cookies_to_add: Optional[List[AgentsProfileCookie]] = Field(default=None, description="Cookies to add to the profile", alias="cookiesToAdd")
|
|
46
|
+
cookies_to_delete: Optional[List[StrictStr]] = Field(default=None, description="IDs of cookies to remove from the profile", alias="cookiesToDelete")
|
|
47
|
+
__properties: ClassVar[List[str]] = ["name", "description", "proxyCC", "proxyType", "captchaSolverActive", "operatingSystem", "extraStealth", "cachePersistence", "credentialsToAdd", "credentialsToDelete", "cookiesToAdd", "cookiesToDelete"]
|
|
48
|
+
|
|
49
|
+
model_config = ConfigDict(
|
|
50
|
+
populate_by_name=True,
|
|
51
|
+
validate_assignment=True,
|
|
52
|
+
protected_namespaces=(),
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def to_str(self) -> str:
|
|
57
|
+
"""Returns the string representation of the model using alias"""
|
|
58
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
59
|
+
|
|
60
|
+
def to_json(self) -> str:
|
|
61
|
+
"""Returns the JSON representation of the model using alias"""
|
|
62
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
63
|
+
return json.dumps(self.to_dict())
|
|
64
|
+
|
|
65
|
+
@classmethod
|
|
66
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
67
|
+
"""Create an instance of AgentsProfileUpdateAgentProfileRequest from a JSON string"""
|
|
68
|
+
return cls.from_dict(json.loads(json_str))
|
|
69
|
+
|
|
70
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
71
|
+
"""Return the dictionary representation of the model using alias.
|
|
72
|
+
|
|
73
|
+
This has the following differences from calling pydantic's
|
|
74
|
+
`self.model_dump(by_alias=True)`:
|
|
75
|
+
|
|
76
|
+
* `None` is only added to the output dict for nullable fields that
|
|
77
|
+
were set at model initialization. Other fields with value `None`
|
|
78
|
+
are ignored.
|
|
79
|
+
"""
|
|
80
|
+
excluded_fields: Set[str] = set([
|
|
81
|
+
])
|
|
82
|
+
|
|
83
|
+
_dict = self.model_dump(
|
|
84
|
+
by_alias=True,
|
|
85
|
+
exclude=excluded_fields,
|
|
86
|
+
exclude_none=True,
|
|
87
|
+
)
|
|
88
|
+
# override the default output from pydantic by calling `to_dict()` of each item in credentials_to_add (list)
|
|
89
|
+
_items = []
|
|
90
|
+
if self.credentials_to_add:
|
|
91
|
+
for _item_credentials_to_add in self.credentials_to_add:
|
|
92
|
+
if _item_credentials_to_add:
|
|
93
|
+
_items.append(_item_credentials_to_add.to_dict())
|
|
94
|
+
_dict['credentialsToAdd'] = _items
|
|
95
|
+
# override the default output from pydantic by calling `to_dict()` of each item in cookies_to_add (list)
|
|
96
|
+
_items = []
|
|
97
|
+
if self.cookies_to_add:
|
|
98
|
+
for _item_cookies_to_add in self.cookies_to_add:
|
|
99
|
+
if _item_cookies_to_add:
|
|
100
|
+
_items.append(_item_cookies_to_add.to_dict())
|
|
101
|
+
_dict['cookiesToAdd'] = _items
|
|
102
|
+
return _dict
|
|
103
|
+
|
|
104
|
+
@classmethod
|
|
105
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
106
|
+
"""Create an instance of AgentsProfileUpdateAgentProfileRequest from a dict"""
|
|
107
|
+
if obj is None:
|
|
108
|
+
return None
|
|
109
|
+
|
|
110
|
+
if not isinstance(obj, dict):
|
|
111
|
+
return cls.model_validate(obj)
|
|
112
|
+
|
|
113
|
+
_obj = cls.model_validate({
|
|
114
|
+
"name": obj.get("name"),
|
|
115
|
+
"description": obj.get("description"),
|
|
116
|
+
"proxyCC": obj.get("proxyCC"),
|
|
117
|
+
"proxyType": obj.get("proxyType"),
|
|
118
|
+
"captchaSolverActive": obj.get("captchaSolverActive"),
|
|
119
|
+
"operatingSystem": obj.get("operatingSystem"),
|
|
120
|
+
"extraStealth": obj.get("extraStealth"),
|
|
121
|
+
"cachePersistence": obj.get("cachePersistence"),
|
|
122
|
+
"credentialsToAdd": [AgentsProfileCredential.from_dict(_item) for _item in obj["credentialsToAdd"]] if obj.get("credentialsToAdd") is not None else None,
|
|
123
|
+
"credentialsToDelete": obj.get("credentialsToDelete"),
|
|
124
|
+
"cookiesToAdd": [AgentsProfileCookie.from_dict(_item) for _item in obj["cookiesToAdd"]] if obj.get("cookiesToAdd") is not None else None,
|
|
125
|
+
"cookiesToDelete": obj.get("cookiesToDelete")
|
|
126
|
+
})
|
|
127
|
+
return _obj
|
|
128
|
+
|
|
129
|
+
|
|
@@ -19,7 +19,7 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
|
21
21
|
from typing import Any, ClassVar, Dict, List
|
|
22
|
-
from asteroid_odyssey.
|
|
22
|
+
from asteroid_odyssey.models.agents_execution_list_item import AgentsExecutionListItem
|
|
23
23
|
from typing import Optional, Set
|
|
24
24
|
from typing_extensions import Self
|
|
25
25
|
|
|
@@ -19,7 +19,7 @@ import ssl
|
|
|
19
19
|
|
|
20
20
|
import urllib3
|
|
21
21
|
|
|
22
|
-
from asteroid_odyssey.
|
|
22
|
+
from asteroid_odyssey.exceptions import ApiException, ApiValueError
|
|
23
23
|
|
|
24
24
|
SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"}
|
|
25
25
|
RESTResponseType = urllib3.HTTPResponse
|
|
@@ -76,6 +76,7 @@ class RESTClientObject:
|
|
|
76
76
|
"ca_certs": configuration.ssl_ca_cert,
|
|
77
77
|
"cert_file": configuration.cert_file,
|
|
78
78
|
"key_file": configuration.key_file,
|
|
79
|
+
"ca_cert_data": configuration.ca_cert_data,
|
|
79
80
|
}
|
|
80
81
|
if configuration.assert_hostname is not None:
|
|
81
82
|
pool_args['assert_hostname'] = (
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: asteroid-odyssey
|
|
3
|
+
Version: 1.6.1
|
|
4
|
+
Summary: Python SDK for the Asteroid Agents API
|
|
5
|
+
Author-email: Asteroid <founders@asteroid.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Repository, https://github.com/asteroidai/agents
|
|
8
|
+
Project-URL: Homepage, https://asteroid.ai
|
|
9
|
+
Project-URL: Documentation, https://docs.asteroid.ai
|
|
10
|
+
Keywords: OpenAPI,Asteroid Agents API,browser automation,AI agents
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
16
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
Requires-Dist: urllib3<3.0.0,>=2.1.0
|
|
20
|
+
Requires-Dist: python-dateutil>=2.8.2
|
|
21
|
+
Requires-Dist: pydantic>=2
|
|
22
|
+
Requires-Dist: typing-extensions>=4.7.1
|
|
23
|
+
Requires-Dist: requests>=2.28.0
|
|
24
|
+
Provides-Extra: dev
|
|
25
|
+
Requires-Dist: pytest>=7.2.1; extra == "dev"
|
|
26
|
+
Requires-Dist: pytest-cov>=2.8.1; extra == "dev"
|
|
27
|
+
Requires-Dist: flake8>=4.0.0; extra == "dev"
|
|
28
|
+
Requires-Dist: mypy>=1.5; extra == "dev"
|
|
29
|
+
|
|
30
|
+
# Asteroid Odyssey Python SDK
|
|
31
|
+
|
|
32
|
+
Python SDK for the Asteroid Agents API.
|
|
33
|
+
|
|
34
|
+
## Installation
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pip install asteroid-odyssey
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Usage
|
|
41
|
+
|
|
42
|
+
```python
|
|
43
|
+
from asteroid_odyssey import ApiClient, Configuration, ExecutionApi
|
|
44
|
+
|
|
45
|
+
# Configure the client
|
|
46
|
+
config = Configuration(
|
|
47
|
+
host="https://odyssey.asteroid.ai/agents/v2",
|
|
48
|
+
api_key={"ApiKeyAuth": "your-api-key"}
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
client = ApiClient(config)
|
|
52
|
+
execution_api = ExecutionApi(client)
|
|
53
|
+
|
|
54
|
+
# Execute an agent
|
|
55
|
+
response = execution_api.agent_execute_post(
|
|
56
|
+
agent_id="your-agent-id",
|
|
57
|
+
agents_agent_execute_agent_request={"dynamicData": {"input": "value"}}
|
|
58
|
+
)
|
|
59
|
+
print(f"Execution ID: {response.execution_id}")
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Documentation
|
|
63
|
+
|
|
64
|
+
See [docs.asteroid.ai](https://docs.asteroid.ai) for full documentation.
|