asteroid-odyssey 1.3.6__py3-none-any.whl → 1.3.8__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 +4 -2
- asteroid_odyssey/agents_v1_gen/__init__.py +0 -1
- asteroid_odyssey/agents_v1_gen/api/execution_api.py +26 -311
- asteroid_odyssey/agents_v1_gen/models/__init__.py +0 -1
- asteroid_odyssey/agents_v1_gen/models/agent_profile.py +4 -2
- asteroid_odyssey/agents_v1_gen/models/create_agent_profile_request.py +5 -3
- asteroid_odyssey/agents_v1_gen/models/proxy_type.py +1 -0
- asteroid_odyssey/agents_v1_gen/models/update_agent_profile_request.py +4 -2
- asteroid_odyssey/agents_v2_gen/__init__.py +53 -15
- asteroid_odyssey/agents_v2_gen/api/__init__.py +3 -1
- asteroid_odyssey/agents_v2_gen/api/agents_api.py +684 -0
- asteroid_odyssey/agents_v2_gen/api/{default_api.py → execution_api.py} +381 -479
- asteroid_odyssey/agents_v2_gen/api/files_api.py +895 -0
- asteroid_odyssey/agents_v2_gen/models/__init__.py +50 -14
- asteroid_odyssey/agents_v2_gen/models/agents_agent_execute_agent_request.py +103 -0
- asteroid_odyssey/{agents_v1_gen/models/upload_execution_files200_response.py → agents_v2_gen/models/agents_agent_execute_agent_response.py} +11 -13
- asteroid_odyssey/agents_v2_gen/models/agents_execution_action_name.py +93 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_completed_info.py +350 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_completed_payload.py +25 -3
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_failed_payload.py +19 -3
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_started_info.py +252 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_started_payload.py +23 -3
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_file_added_payload.py +10 -1
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_generic_payload.py +11 -2
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_payload_union.py +132 -104
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_playwright_script_generated_payload.py +114 -0
- asteroid_odyssey/agents_v2_gen/models/{activity_payload_union_terminal.py → agents_execution_activity_reasoning_payload.py} +9 -13
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_status_changed_payload.py +11 -2
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_step_completed_payload.py +11 -2
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_step_started_payload.py +11 -2
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_transitioned_node_payload.py +20 -4
- asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_user_message_received_payload.py +11 -2
- asteroid_odyssey/agents_v2_gen/models/{activity_payload_union_action_started.py → agents_execution_activity_workflow_updated_payload.py} +17 -13
- asteroid_odyssey/agents_v2_gen/models/agents_execution_comment.py +100 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_completed_payload.py +4 -11
- asteroid_odyssey/agents_v2_gen/models/agents_execution_element_file_upload_completed_details.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_execution_result.py +103 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_ext_api_call_completed_details.py +102 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_ext_get_mail_completed_details.py +98 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_failed_payload.py +8 -2
- asteroid_odyssey/agents_v2_gen/models/{activity_payload_union_file_added.py → agents_execution_file_list_completed_details.py} +13 -17
- asteroid_odyssey/agents_v2_gen/models/agents_execution_file_read_completed_details.py +100 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_file_stage_completed_details.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_human_label.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_list_item.py +141 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_llm_call_purpose.py +40 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_llm_call_started_details.py +97 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_nav_to_completed_details.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_nav_to_started_details.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_obs_snapshot_with_selectors_completed_details.py +98 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_rules_details.py +87 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_read_completed_details.py +98 -0
- asteroid_odyssey/agents_v2_gen/models/{activity_payload_union_generic.py → agents_execution_scratchpad_read_started_details.py} +20 -17
- asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_write_completed_details.py +104 -0
- asteroid_odyssey/agents_v2_gen/models/{activity_payload_union_step_started.py → agents_execution_scratchpad_write_started_details.py} +20 -17
- asteroid_odyssey/agents_v2_gen/models/agents_execution_script_hybrid_playwright_completed_details.py +102 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_script_hybrid_playwright_started_details.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_script_pad_run_function_completed_details.py +102 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_script_playwright_completed_details.py +102 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_script_playwright_started_details.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_read_completed_details.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_read_started_details.py +98 -0
- asteroid_odyssey/agents_v2_gen/models/{activity_payload_union_action_completed.py → agents_execution_scriptpad_run_function_started_details.py} +21 -18
- asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_search_replace_completed_details.py +106 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_search_replace_started_details.py +100 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_write_completed_details.py +102 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_sort_field.py +37 -0
- asteroid_odyssey/agents_v2_gen/models/agents_execution_terminal_payload.py +11 -2
- asteroid_odyssey/agents_v2_gen/models/{activity_payload_union_action_failed.py → agents_execution_util_get_datetime_completed_details.py} +20 -19
- asteroid_odyssey/agents_v2_gen/models/agents_execution_util_get_datetime_started_details.py +96 -0
- asteroid_odyssey/agents_v2_gen/models/{agents_execution_graph_update.py → agents_execution_workflow_update.py} +11 -5
- asteroid_odyssey/agents_v2_gen/models/agents_files_temp_file.py +89 -0
- asteroid_odyssey/agents_v2_gen/models/{agents_execution_activity_graph_updated_payload.py → agents_files_temp_files_response.py} +14 -14
- asteroid_odyssey/agents_v2_gen/models/agents_graph_models_nodes_properties_playwright_script_llm_var.py +92 -0
- asteroid_odyssey/agents_v2_gen/models/agents_graph_models_nodes_properties_playwright_script_llm_var_type.py +38 -0
- asteroid_odyssey/agents_v2_gen/models/agents_graph_models_transitions_transition_type.py +38 -0
- asteroid_odyssey/agents_v2_gen/models/common_os_error.py +87 -0
- asteroid_odyssey/agents_v2_gen/models/executions_list200_response.py +101 -0
- asteroid_odyssey/client.py +204 -33
- {asteroid_odyssey-1.3.6.dist-info → asteroid_odyssey-1.3.8.dist-info}/METADATA +1 -1
- asteroid_odyssey-1.3.8.dist-info/RECORD +132 -0
- asteroid_odyssey/agents_v2_gen/models/activity_payload_union_graph_updated.py +0 -100
- asteroid_odyssey/agents_v2_gen/models/activity_payload_union_status_changed.py +0 -100
- asteroid_odyssey/agents_v2_gen/models/activity_payload_union_step_completed.py +0 -100
- asteroid_odyssey/agents_v2_gen/models/activity_payload_union_transitioned_node.py +0 -100
- asteroid_odyssey/agents_v2_gen/models/activity_payload_union_user_message_received.py +0 -100
- asteroid_odyssey-1.3.6.dist-info/RECORD +0 -95
- {asteroid_odyssey-1.3.6.dist-info → asteroid_odyssey-1.3.8.dist-info}/WHEEL +0 -0
- {asteroid_odyssey-1.3.6.dist-info → asteroid_odyssey-1.3.8.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,101 @@
|
|
|
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, StrictInt
|
|
21
|
+
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from asteroid_odyssey.agents_v2_gen.models.agents_execution_list_item import AgentsExecutionListItem
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class ExecutionsList200Response(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
ExecutionsList200Response
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
items: List[AgentsExecutionListItem]
|
|
31
|
+
page: StrictInt
|
|
32
|
+
page_size: StrictInt = Field(alias="pageSize")
|
|
33
|
+
total: StrictInt
|
|
34
|
+
__properties: ClassVar[List[str]] = ["items", "page", "pageSize", "total"]
|
|
35
|
+
|
|
36
|
+
model_config = ConfigDict(
|
|
37
|
+
populate_by_name=True,
|
|
38
|
+
validate_assignment=True,
|
|
39
|
+
protected_namespaces=(),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def to_str(self) -> str:
|
|
44
|
+
"""Returns the string representation of the model using alias"""
|
|
45
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
46
|
+
|
|
47
|
+
def to_json(self) -> str:
|
|
48
|
+
"""Returns the JSON representation of the model using alias"""
|
|
49
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
50
|
+
return json.dumps(self.to_dict())
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
54
|
+
"""Create an instance of ExecutionsList200Response from a JSON string"""
|
|
55
|
+
return cls.from_dict(json.loads(json_str))
|
|
56
|
+
|
|
57
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
58
|
+
"""Return the dictionary representation of the model using alias.
|
|
59
|
+
|
|
60
|
+
This has the following differences from calling pydantic's
|
|
61
|
+
`self.model_dump(by_alias=True)`:
|
|
62
|
+
|
|
63
|
+
* `None` is only added to the output dict for nullable fields that
|
|
64
|
+
were set at model initialization. Other fields with value `None`
|
|
65
|
+
are ignored.
|
|
66
|
+
"""
|
|
67
|
+
excluded_fields: Set[str] = set([
|
|
68
|
+
])
|
|
69
|
+
|
|
70
|
+
_dict = self.model_dump(
|
|
71
|
+
by_alias=True,
|
|
72
|
+
exclude=excluded_fields,
|
|
73
|
+
exclude_none=True,
|
|
74
|
+
)
|
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
|
76
|
+
_items = []
|
|
77
|
+
if self.items:
|
|
78
|
+
for _item_items in self.items:
|
|
79
|
+
if _item_items:
|
|
80
|
+
_items.append(_item_items.to_dict())
|
|
81
|
+
_dict['items'] = _items
|
|
82
|
+
return _dict
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
86
|
+
"""Create an instance of ExecutionsList200Response from a dict"""
|
|
87
|
+
if obj is None:
|
|
88
|
+
return None
|
|
89
|
+
|
|
90
|
+
if not isinstance(obj, dict):
|
|
91
|
+
return cls.model_validate(obj)
|
|
92
|
+
|
|
93
|
+
_obj = cls.model_validate({
|
|
94
|
+
"items": [AgentsExecutionListItem.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None,
|
|
95
|
+
"page": obj.get("page"),
|
|
96
|
+
"pageSize": obj.get("pageSize"),
|
|
97
|
+
"total": obj.get("total")
|
|
98
|
+
})
|
|
99
|
+
return _obj
|
|
100
|
+
|
|
101
|
+
|
asteroid_odyssey/client.py
CHANGED
|
@@ -24,7 +24,6 @@ from .agents_v1_gen import (
|
|
|
24
24
|
AgentProfileApi as AgentsV1AgentProfileApi,
|
|
25
25
|
ExecutionStatusResponse,
|
|
26
26
|
ExecutionResult,
|
|
27
|
-
UploadExecutionFiles200Response,
|
|
28
27
|
Status,
|
|
29
28
|
StructuredAgentExecutionRequest,
|
|
30
29
|
CreateAgentProfileRequest,
|
|
@@ -39,10 +38,15 @@ from .agents_v2_gen import (
|
|
|
39
38
|
AgentList200Response as AgentList200Response,
|
|
40
39
|
Configuration as AgentsV2Configuration,
|
|
41
40
|
ApiClient as AgentsV2ApiClient,
|
|
42
|
-
|
|
41
|
+
AgentsApi as AgentsV2AgentsApi,
|
|
42
|
+
ExecutionApi as AgentsV2ExecutionApi,
|
|
43
|
+
FilesApi as AgentsV2FilesApi,
|
|
43
44
|
AgentsExecutionActivity as ExecutionActivity,
|
|
44
45
|
AgentsExecutionUserMessagesAddTextBody as ExecutionUserMessagesAddTextBody,
|
|
45
46
|
AgentsFilesFile as File,
|
|
47
|
+
AgentsAgentExecuteAgentRequest as V2ExecuteAgentRequest,
|
|
48
|
+
AgentsFilesTempFile as TempFile,
|
|
49
|
+
AgentsFilesTempFilesResponse as TempFilesResponse,
|
|
46
50
|
)
|
|
47
51
|
|
|
48
52
|
|
|
@@ -131,7 +135,7 @@ class AsteroidClient:
|
|
|
131
135
|
if api_key is None:
|
|
132
136
|
raise TypeError("API key cannot be None")
|
|
133
137
|
|
|
134
|
-
# Configure the API client
|
|
138
|
+
# Configure the V1 API client (used for status, results, profiles, etc.)
|
|
135
139
|
config = AgentsV1Configuration(
|
|
136
140
|
host=base_url or "https://odyssey.asteroid.ai/api/v1",
|
|
137
141
|
api_key={'ApiKeyAuth': api_key}
|
|
@@ -142,23 +146,35 @@ class AsteroidClient:
|
|
|
142
146
|
self.execution_api = AgentsV1ExecutionApi(self.api_client)
|
|
143
147
|
self.agent_profile_api = AgentsV1AgentProfileApi(self.api_client)
|
|
144
148
|
|
|
149
|
+
# Configure the V2 API client
|
|
145
150
|
self.agents_v2_config = AgentsV2Configuration(
|
|
146
151
|
host=base_url or "https://odyssey.asteroid.ai/agents/v2",
|
|
147
152
|
api_key={'ApiKeyAuth': api_key}
|
|
148
153
|
)
|
|
149
154
|
self.agents_v2_api_client = AgentsV2ApiClient(self.agents_v2_config)
|
|
155
|
+
self.agents_v2_agents_api = AgentsV2AgentsApi(self.agents_v2_api_client)
|
|
150
156
|
self.agents_v2_execution_api = AgentsV2ExecutionApi(self.agents_v2_api_client)
|
|
157
|
+
self.agents_v2_files_api = AgentsV2FilesApi(self.agents_v2_api_client)
|
|
151
158
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
159
|
+
def execute_agent(
|
|
160
|
+
self,
|
|
161
|
+
agent_id: str,
|
|
162
|
+
execution_data: Optional[Dict[str, Any]] = None,
|
|
163
|
+
agent_profile_id: Optional[str] = None,
|
|
164
|
+
metadata: Optional[Dict[str, Any]] = None,
|
|
165
|
+
temp_files: Optional[List[TempFile]] = None,
|
|
166
|
+
version: Optional[int] = None,
|
|
167
|
+
) -> str:
|
|
155
168
|
"""
|
|
156
169
|
Execute an agent with the provided parameters.
|
|
157
170
|
|
|
158
171
|
Args:
|
|
159
172
|
agent_id: The ID of the agent to execute
|
|
160
|
-
execution_data:
|
|
161
|
-
agent_profile_id: Optional ID of the agent profile
|
|
173
|
+
execution_data: Dynamic data to be merged into the placeholders defined in prompts
|
|
174
|
+
agent_profile_id: Optional ID of the agent profile to use
|
|
175
|
+
metadata: Optional metadata key-value pairs for organizing and filtering executions
|
|
176
|
+
temp_files: Optional list of temporary files to attach (must be pre-uploaded using stage file endpoint)
|
|
177
|
+
version: Optional version of the agent to execute. If not provided, the latest version will be used.
|
|
162
178
|
|
|
163
179
|
Returns:
|
|
164
180
|
The execution ID
|
|
@@ -167,15 +183,24 @@ class AsteroidClient:
|
|
|
167
183
|
AsteroidAPIError: If the execution request fails
|
|
168
184
|
|
|
169
185
|
Example:
|
|
170
|
-
execution_id = client.execute_agent('my-agent-id', {'input': 'some dynamic value'}
|
|
186
|
+
execution_id = client.execute_agent('my-agent-id', {'input': 'some dynamic value'})
|
|
187
|
+
execution_id = client.execute_agent('my-agent-id', {'input': 'value'}, version=3)
|
|
171
188
|
"""
|
|
172
|
-
req =
|
|
189
|
+
req = V2ExecuteAgentRequest(
|
|
190
|
+
dynamic_data=execution_data,
|
|
191
|
+
agent_profile_id=agent_profile_id,
|
|
192
|
+
metadata=metadata,
|
|
193
|
+
temp_files=temp_files,
|
|
194
|
+
version=version,
|
|
195
|
+
)
|
|
173
196
|
try:
|
|
174
|
-
response = self.
|
|
197
|
+
response = self.agents_v2_agents_api.agent_execute_post(agent_id, req)
|
|
175
198
|
return response.execution_id
|
|
176
199
|
except ApiException as e:
|
|
177
200
|
raise AsteroidAPIError(f"Failed to execute agent: {e}") from e
|
|
178
201
|
|
|
202
|
+
# --- V1 ---
|
|
203
|
+
|
|
179
204
|
def get_execution_status(self, execution_id: str) -> ExecutionStatusResponse:
|
|
180
205
|
"""
|
|
181
206
|
Get the current status for an execution.
|
|
@@ -309,9 +334,12 @@ class AsteroidClient:
|
|
|
309
334
|
execution_id: str,
|
|
310
335
|
files: List[Union[bytes, str, Tuple[str, bytes]]],
|
|
311
336
|
default_filename: str = "file.txt"
|
|
312
|
-
) ->
|
|
337
|
+
) -> str:
|
|
313
338
|
"""
|
|
314
|
-
Upload files to
|
|
339
|
+
Upload files to a running execution.
|
|
340
|
+
|
|
341
|
+
Use this method to upload files to an execution that is already in progress.
|
|
342
|
+
If you want to attach files to an execution before it starts, use stage_temp_files instead.
|
|
315
343
|
|
|
316
344
|
Args:
|
|
317
345
|
execution_id: The execution identifier
|
|
@@ -322,18 +350,17 @@ class AsteroidClient:
|
|
|
322
350
|
default_filename: Default filename to use when file is provided as bytes
|
|
323
351
|
|
|
324
352
|
Returns:
|
|
325
|
-
|
|
353
|
+
Success message from the API
|
|
326
354
|
|
|
327
355
|
Raises:
|
|
328
|
-
|
|
356
|
+
AsteroidAPIError: If the upload request fails
|
|
329
357
|
|
|
330
358
|
Example:
|
|
331
|
-
# Upload with file content
|
|
359
|
+
# Upload with file content
|
|
332
360
|
with open('hello.txt', 'r') as f:
|
|
333
361
|
file_content = f.read()
|
|
334
362
|
|
|
335
363
|
response = client.upload_execution_files(execution_id, [file_content.encode()])
|
|
336
|
-
print(f"Uploaded files: {response.file_ids}")
|
|
337
364
|
|
|
338
365
|
# Upload with filename and content
|
|
339
366
|
files = [('hello.txt', file_content.encode())]
|
|
@@ -344,7 +371,7 @@ class AsteroidClient:
|
|
|
344
371
|
response = client.upload_execution_files(execution_id, [hello_content])
|
|
345
372
|
"""
|
|
346
373
|
try:
|
|
347
|
-
# Process files to ensure proper format
|
|
374
|
+
# Process files to ensure proper format for the V2 API
|
|
348
375
|
processed_files = []
|
|
349
376
|
for file_item in files:
|
|
350
377
|
if isinstance(file_item, tuple):
|
|
@@ -373,7 +400,7 @@ class AsteroidClient:
|
|
|
373
400
|
content = str(file_item).encode()
|
|
374
401
|
processed_files.append((default_filename, content))
|
|
375
402
|
|
|
376
|
-
response = self.
|
|
403
|
+
response = self.agents_v2_files_api.execution_context_files_upload(execution_id, files=processed_files)
|
|
377
404
|
return response
|
|
378
405
|
except ApiException as e:
|
|
379
406
|
raise AsteroidAPIError(f"Failed to upload execution files: {e}") from e
|
|
@@ -824,17 +851,92 @@ class AsteroidClient:
|
|
|
824
851
|
Returns:
|
|
825
852
|
A list of files associated with the execution
|
|
826
853
|
Raises:
|
|
827
|
-
|
|
854
|
+
AsteroidAPIError: If the files request fails
|
|
828
855
|
Example:
|
|
829
856
|
files = client.get_execution_files("execution_id")
|
|
830
857
|
for file in files:
|
|
831
858
|
print(f"File: {file.file_name}, Size: {file.file_size}")
|
|
832
859
|
"""
|
|
833
860
|
try:
|
|
834
|
-
return self.
|
|
861
|
+
return self.agents_v2_files_api.execution_context_files_get(execution_id)
|
|
835
862
|
except ApiException as e:
|
|
836
863
|
raise AsteroidAPIError(f"Failed to get execution files: {e}") from e
|
|
837
864
|
|
|
865
|
+
def stage_temp_files(
|
|
866
|
+
self,
|
|
867
|
+
organization_id: str,
|
|
868
|
+
files: List[Union[bytes, str, Tuple[str, bytes]]],
|
|
869
|
+
default_filename: str = "file.txt"
|
|
870
|
+
) -> List[TempFile]:
|
|
871
|
+
"""
|
|
872
|
+
Stage files before starting an execution.
|
|
873
|
+
|
|
874
|
+
Use this method to pre-upload files that will be attached to an execution when it starts.
|
|
875
|
+
The returned TempFile objects can be passed to execute_agent's temp_files parameter.
|
|
876
|
+
|
|
877
|
+
Args:
|
|
878
|
+
organization_id: The organization identifier
|
|
879
|
+
files: List of files to stage. Each file can be:
|
|
880
|
+
- bytes: Raw file content (will use default_filename)
|
|
881
|
+
- str: File path as string (will read file and use filename)
|
|
882
|
+
- Tuple[str, bytes]: (filename, file_content) tuple
|
|
883
|
+
default_filename: Default filename to use when file is provided as bytes
|
|
884
|
+
|
|
885
|
+
Returns:
|
|
886
|
+
List of TempFile objects that can be passed to execute_agent
|
|
887
|
+
|
|
888
|
+
Raises:
|
|
889
|
+
AsteroidAPIError: If the staging request fails
|
|
890
|
+
|
|
891
|
+
Example:
|
|
892
|
+
# Stage files before execution
|
|
893
|
+
temp_files = client.stage_temp_files("org-123", [
|
|
894
|
+
("data.csv", csv_content.encode()),
|
|
895
|
+
"/path/to/document.pdf"
|
|
896
|
+
])
|
|
897
|
+
|
|
898
|
+
# Use staged files when executing agent
|
|
899
|
+
execution_id = client.execute_agent(
|
|
900
|
+
agent_id="my-agent",
|
|
901
|
+
execution_data={"input": "Process these files"},
|
|
902
|
+
temp_files=temp_files
|
|
903
|
+
)
|
|
904
|
+
"""
|
|
905
|
+
try:
|
|
906
|
+
# Process files to ensure proper format for the V2 API
|
|
907
|
+
processed_files = []
|
|
908
|
+
for file_item in files:
|
|
909
|
+
if isinstance(file_item, tuple):
|
|
910
|
+
# Already in (filename, content) format
|
|
911
|
+
filename, content = file_item
|
|
912
|
+
if isinstance(content, str):
|
|
913
|
+
content = content.encode()
|
|
914
|
+
processed_files.append((filename, content))
|
|
915
|
+
elif isinstance(file_item, str):
|
|
916
|
+
# Check if string is a file path that exists, otherwise treat as content
|
|
917
|
+
if os.path.isfile(file_item):
|
|
918
|
+
# File path - read the file
|
|
919
|
+
filename = os.path.basename(file_item)
|
|
920
|
+
with open(file_item, 'rb') as f:
|
|
921
|
+
content = f.read()
|
|
922
|
+
processed_files.append((filename, content))
|
|
923
|
+
else:
|
|
924
|
+
# String content - encode and use default filename
|
|
925
|
+
content = file_item.encode()
|
|
926
|
+
processed_files.append((default_filename, content))
|
|
927
|
+
elif isinstance(file_item, bytes):
|
|
928
|
+
# Raw bytes - use default filename
|
|
929
|
+
processed_files.append((default_filename, file_item))
|
|
930
|
+
else:
|
|
931
|
+
# Other types - convert to string content and encode
|
|
932
|
+
content = str(file_item).encode()
|
|
933
|
+
processed_files.append((default_filename, content))
|
|
934
|
+
|
|
935
|
+
response = self.agents_v2_files_api.temp_files_stage(organization_id, files=processed_files)
|
|
936
|
+
return response.temp_files
|
|
937
|
+
except ApiException as e:
|
|
938
|
+
raise AsteroidAPIError(f"Failed to stage temp files: {e}") from e
|
|
939
|
+
|
|
838
940
|
def download_execution_file(self, file: File, download_path: Union[str, Path],
|
|
839
941
|
create_dirs: bool = True, timeout: int = 30) -> str:
|
|
840
942
|
"""
|
|
@@ -953,25 +1055,44 @@ def create_client(api_key: str, base_url: Optional[str] = None) -> AsteroidClien
|
|
|
953
1055
|
"""
|
|
954
1056
|
return AsteroidClient(api_key, base_url)
|
|
955
1057
|
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
1058
|
+
def execute_agent(
|
|
1059
|
+
client: AsteroidClient,
|
|
1060
|
+
agent_id: str,
|
|
1061
|
+
execution_data: Optional[Dict[str, Any]] = None,
|
|
1062
|
+
agent_profile_id: Optional[str] = None,
|
|
1063
|
+
metadata: Optional[Dict[str, Any]] = None,
|
|
1064
|
+
temp_files: Optional[List[TempFile]] = None,
|
|
1065
|
+
version: Optional[int] = None,
|
|
1066
|
+
) -> str:
|
|
959
1067
|
"""
|
|
960
1068
|
Execute an agent with the provided parameters.
|
|
961
1069
|
|
|
962
1070
|
Args:
|
|
963
1071
|
client: The AsteroidClient instance
|
|
964
1072
|
agent_id: The ID of the agent to execute
|
|
965
|
-
execution_data:
|
|
966
|
-
agent_profile_id: Optional ID of the agent profile
|
|
1073
|
+
execution_data: Dynamic data to be merged into the placeholders defined in prompts
|
|
1074
|
+
agent_profile_id: Optional ID of the agent profile to use
|
|
1075
|
+
metadata: Optional metadata key-value pairs for organizing and filtering executions
|
|
1076
|
+
temp_files: Optional list of temporary files to attach (must be pre-uploaded using stage file endpoint)
|
|
1077
|
+
version: Optional version of the agent to execute. If not provided, the latest version will be used.
|
|
967
1078
|
|
|
968
1079
|
Returns:
|
|
969
1080
|
The execution ID
|
|
970
1081
|
|
|
971
1082
|
Example:
|
|
972
|
-
execution_id = execute_agent(client, 'my-agent-id', {'input': 'some dynamic value'}
|
|
1083
|
+
execution_id = execute_agent(client, 'my-agent-id', {'input': 'some dynamic value'})
|
|
1084
|
+
execution_id = execute_agent(client, 'my-agent-id', {'input': 'value'}, version=3)
|
|
973
1085
|
"""
|
|
974
|
-
return client.execute_agent(
|
|
1086
|
+
return client.execute_agent(
|
|
1087
|
+
agent_id,
|
|
1088
|
+
execution_data,
|
|
1089
|
+
agent_profile_id,
|
|
1090
|
+
metadata,
|
|
1091
|
+
temp_files,
|
|
1092
|
+
version,
|
|
1093
|
+
)
|
|
1094
|
+
|
|
1095
|
+
# --- V1 ---
|
|
975
1096
|
|
|
976
1097
|
|
|
977
1098
|
|
|
@@ -1048,9 +1169,12 @@ def upload_execution_files(
|
|
|
1048
1169
|
execution_id: str,
|
|
1049
1170
|
files: List[Union[bytes, str, Tuple[str, bytes]]],
|
|
1050
1171
|
default_filename: str = "file.txt"
|
|
1051
|
-
) ->
|
|
1172
|
+
) -> str:
|
|
1052
1173
|
"""
|
|
1053
|
-
Upload files to
|
|
1174
|
+
Upload files to a running execution.
|
|
1175
|
+
|
|
1176
|
+
Use this function to upload files to an execution that is already in progress.
|
|
1177
|
+
If you want to attach files to an execution before it starts, use stage_temp_files instead.
|
|
1054
1178
|
|
|
1055
1179
|
Args:
|
|
1056
1180
|
client: The AsteroidClient instance
|
|
@@ -1059,13 +1183,12 @@ def upload_execution_files(
|
|
|
1059
1183
|
default_filename: Default filename to use when file is provided as bytes
|
|
1060
1184
|
|
|
1061
1185
|
Returns:
|
|
1062
|
-
|
|
1186
|
+
Success message from the API
|
|
1063
1187
|
|
|
1064
1188
|
Example:
|
|
1065
1189
|
# Create a simple text file with "Hello World!" content
|
|
1066
1190
|
hello_content = "Hello World!".encode()
|
|
1067
1191
|
response = upload_execution_files(client, execution_id, [hello_content])
|
|
1068
|
-
print(f"Uploaded files: {response.file_ids}")
|
|
1069
1192
|
|
|
1070
1193
|
# Or specify filename with content
|
|
1071
1194
|
files = [('hello.txt', "Hello World!".encode())]
|
|
@@ -1074,6 +1197,51 @@ def upload_execution_files(
|
|
|
1074
1197
|
return client.upload_execution_files(execution_id, files, default_filename)
|
|
1075
1198
|
|
|
1076
1199
|
|
|
1200
|
+
def stage_temp_files(
|
|
1201
|
+
client: AsteroidClient,
|
|
1202
|
+
organization_id: str,
|
|
1203
|
+
files: List[Union[bytes, str, Tuple[str, bytes]]],
|
|
1204
|
+
default_filename: str = "file.txt"
|
|
1205
|
+
) -> List[TempFile]:
|
|
1206
|
+
"""
|
|
1207
|
+
Stage files before starting an execution.
|
|
1208
|
+
|
|
1209
|
+
Use this function to pre-upload files that will be attached to an execution when it starts.
|
|
1210
|
+
The returned TempFile objects can be passed to execute_agent's temp_files parameter.
|
|
1211
|
+
|
|
1212
|
+
Args:
|
|
1213
|
+
client: The AsteroidClient instance
|
|
1214
|
+
organization_id: The organization identifier
|
|
1215
|
+
files: List of files to stage. Each file can be:
|
|
1216
|
+
- bytes: Raw file content (will use default_filename)
|
|
1217
|
+
- str: File path as string (will read file and use filename)
|
|
1218
|
+
- Tuple[str, bytes]: (filename, file_content) tuple
|
|
1219
|
+
default_filename: Default filename to use when file is provided as bytes
|
|
1220
|
+
|
|
1221
|
+
Returns:
|
|
1222
|
+
List of TempFile objects that can be passed to execute_agent
|
|
1223
|
+
|
|
1224
|
+
Raises:
|
|
1225
|
+
AsteroidAPIError: If the staging request fails
|
|
1226
|
+
|
|
1227
|
+
Example:
|
|
1228
|
+
# Stage files before execution
|
|
1229
|
+
temp_files = stage_temp_files(client, "org-123", [
|
|
1230
|
+
("data.csv", csv_content.encode()),
|
|
1231
|
+
"/path/to/document.pdf"
|
|
1232
|
+
])
|
|
1233
|
+
|
|
1234
|
+
# Use staged files when executing agent
|
|
1235
|
+
execution_id = execute_agent(
|
|
1236
|
+
client,
|
|
1237
|
+
agent_id="my-agent",
|
|
1238
|
+
execution_data={"input": "Process these files"},
|
|
1239
|
+
temp_files=temp_files
|
|
1240
|
+
)
|
|
1241
|
+
"""
|
|
1242
|
+
return client.stage_temp_files(organization_id, files, default_filename)
|
|
1243
|
+
|
|
1244
|
+
|
|
1077
1245
|
def get_browser_session_recording(client: AsteroidClient, execution_id: str) -> str:
|
|
1078
1246
|
"""
|
|
1079
1247
|
Get the browser session recording URL for a completed execution.
|
|
@@ -1359,6 +1527,7 @@ __all__ = [
|
|
|
1359
1527
|
'get_execution_result',
|
|
1360
1528
|
'wait_for_execution_result',
|
|
1361
1529
|
'upload_execution_files',
|
|
1530
|
+
'stage_temp_files',
|
|
1362
1531
|
'get_browser_session_recording',
|
|
1363
1532
|
'get_agent_profiles',
|
|
1364
1533
|
'get_agent_profile',
|
|
@@ -1375,5 +1544,7 @@ __all__ = [
|
|
|
1375
1544
|
'AsteroidAPIError',
|
|
1376
1545
|
'ExecutionError',
|
|
1377
1546
|
'TimeoutError',
|
|
1378
|
-
'AgentInteractionResult'
|
|
1547
|
+
'AgentInteractionResult',
|
|
1548
|
+
'TempFile',
|
|
1549
|
+
'TempFilesResponse',
|
|
1379
1550
|
]
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
asteroid_odyssey/__init__.py,sha256=po0AK2n1AiFyeAywL4Ju3qHGzTcRuH2LuXstuXthbT0,1273
|
|
2
|
+
asteroid_odyssey/client.py,sha256=hn4n26Sf6k0qxxBKYFMiKahhKZW1JrvyqfRPLgk9yQI,59685
|
|
3
|
+
asteroid_odyssey/agents_v1_gen/__init__.py,sha256=8ULksHLOQJbxz9LkUs0sHFs47cWst2SeKs3NLGlLCjk,2841
|
|
4
|
+
asteroid_odyssey/agents_v1_gen/api_client.py,sha256=sxH4_y4LtJLTmK9Sd67qYIkHwnbjLGFI7aaL-Y4xZUs,27513
|
|
5
|
+
asteroid_odyssey/agents_v1_gen/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
6
|
+
asteroid_odyssey/agents_v1_gen/configuration.py,sha256=1t9XRUOXQHxmjI04S56NYuqNXC7Bh-vuDA9jKTzBUK0,18722
|
|
7
|
+
asteroid_odyssey/agents_v1_gen/exceptions.py,sha256=xauMukb96TkgN7Rx5c_d_XWOJb7ldCY5SuTmybyKTr8,6414
|
|
8
|
+
asteroid_odyssey/agents_v1_gen/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
asteroid_odyssey/agents_v1_gen/rest.py,sha256=iduh4ZegNAHkGyuLXUjHAQFp5U82c-dtAMCvTTBO0Fg,9371
|
|
10
|
+
asteroid_odyssey/agents_v1_gen/api/__init__.py,sha256=oj1pzgrbo8C6FrpBVC7IvfUu-uplU4JQjfE_jZE0Mz4,265
|
|
11
|
+
asteroid_odyssey/agents_v1_gen/api/agent_profile_api.py,sha256=uOgyH3VN8LseS5Mq2uFxAbZM5iH88O0YEmXFTMc8bQ0,66369
|
|
12
|
+
asteroid_odyssey/agents_v1_gen/api/api_api.py,sha256=vqZ7wQEQGOpa1D6U1QLL27XK-0DY5_v9tdQJNt_lpsM,19217
|
|
13
|
+
asteroid_odyssey/agents_v1_gen/api/execution_api.py,sha256=S9tbYepfA2KJo_b0yjF9rcrOkXQ43Zr7VSY4Ht_BW5M,57247
|
|
14
|
+
asteroid_odyssey/agents_v1_gen/models/__init__.py,sha256=4PpzL2BSjKC9Xr0D2P4Mx1TQmWzJZ5cPWsyF3pNYBgs,1936
|
|
15
|
+
asteroid_odyssey/agents_v1_gen/models/agent_profile.py,sha256=PDYXOpWJpOYhbYdijVFtbcRseIm-j7Iw6_W3qzMsJ6Y,5561
|
|
16
|
+
asteroid_odyssey/agents_v1_gen/models/browser_session_recording_response.py,sha256=OgYXsMiADk5IIDKkWJTy0RfnnBO3Zbaq9mEUyaxTaH0,2590
|
|
17
|
+
asteroid_odyssey/agents_v1_gen/models/cookie.py,sha256=jvK-SgpFn8Untq3JnHTxDQnznT6Snn7Vnykba1-c3XU,4020
|
|
18
|
+
asteroid_odyssey/agents_v1_gen/models/country_code.py,sha256=pYFM0OC_maaGfUsFTTnKtSJxXKQiNS0pU3O0LLFz_Uo,802
|
|
19
|
+
asteroid_odyssey/agents_v1_gen/models/create_agent_profile_request.py,sha256=cIH7pgti55wHhNh9TJiNJJJuJVVnbje4LL2SjgsUfFM,5453
|
|
20
|
+
asteroid_odyssey/agents_v1_gen/models/credential.py,sha256=MSzwgGLjNiH_fclHpZpYKKDWn-498etD1CLS_EfmA7k,3033
|
|
21
|
+
asteroid_odyssey/agents_v1_gen/models/delete_agent_profile200_response.py,sha256=y6gaG8VLeC2muBcw-i6KG64i-xrHq1v-8A7T8ViwBwk,2514
|
|
22
|
+
asteroid_odyssey/agents_v1_gen/models/error_response.py,sha256=njnDeKZeMPiteuX4l3MsWTHkG4qEiv8sbIUTv0Z8yQY,2459
|
|
23
|
+
asteroid_odyssey/agents_v1_gen/models/execution_response.py,sha256=c4PJNQDsWlQwumSonH1Sxqcb1q521FhNGgZugoinZNA,2513
|
|
24
|
+
asteroid_odyssey/agents_v1_gen/models/execution_result.py,sha256=o6V8oHt9QR7vfRcCrnHwk8exwALUollWBfShze_lzBM,3354
|
|
25
|
+
asteroid_odyssey/agents_v1_gen/models/execution_result_response.py,sha256=zBGBV9FOtCOFE9vDwfWEJkcKMkXYOHluo2ycJlW_S2A,3603
|
|
26
|
+
asteroid_odyssey/agents_v1_gen/models/execution_status_response.py,sha256=ykdr-9kRFmIs3FnmsYWrlX4s-096wlMy3BQX6CCdiBc,3050
|
|
27
|
+
asteroid_odyssey/agents_v1_gen/models/health_check200_response.py,sha256=x_6F6rhTvqpuMUFtD5ynLrUFY4vuVdkWfDRkTx2hVp0,2548
|
|
28
|
+
asteroid_odyssey/agents_v1_gen/models/health_check500_response.py,sha256=b6pG-pqUKkQ5oqmWWyakdr7YYjnTYYeZjoVHkcU-TSY,2533
|
|
29
|
+
asteroid_odyssey/agents_v1_gen/models/proxy_type.py,sha256=zZ2MI0w7PZ8_a3KCLlNqQUcf99qyvuRSMWwyjaEDT-o,724
|
|
30
|
+
asteroid_odyssey/agents_v1_gen/models/status.py,sha256=tnt_4jdoMzcjo6J0vttf2QKLNK0FC9XcjZKbGC3sbz0,889
|
|
31
|
+
asteroid_odyssey/agents_v1_gen/models/structured_agent_execution_request.py,sha256=VZyW85pVz9T27aiG4ZlGywnnxTOaJCAjHSDz8D2YxY8,2913
|
|
32
|
+
asteroid_odyssey/agents_v1_gen/models/update_agent_profile_request.py,sha256=zFy3EoYm9-nCncNPHwZDX7I5O2ZlKRJH6foPk0sAhA8,5895
|
|
33
|
+
asteroid_odyssey/agents_v2_gen/__init__.py,sha256=iR4Io6QLbZUU_NUNvYe2Xeo1M9ueJc2dGZLwQS7JH9k,11969
|
|
34
|
+
asteroid_odyssey/agents_v2_gen/api_client.py,sha256=zf8LBIbhuInmYPs4iTmxc8mU4gwONeX3JPq3D8ZTftM,27573
|
|
35
|
+
asteroid_odyssey/agents_v2_gen/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
36
|
+
asteroid_odyssey/agents_v2_gen/configuration.py,sha256=z_um4Jc01mYd-U0-8J74KOy2AJYq6KDtcRxBtDFVsEQ,18593
|
|
37
|
+
asteroid_odyssey/agents_v2_gen/exceptions.py,sha256=UnVNkXG6lZtS5J3YpOcPu3rg5SUP1XRwSyYJl30rM0M,6474
|
|
38
|
+
asteroid_odyssey/agents_v2_gen/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
+
asteroid_odyssey/agents_v2_gen/rest.py,sha256=pSjg1rCUe0Z7K1xrRtsHwQo7Xa-yF35k2o2ORAdbiKY,9431
|
|
40
|
+
asteroid_odyssey/agents_v2_gen/api/__init__.py,sha256=zP96zXtocDaIDci8REJzcl6ARlnBapyslSrPf7-JiT0,256
|
|
41
|
+
asteroid_odyssey/agents_v2_gen/api/agents_api.py,sha256=UAIQsb3CLwN-q_cwlEH3sfOwfEvaT67E5OSDpVXFK9M,26558
|
|
42
|
+
asteroid_odyssey/agents_v2_gen/api/execution_api.py,sha256=F9hQRxRItKRvru3drCnXzIcLfU2bwmrdW6TZPENr8B4,62441
|
|
43
|
+
asteroid_odyssey/agents_v2_gen/api/files_api.py,sha256=jcIgHi2b6g49eh07bVd99LdWXGpZuN0czmrWoxayqSQ,35517
|
|
44
|
+
asteroid_odyssey/agents_v2_gen/models/__init__.py,sha256=xjB5hYPR0x4Tul9qvGYE1GHbcV8_rukGasojBKeB1IY,11073
|
|
45
|
+
asteroid_odyssey/agents_v2_gen/models/agent_list200_response.py,sha256=09DlBwTk0VSWPgfLewU9HkNncyrz1ij2I7PxtaYQC8o,3249
|
|
46
|
+
asteroid_odyssey/agents_v2_gen/models/agents_agent_base.py,sha256=XfW4gpuvynUZ1JJn1ovnLBcM25fB_Ctgnm7VO1NoiNg,2955
|
|
47
|
+
asteroid_odyssey/agents_v2_gen/models/agents_agent_execute_agent_request.py,sha256=BDOK7pn3RTNIlmSTFspgtxpTy8AQa0MC0pJp9-b_VgI,4245
|
|
48
|
+
asteroid_odyssey/agents_v2_gen/models/agents_agent_execute_agent_response.py,sha256=iPx3FB9Che9HSG5DBvCq4SUZonxch-R7XkxlXe9qqvM,2661
|
|
49
|
+
asteroid_odyssey/agents_v2_gen/models/agents_agent_sort_field.py,sha256=vxZxy30RGb858YI2WH8Z1U_vV9yRzKnaCCRAJj9Xek0,780
|
|
50
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_action_name.py,sha256=NT6N_rccFXAMxCKxoPVVQhS5GVPVVysP8lRD53B4d4g,3147
|
|
51
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity.py,sha256=ZaqHV8COfTp_uCk6zQcyAigsaZwpm1RloaPeC6oQ4-g,3228
|
|
52
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_completed_info.py,sha256=c5l6ZxFjC6Ls_FedPgn6kz8jTS4vfGZK3SSH5YyfyWI,26403
|
|
53
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_completed_payload.py,sha256=Mqj-jehnNVGsnimLLrA8gnPepUlxOoc8vR5urHIGyWM,4002
|
|
54
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_failed_payload.py,sha256=ODI7ITkecfd2mFiRIt8zM1xd1jclso4687_devJZPVs,3484
|
|
55
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_started_info.py,sha256=isHHsViPhoDVEo6zRXDAzQURfiELz5X7dJwV-7yuVeI,16963
|
|
56
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_started_payload.py,sha256=FWDYKyFYQrmLDF6BMg_X6KtNN2AtXMX2doHuY0Do-HI,3873
|
|
57
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_file_added_payload.py,sha256=ZwoVj55vRP3hLEgP6YCjNeUU7jo34XXuxuoJbaOPOvY,3820
|
|
58
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_generic_payload.py,sha256=ClyP-v4Ck3zq7ns6hNb6ZosxOn4Kd2raLQSJWIjDPmM,2986
|
|
59
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_payload_union.py,sha256=bUTqlQzUOfkK7RWMCWqw57qzg4HXUq1Jb1Uy7ZWcqD8,21779
|
|
60
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_playwright_script_generated_payload.py,sha256=VLtpJynT9Ov2I5qW0bdDvvPYVCRbrMACvIqBTrIJ1hs,4332
|
|
61
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_reasoning_payload.py,sha256=eRIZ54HaiUNDbUACmiEShc32FNO8Auu3MAJRyFoUVYs,3006
|
|
62
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_status_changed_payload.py,sha256=WQeZCuXGDQRYohFXj99D7Krvc_uOewMr3Y3TA02xyuk,6248
|
|
63
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_step_completed_payload.py,sha256=TxWr78dmHY3DZ88yXci1AmVtetSzMWn8nFEnhGmZuEQ,3076
|
|
64
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_step_started_payload.py,sha256=mSzcUN46hbTFuxPrVLeQL0wZ9aXVsBS68djbrquQ7o0,3064
|
|
65
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_transitioned_node_payload.py,sha256=Za7hC7rkjt7LqGsEhywCu9XtwXI7W4nnafFg1E59tDI,3867
|
|
66
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_user_message_received_payload.py,sha256=thhGRBVaAo5bMtwLisOeTbhJd0EUaiZvE3-fzsb0aeY,3170
|
|
67
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_workflow_updated_payload.py,sha256=wmAQhvbDonf0-yT32fVnAowp6i_oRseYfTOsEBHodUk,3729
|
|
68
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_awaiting_confirmation_payload.py,sha256=ebQJgeBSCQpLM_Z601NFSg8xQF9b5MsvGVY59dgCWW4,2595
|
|
69
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_cancel_reason.py,sha256=oOJGrFL0N4BYFQLcT8WfBCbhk2ccyly733vqwEd-Ewc,843
|
|
70
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_cancelled_payload.py,sha256=1rU132jiPc4Ol2S8VqzAn0SDglL6UjcSNDpP-QHuD9Q,2667
|
|
71
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_comment.py,sha256=yPq0I7_YCoHZQkV1vfUgkKotJCbDVCw2woUcYB-oBgs,3519
|
|
72
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_completed_payload.py,sha256=1Ca4Xvr6L7tj1faEmLeWMFJdKP5_GmWsRQy1EvrxlI8,3060
|
|
73
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_element_file_upload_completed_details.py,sha256=1snXxE6gAILCwVSKborLGS5X5YbuEj_vdEt1BYVFbHw,3082
|
|
74
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_execution_result.py,sha256=HHPCn5OP0MtH_NUh4QnN0Crq227vxVD3vTDngV12ilc,3560
|
|
75
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_ext_api_call_completed_details.py,sha256=-HKJ0FTzX7uyo5J4TuFXqiwvKFgaRVS_FpiC2JLmemo,3476
|
|
76
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_ext_get_mail_completed_details.py,sha256=EUcy_L7suF7GwAmG0FUnb22-o3J7vG-n5IgO8x9q_IU,3123
|
|
77
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_failed_payload.py,sha256=wbP_Z7ATkE6s8gwSBkYtWJ_GORM74rT4608znA26sZc,2966
|
|
78
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_file_list_completed_details.py,sha256=7HT4SLGnjBeBQ9e4-Ly260PHt1ZqYWZbqwe1HxOc5oE,3026
|
|
79
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_file_read_completed_details.py,sha256=4LVTrL7iS2yfE4JAMXNeCxAPaVfgJSKVqih_T6Vgb5I,3352
|
|
80
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_file_stage_completed_details.py,sha256=aowoJrFg-jwZQ3ImE1WRdMR-8gS2qo4bxrBavbQSCbk,3032
|
|
81
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_human_label.py,sha256=kjFJmgimqWECegmLpeiomykYdupyvw67s3OXS5vNutg,3218
|
|
82
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_list_item.py,sha256=04WyY7ZgFGV8iJxBaiYLvJKGaQJX7zxY5XK5eN72hCc,7415
|
|
83
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_llm_call_purpose.py,sha256=ZyMEExVLDmrRDU25GWEePHAnDhKFEgJmUaU4h7ij2lU,1065
|
|
84
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_llm_call_started_details.py,sha256=18pbGktwRxtLhvGm58uAvihD9Ve3hKrWrsrPzMfhAGY,3104
|
|
85
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_nav_to_completed_details.py,sha256=x3FB2vujx1Kedlplfe6jaZ6KhchFuX0KCliZbGgUDzE,3036
|
|
86
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_nav_to_started_details.py,sha256=lphdKOrjjT08uNkk4LEHEOcZZuxgx7M_yDtGsK0Nybo,2942
|
|
87
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_node_details.py,sha256=ER2CJB4e_zIJyBlDxoi-oh3DyOEdzG7lQKo_GWLZ-KI,2779
|
|
88
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_obs_snapshot_with_selectors_completed_details.py,sha256=K8E5epBkFfqqkDWjfaiZZFjCfLqMt396mWtEdArUMAg,3137
|
|
89
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_paused_payload.py,sha256=slW-OsLyXs3JyDE9Zx8YGIU2y0msgoKCbHDG8IkYG8k,2539
|
|
90
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_rules_details.py,sha256=6QJ_XkLzSlgxxJqEjnM2jKzgbMkskHqdNSWG4ri_eNk,2531
|
|
91
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_read_completed_details.py,sha256=O-uAgkiTNSMMO6mXOREsdigyXaYDMdm0X6OAr0LuqaM,3232
|
|
92
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_read_started_details.py,sha256=LHzefgHTPiQGvo97t5fz4e8EM6P7ZpdSllFe4kzB82g,3261
|
|
93
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_write_completed_details.py,sha256=-ktkWvB7F9JolKMtc6cAsZFsAm2hcAyxsbicVWphVa0,3633
|
|
94
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_write_started_details.py,sha256=Wc7H4oUeZQrgPtyBtvJRTsAwT4T3Bw0RPvrA57jMXoE,3269
|
|
95
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_script_hybrid_playwright_completed_details.py,sha256=MGkJf5BsCaMGIKCa3t1p1QvMwLAN4DvkydUzajrG3u8,3448
|
|
96
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_script_hybrid_playwright_started_details.py,sha256=RAIS0GZu3HfLr2J0pgBJMRjYH7_m0q8krvrpVkHyKpk,3128
|
|
97
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_script_pad_run_function_completed_details.py,sha256=VzmtRheJNRdSwC7eTFmcQMbie8iF4oSuZAA1NkLNX5A,3436
|
|
98
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_script_playwright_completed_details.py,sha256=asMLJqKvtwxOmKTDxoVolSthM3-iYo2y20qe9F0843c,3410
|
|
99
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_script_playwright_started_details.py,sha256=pPvKZwP6On90isiWWuGVfJsXG-Z2Q0bZK2f3EYUCsAg,3090
|
|
100
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_read_completed_details.py,sha256=pBxpEg8tJJFZUu_A0t42K0S_OnORBuHiLcgk4EBi4rg,3014
|
|
101
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_read_started_details.py,sha256=BRRyOYYpp3vrbt6Nevs6ii0QRs5_vt_5dzyqAR2tyAs,3082
|
|
102
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_run_function_started_details.py,sha256=JeAR9md01kMYdV95cN0V3kyB5bumh-ijBioPltdVWCg,3419
|
|
103
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_search_replace_completed_details.py,sha256=ESxQ2d2zJPIBRuMBKE_dK2wzXikMfNn9qeOPA1UpRpk,3873
|
|
104
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_search_replace_started_details.py,sha256=dVrKojDR6OZcLYndQUnEdMTOYDqLc8oAP9tPZovUwtU,3266
|
|
105
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_write_completed_details.py,sha256=vF088dn0Tqu7K6BNFlknBOcCoyy5SaLJ4sfuw6kpnOA,3450
|
|
106
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_sort_field.py,sha256=KVc_CoONxPHD8MQ2x9T5Y9ejbQYzdv0j1e07cZeWe6I,818
|
|
107
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_status.py,sha256=xGM7e94JQGqf9tA4nl0hpmJWFLTIyLhPDLR-bnx_QuY,977
|
|
108
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_terminal_payload.py,sha256=InBz7gXuGozbEOkNFAcomTW--B36D6JxhxqM4EwwEoc,3351
|
|
109
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_transition_details.py,sha256=v9DuY5uODsDIO49hxUcn8gfUv7fED7G6Nz2Qf95iT2o,2755
|
|
110
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_update_type.py,sha256=2oVD53MapRhp93RB9fBDltn9ZWlR0rNApk-dLR5P-Rg,803
|
|
111
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_user_messages_add_text_body.py,sha256=RvfuJaVRDkEunpPBdLBVEfj7muuIokoQXHxZJ_o1FHE,2583
|
|
112
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_util_get_datetime_completed_details.py,sha256=jcgZw6TjVGrrUcr2Zslo4Q7qKFr3VQS1FMqT7z-Ap8Y,3407
|
|
113
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_util_get_datetime_started_details.py,sha256=hReMWYIPNZxHIM5MfzQbMt4MFGQHgVhwuh5qxEjoaJg,3112
|
|
114
|
+
asteroid_odyssey/agents_v2_gen/models/agents_execution_workflow_update.py,sha256=qSvecAMSzPL9ELr3qyUhpjbnXtILOovkcOn8OT9KpII,4424
|
|
115
|
+
asteroid_odyssey/agents_v2_gen/models/agents_files_file.py,sha256=nw4_8muCPxjAaRkjXNtM3iD-_IBwOjjX223q9pq7R5s,3613
|
|
116
|
+
asteroid_odyssey/agents_v2_gen/models/agents_files_temp_file.py,sha256=XjavH68R-o3d_EuVRaFNbnaJZXoiaSMMeIornmk2LJA,2552
|
|
117
|
+
asteroid_odyssey/agents_v2_gen/models/agents_files_temp_files_response.py,sha256=NpcTPzxlBi4N9NIJOedRCJQey_ODcO9jJ0jKY_Wmz6o,3127
|
|
118
|
+
asteroid_odyssey/agents_v2_gen/models/agents_graph_models_nodes_properties_playwright_script_llm_var.py,sha256=m9PSQs4BBSM6aO-akyK4_qdYGjHuc5Kv8akT9XMWfyI,3019
|
|
119
|
+
asteroid_odyssey/agents_v2_gen/models/agents_graph_models_nodes_properties_playwright_script_llm_var_type.py,sha256=lu_J1UrE9WKhzNJV34kVDxKxsjV3fvFBJjnnB0LsgIE,914
|
|
120
|
+
asteroid_odyssey/agents_v2_gen/models/agents_graph_models_transitions_transition_type.py,sha256=QnUO0ARjDeBRhPdRiR2emGrSkD8lIJnNgpzG7OHzeTg,882
|
|
121
|
+
asteroid_odyssey/agents_v2_gen/models/common_bad_request_error_body.py,sha256=cZQcZH6c2RmQleZe57-mfUsCKW74lGGtVMWbJFGc1ho,2889
|
|
122
|
+
asteroid_odyssey/agents_v2_gen/models/common_error.py,sha256=to8zl1yPqcf8hRXEZeOrhuA_jWhmpaMmly5Y_Xl129k,2551
|
|
123
|
+
asteroid_odyssey/agents_v2_gen/models/common_forbidden_error_body.py,sha256=9yADAujD_9eTW4BtZ7oYifmFCDTpAw-j1jEEJhwdAVs,2885
|
|
124
|
+
asteroid_odyssey/agents_v2_gen/models/common_not_found_error_body.py,sha256=BAVAweVD5ltGL2lWfdDNwaq82CI4iVkPVE_E9JfEpi8,2881
|
|
125
|
+
asteroid_odyssey/agents_v2_gen/models/common_os_error.py,sha256=5hF0Q4D2sYdRe-F-mDT1FmD5yH4PcbKRlm8VkqDtBC4,2483
|
|
126
|
+
asteroid_odyssey/agents_v2_gen/models/common_sort_direction.py,sha256=UBW99PM3QRGRRE7dB5OSBhmhogmsXQQsrw66j0fg_xc,763
|
|
127
|
+
asteroid_odyssey/agents_v2_gen/models/executions_list200_response.py,sha256=hmZBiOEUKpzEptDcElwgNwhCwSnXFJsrBbb9w2amGiM,3302
|
|
128
|
+
asteroid_odyssey/agents_v2_gen/models/version.py,sha256=Vjiri_a5CcDJ1lSziRqif5HuFpaxneVDLIB1r8SFIkE,707
|
|
129
|
+
asteroid_odyssey-1.3.8.dist-info/METADATA,sha256=CgC3RezOclwF6timGiFyaLtJHInS2dDHFf-sWwBDFtY,7108
|
|
130
|
+
asteroid_odyssey-1.3.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
131
|
+
asteroid_odyssey-1.3.8.dist-info/top_level.txt,sha256=h4T6NKscnThJ4Nhzors2NKlJeZzepnM7XvDgsnfi5HA,17
|
|
132
|
+
asteroid_odyssey-1.3.8.dist-info/RECORD,,
|