asteroid-odyssey 1.3.10__tar.gz → 1.3.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/PKG-INFO +1 -1
  2. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/pyproject.toml +1 -1
  3. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/client.py +89 -187
  4. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey.egg-info/PKG-INFO +1 -1
  5. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/README.md +0 -0
  6. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/setup.cfg +0 -0
  7. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/__init__.py +0 -0
  8. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/__init__.py +0 -0
  9. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/api/__init__.py +0 -0
  10. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/api/agent_profile_api.py +0 -0
  11. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/api/api_api.py +0 -0
  12. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/api/execution_api.py +0 -0
  13. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/api_client.py +0 -0
  14. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/api_response.py +0 -0
  15. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/configuration.py +0 -0
  16. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/exceptions.py +0 -0
  17. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/__init__.py +0 -0
  18. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/agent_profile.py +0 -0
  19. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/browser_session_recording_response.py +0 -0
  20. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/cookie.py +0 -0
  21. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/country_code.py +0 -0
  22. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/create_agent_profile_request.py +0 -0
  23. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/credential.py +0 -0
  24. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/delete_agent_profile200_response.py +0 -0
  25. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/error_response.py +0 -0
  26. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/execution_response.py +0 -0
  27. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/execution_result.py +0 -0
  28. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/execution_result_response.py +0 -0
  29. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/execution_status_response.py +0 -0
  30. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/health_check200_response.py +0 -0
  31. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/health_check500_response.py +0 -0
  32. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/proxy_type.py +0 -0
  33. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/status.py +0 -0
  34. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/structured_agent_execution_request.py +0 -0
  35. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/models/update_agent_profile_request.py +0 -0
  36. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/py.typed +0 -0
  37. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v1_gen/rest.py +0 -0
  38. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/__init__.py +0 -0
  39. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/api/__init__.py +0 -0
  40. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/api/agents_api.py +0 -0
  41. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/api/execution_api.py +0 -0
  42. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/api/files_api.py +0 -0
  43. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/api_client.py +0 -0
  44. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/api_response.py +0 -0
  45. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/configuration.py +0 -0
  46. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/exceptions.py +0 -0
  47. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/__init__.py +0 -0
  48. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agent_list200_response.py +0 -0
  49. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_agent_base.py +0 -0
  50. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_agent_execute_agent_request.py +0 -0
  51. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_agent_execute_agent_response.py +0 -0
  52. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_agent_sort_field.py +0 -0
  53. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_action_name.py +0 -0
  54. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity.py +0 -0
  55. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_completed_info.py +0 -0
  56. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_completed_payload.py +0 -0
  57. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_failed_payload.py +0 -0
  58. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_started_info.py +0 -0
  59. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_started_payload.py +0 -0
  60. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_file_added_payload.py +0 -0
  61. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_generic_payload.py +0 -0
  62. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_payload_union.py +0 -0
  63. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_playwright_script_generated_payload.py +0 -0
  64. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_reasoning_payload.py +0 -0
  65. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_status_changed_payload.py +0 -0
  66. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_step_completed_payload.py +0 -0
  67. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_step_started_payload.py +0 -0
  68. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_transitioned_node_payload.py +0 -0
  69. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_user_message_received_payload.py +0 -0
  70. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_workflow_updated_payload.py +0 -0
  71. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_awaiting_confirmation_payload.py +0 -0
  72. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_cancel_reason.py +0 -0
  73. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_cancelled_payload.py +0 -0
  74. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_comment.py +0 -0
  75. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_completed_payload.py +0 -0
  76. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_element_file_upload_completed_details.py +0 -0
  77. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_execution_result.py +0 -0
  78. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_ext_api_call_completed_details.py +0 -0
  79. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_ext_get_mail_completed_details.py +0 -0
  80. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_failed_payload.py +0 -0
  81. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_file_list_completed_details.py +0 -0
  82. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_file_read_completed_details.py +0 -0
  83. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_file_stage_completed_details.py +0 -0
  84. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_human_label.py +0 -0
  85. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_list_item.py +0 -0
  86. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_llm_call_purpose.py +0 -0
  87. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_llm_call_started_details.py +0 -0
  88. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_nav_to_completed_details.py +0 -0
  89. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_nav_to_started_details.py +0 -0
  90. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_node_details.py +0 -0
  91. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_obs_snapshot_with_selectors_completed_details.py +0 -0
  92. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_paused_payload.py +0 -0
  93. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_rules_details.py +0 -0
  94. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_read_completed_details.py +0 -0
  95. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_read_started_details.py +0 -0
  96. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_write_completed_details.py +0 -0
  97. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scratchpad_write_started_details.py +0 -0
  98. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_script_hybrid_playwright_completed_details.py +0 -0
  99. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_script_hybrid_playwright_started_details.py +0 -0
  100. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_script_pad_run_function_completed_details.py +0 -0
  101. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_script_playwright_completed_details.py +0 -0
  102. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_script_playwright_started_details.py +0 -0
  103. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_read_completed_details.py +0 -0
  104. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_read_started_details.py +0 -0
  105. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_run_function_started_details.py +0 -0
  106. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_search_replace_completed_details.py +0 -0
  107. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_search_replace_started_details.py +0 -0
  108. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_scriptpad_write_completed_details.py +0 -0
  109. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_sort_field.py +0 -0
  110. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_status.py +0 -0
  111. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_terminal_payload.py +0 -0
  112. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_transition_details.py +0 -0
  113. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_update_type.py +0 -0
  114. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_user_messages_add_text_body.py +0 -0
  115. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_util_get_datetime_completed_details.py +0 -0
  116. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_util_get_datetime_started_details.py +0 -0
  117. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_workflow_update.py +0 -0
  118. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_files_file.py +0 -0
  119. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_files_temp_file.py +0 -0
  120. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_files_temp_files_response.py +0 -0
  121. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_graph_models_nodes_properties_playwright_script_llm_var.py +0 -0
  122. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_graph_models_nodes_properties_playwright_script_llm_var_type.py +0 -0
  123. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/agents_graph_models_transitions_transition_type.py +0 -0
  124. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/common_bad_request_error_body.py +0 -0
  125. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/common_error.py +0 -0
  126. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/common_forbidden_error_body.py +0 -0
  127. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/common_internal_server_error_body.py +0 -0
  128. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/common_not_found_error_body.py +0 -0
  129. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/common_os_error.py +0 -0
  130. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/common_sort_direction.py +0 -0
  131. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/common_unauthorized_error_body.py +0 -0
  132. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/executions_list200_response.py +0 -0
  133. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/models/version.py +0 -0
  134. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/py.typed +0 -0
  135. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey/agents_v2_gen/rest.py +0 -0
  136. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey.egg-info/SOURCES.txt +0 -0
  137. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey.egg-info/dependency_links.txt +0 -0
  138. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey.egg-info/requires.txt +0 -0
  139. {asteroid_odyssey-1.3.10 → asteroid_odyssey-1.3.12}/src/asteroid_odyssey.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asteroid-odyssey
3
- Version: 1.3.10
3
+ Version: 1.3.12
4
4
  Summary: A Python SDK for browser automation using Asteroid platform.
5
5
  Author-email: David Mlcoch <founders@asteroid.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "asteroid-odyssey"
3
- version = "1.3.10"
3
+ version = "1.3.12"
4
4
  authors = [
5
5
  { name = "David Mlcoch", email = "founders@asteroid.com" },
6
6
  ]
@@ -19,12 +19,7 @@ from cryptography.hazmat.primitives.asymmetric import padding, rsa
19
19
  from .agents_v1_gen import (
20
20
  Configuration as AgentsV1Configuration,
21
21
  ApiClient as AgentsV1ApiClient,
22
- APIApi as AgentsV1APIApi,
23
- ExecutionApi as AgentsV1ExecutionApi,
24
22
  AgentProfileApi as AgentsV1AgentProfileApi,
25
- ExecutionStatusResponse,
26
- ExecutionResult,
27
- Status,
28
23
  CreateAgentProfileRequest,
29
24
  UpdateAgentProfileRequest,
30
25
  DeleteAgentProfile200Response,
@@ -49,6 +44,7 @@ from .agents_v2_gen import (
49
44
  AgentsExecutionSortField as ExecutionSortField,
50
45
  AgentsExecutionStatus as ExecutionStatus,
51
46
  AgentsExecutionListItem as ExecutionListItem,
47
+ AgentsExecutionExecutionResult as ExecutionResult,
52
48
  ExecutionsList200Response,
53
49
  CommonSortDirection as SortDirection,
54
50
  )
@@ -131,7 +127,7 @@ class AsteroidClient:
131
127
 
132
128
  Args:
133
129
  api_key: Your API key for authentication
134
- base_url: Optional base URL (defaults to https://odyssey.asteroid.ai/api/v1)
130
+ base_url: Optional base URL (defaults to https://odyssey.asteroid.ai)
135
131
 
136
132
  Example:
137
133
  client = AsteroidClient('your-api-key')
@@ -139,23 +135,22 @@ class AsteroidClient:
139
135
  if api_key is None:
140
136
  raise TypeError("API key cannot be None")
141
137
 
142
- # Configure the V1 API client (used for status, results, profiles, etc.)
143
- config = AgentsV1Configuration(
144
- host=base_url or "https://odyssey.asteroid.ai/api/v1",
138
+ base = base_url or "https://odyssey.asteroid.ai"
139
+
140
+ # Configure the V1 API client (used for agent profiles and credentials)
141
+ v1_config = AgentsV1Configuration(
142
+ host=f"{base}/api/v1",
145
143
  api_key={'ApiKeyAuth': api_key}
146
144
  )
147
-
148
- self.api_client = AgentsV1ApiClient(config)
149
- self.api_api = AgentsV1APIApi(self.api_client)
150
- self.execution_api = AgentsV1ExecutionApi(self.api_client)
145
+ self.api_client = AgentsV1ApiClient(v1_config)
151
146
  self.agent_profile_api = AgentsV1AgentProfileApi(self.api_client)
152
147
 
153
- # Configure the V2 API client
154
- self.agents_v2_config = AgentsV2Configuration(
155
- host=base_url or "https://odyssey.asteroid.ai/agents/v2",
148
+ # Configure the V2 API client (used for agents, executions, files)
149
+ v2_config = AgentsV2Configuration(
150
+ host=f"{base}/agents/v2",
156
151
  api_key={'ApiKeyAuth': api_key}
157
152
  )
158
- self.agents_v2_api_client = AgentsV2ApiClient(self.agents_v2_config)
153
+ self.agents_v2_api_client = AgentsV2ApiClient(v2_config)
159
154
  self.agents_v2_agents_api = AgentsV2AgentsApi(self.agents_v2_api_client)
160
155
  self.agents_v2_execution_api = AgentsV2ExecutionApi(self.agents_v2_api_client)
161
156
  self.agents_v2_files_api = AgentsV2FilesApi(self.agents_v2_api_client)
@@ -205,65 +200,41 @@ class AsteroidClient:
205
200
  except ApiException as e:
206
201
  raise AsteroidAPIError(f"Failed to execute agent: {e}") from e
207
202
 
208
- # --- V1 ---
209
-
210
- def get_execution_status(self, execution_id: str) -> ExecutionStatusResponse:
203
+ def get_execution(self, execution_id: str) -> ExecutionListItem:
211
204
  """
212
- Get the current status for an execution.
205
+ Get a single execution by ID with all details.
213
206
 
214
- Args:
215
- execution_id: The execution identifier
216
-
217
- Returns:
218
- The execution status details
219
-
220
- Raises:
221
- AsteroidAPIError: If the status request fails
222
-
223
- Example:
224
- status = client.get_execution_status(execution_id)
225
- print(status.status)
226
- """
227
- try:
228
- return self.execution_api.get_execution_status(execution_id)
229
- except ApiException as e:
230
- raise AsteroidAPIError(f"Failed to get execution status: {e}") from e
231
-
232
- def get_execution_result(self, execution_id: str) -> ExecutionResult:
233
- """
234
- Get the final result of an execution.
207
+ This method returns comprehensive execution information including status,
208
+ result, browser recording URL, and other metadata.
235
209
 
236
210
  Args:
237
211
  execution_id: The execution identifier
238
212
 
239
213
  Returns:
240
- The execution result object
214
+ The execution details including:
215
+ - status: Current execution status
216
+ - execution_result: Result with outcome and reasoning (if terminal)
217
+ - browser_recording_url: Recording URL (if browser session was used)
218
+ - browser_live_view_url: Live view URL (if execution is running)
219
+ - agent_id, agent_name, agent_version: Agent information
220
+ - created_at, terminal_at, duration: Timing information
221
+ - metadata, comments, human_labels: Additional data
241
222
 
242
223
  Raises:
243
- AsteroidAPIError: If the result request fails or execution failed
224
+ AsteroidAPIError: If the request fails
244
225
 
245
226
  Example:
246
- result = client.get_execution_result(execution_id)
247
- print(result.outcome, result.reasoning)
227
+ execution = client.get_execution(execution_id)
228
+ print(f"Status: {execution.status}")
229
+ if execution.execution_result:
230
+ print(f"Outcome: {execution.execution_result.outcome}")
231
+ if execution.browser_recording_url:
232
+ print(f"Recording: {execution.browser_recording_url}")
248
233
  """
249
234
  try:
250
- response = self.execution_api.get_execution_result(execution_id)
251
-
252
- if response.error:
253
- raise AsteroidAPIError(response.error)
254
-
255
- # Handle case where execution_result might be None or have invalid data
256
- if response.execution_result is None:
257
- raise AsteroidAPIError("Execution result is not available yet")
258
-
259
- return response.execution_result
235
+ return self.agents_v2_execution_api.execution_get(execution_id)
260
236
  except ApiException as e:
261
- raise AsteroidAPIError(f"Failed to get execution result: {e}") from e
262
- except Exception as e:
263
- # Handle validation errors from ExecutionResult model
264
- if "must be one of enum values" in str(e):
265
- raise AsteroidAPIError("Execution result is not available yet - execution may still be running") from e
266
- raise e
237
+ raise AsteroidAPIError(f"Failed to get execution: {e}") from e
267
238
 
268
239
  def wait_for_execution_result(
269
240
  self,
@@ -274,7 +245,7 @@ class AsteroidClient:
274
245
  """
275
246
  Wait for an execution to reach a terminal state and return the result.
276
247
 
277
- Continuously polls the execution status until it's either "completed",
248
+ Continuously polls the execution until it's either "completed",
278
249
  "cancelled", or "failed".
279
250
 
280
251
  Args:
@@ -306,31 +277,21 @@ class AsteroidClient:
306
277
  if elapsed_time >= timeout:
307
278
  raise TimeoutError(f"Execution {execution_id} timed out after {timeout}s")
308
279
 
309
- status_response = self.get_execution_status(execution_id)
310
- current_status = status_response.status
280
+ execution = self.get_execution(execution_id)
281
+ current_status = execution.status
311
282
 
312
- if current_status == Status.COMPLETED:
313
- try:
314
- return self.get_execution_result(execution_id)
315
- except Exception as e:
316
- if "not available yet" in str(e):
317
- # Execution completed but result not ready yet, wait a bit more
318
- time.sleep(interval)
319
- continue
320
- raise e
321
- elif current_status in [Status.FAILED, Status.CANCELLED]:
322
- # Get the execution result to provide outcome and reasoning
323
- try:
324
- execution_result = self.get_execution_result(execution_id)
325
- reason = f" - {status_response.reason}" if status_response.reason else ""
326
- raise ExecutionError(
327
- f"Execution {execution_id} ended with status: {current_status.value}{reason}",
328
- execution_result
329
- )
330
- except Exception as e:
331
- # If we can't get the execution result, fall back to the original behavior
332
- reason = f" - {status_response.reason}" if status_response.reason else ""
333
- raise ExecutionError(f"Execution {execution_id} ended with status: {current_status.value}{reason}") from e
283
+ if current_status == ExecutionStatus.COMPLETED:
284
+ if execution.execution_result:
285
+ return execution.execution_result
286
+ # Execution completed but result not ready yet, wait a bit more
287
+ time.sleep(interval)
288
+ continue
289
+
290
+ elif current_status in [ExecutionStatus.FAILED, ExecutionStatus.CANCELLED]:
291
+ raise ExecutionError(
292
+ f"Execution {execution_id} ended with status: {current_status.value}",
293
+ execution.execution_result
294
+ )
334
295
 
335
296
  # Wait for the specified interval before polling again
336
297
  time.sleep(interval)
@@ -411,28 +372,7 @@ class AsteroidClient:
411
372
  except ApiException as e:
412
373
  raise AsteroidAPIError(f"Failed to upload execution files: {e}") from e
413
374
 
414
- def get_browser_session_recording(self, execution_id: str) -> str:
415
- """
416
- Get the browser session recording URL for a completed execution.
417
-
418
- Args:
419
- execution_id: The execution identifier
420
-
421
- Returns:
422
- The URL of the browser session recording
423
-
424
- Raises:
425
- Exception: If the recording request fails
426
-
427
- Example:
428
- recording_url = client.get_browser_session_recording(execution_id)
429
- print(f"Recording available at: {recording_url}")
430
- """
431
- try:
432
- response = self.execution_api.get_browser_session_recording(execution_id)
433
- return response.recording_url
434
- except ApiException as e:
435
- raise AsteroidAPIError(f"Failed to get browser session recording: {e}") from e
375
+ # --- V1 (Agent Profiles) ---
436
376
 
437
377
  def get_agent_profiles(self, organization_id: str) -> List[AgentProfile]:
438
378
  """
@@ -686,47 +626,34 @@ class AsteroidClient:
686
626
  if elapsed_time >= timeout:
687
627
  raise TimeoutError(f"Wait for interaction on execution {execution_id} timed out after {timeout}s")
688
628
 
689
- # Get current status
690
- status_response = self.get_execution_status(execution_id)
691
- current_status = status_response.status
629
+ # Get current execution state
630
+ execution = self.get_execution(execution_id)
631
+ current_status = execution.status
692
632
  status_str = current_status.value.lower()
693
633
 
694
634
  # Handle terminal states
695
- if current_status == Status.COMPLETED:
696
- try:
697
- execution_result = self.get_execution_result(execution_id)
635
+ if current_status == ExecutionStatus.COMPLETED:
636
+ if execution.execution_result:
698
637
  return AgentInteractionResult(
699
638
  is_terminal=True,
700
639
  status=status_str,
701
640
  agent_message=None,
702
- execution_result=execution_result
641
+ execution_result=execution.execution_result
703
642
  )
704
- except AsteroidAPIError as e:
705
- if "not available yet" in str(e):
706
- time.sleep(poll_interval)
707
- continue
708
- raise e
643
+ # Execution completed but result not ready yet, wait a bit more
644
+ time.sleep(poll_interval)
645
+ continue
709
646
 
710
- elif current_status in [Status.FAILED, Status.CANCELLED]:
711
- try:
712
- execution_result = self.get_execution_result(execution_id)
713
- return AgentInteractionResult(
714
- is_terminal=True,
715
- status=status_str,
716
- agent_message=None,
717
- execution_result=execution_result
718
- )
719
- except AsteroidAPIError as e:
720
- # If we can't get the execution result, still return terminal state
721
- return AgentInteractionResult(
722
- is_terminal=True,
723
- status=status_str,
724
- agent_message=None,
725
- execution_result=None
726
- )
647
+ elif current_status in [ExecutionStatus.FAILED, ExecutionStatus.CANCELLED]:
648
+ return AgentInteractionResult(
649
+ is_terminal=True,
650
+ status=status_str,
651
+ agent_message=None,
652
+ execution_result=execution.execution_result
653
+ )
727
654
 
728
655
  # Handle agent interaction request
729
- elif current_status == Status.PAUSED_BY_AGENT:
656
+ elif current_status == ExecutionStatus.PAUSED_BY_AGENT:
730
657
  # Get the agent's message/request
731
658
  agent_message = self._extract_agent_request_message(execution_id)
732
659
  return AgentInteractionResult(
@@ -1191,47 +1118,39 @@ def execute_agent(
1191
1118
  version,
1192
1119
  )
1193
1120
 
1194
- # --- V1 ---
1195
-
1196
-
1197
-
1198
- def get_execution_status(client: AsteroidClient, execution_id: str) -> ExecutionStatusResponse:
1199
- """
1200
- Get the current status for an execution.
1201
-
1202
- Args:
1203
- client: The AsteroidClient instance
1204
- execution_id: The execution identifier
1205
-
1206
- Returns:
1207
- The execution status details
1208
-
1209
- Example:
1210
- status = get_execution_status(client, execution_id)
1211
- print(status.status)
1121
+ def get_execution(client: AsteroidClient, execution_id: str) -> ExecutionListItem:
1212
1122
  """
1213
- return client.get_execution_status(execution_id)
1214
-
1123
+ Get a single execution by ID with all details.
1215
1124
 
1216
- def get_execution_result(client: AsteroidClient, execution_id: str) -> ExecutionResult:
1217
- """
1218
- Get the final result of an execution.
1125
+ This function returns comprehensive execution information including status,
1126
+ result, browser recording URL, and other metadata.
1219
1127
 
1220
1128
  Args:
1221
1129
  client: The AsteroidClient instance
1222
1130
  execution_id: The execution identifier
1223
1131
 
1224
1132
  Returns:
1225
- The execution result object
1133
+ The execution details including:
1134
+ - status: Current execution status
1135
+ - execution_result: Result with outcome and reasoning (if terminal)
1136
+ - browser_recording_url: Recording URL (if browser session was used)
1137
+ - browser_live_view_url: Live view URL (if execution is running)
1138
+ - agent_id, agent_name, agent_version: Agent information
1139
+ - created_at, terminal_at, duration: Timing information
1140
+ - metadata, comments, human_labels: Additional data
1226
1141
 
1227
1142
  Raises:
1228
- Exception: If the result is not available yet or execution failed
1143
+ AsteroidAPIError: If the request fails
1229
1144
 
1230
1145
  Example:
1231
- result = get_execution_result(client, execution_id)
1232
- print(result.outcome, result.reasoning)
1146
+ execution = get_execution(client, execution_id)
1147
+ print(f"Status: {execution.status}")
1148
+ if execution.execution_result:
1149
+ print(f"Outcome: {execution.execution_result.outcome}")
1150
+ if execution.browser_recording_url:
1151
+ print(f"Recording: {execution.browser_recording_url}")
1233
1152
  """
1234
- return client.get_execution_result(execution_id)
1153
+ return client.get_execution(execution_id)
1235
1154
 
1236
1155
 
1237
1156
  def wait_for_execution_result(
@@ -1341,22 +1260,7 @@ def stage_temp_files(
1341
1260
  return client.stage_temp_files(organization_id, files, default_filename)
1342
1261
 
1343
1262
 
1344
- def get_browser_session_recording(client: AsteroidClient, execution_id: str) -> str:
1345
- """
1346
- Get the browser session recording URL for a completed execution.
1347
-
1348
- Args:
1349
- client: The AsteroidClient instance
1350
- execution_id: The execution identifier
1351
-
1352
- Returns:
1353
- The URL of the browser session recording
1354
-
1355
- Example:
1356
- recording_url = get_browser_session_recording(client, execution_id)
1357
- print(f"Recording available at: {recording_url}")
1358
- """
1359
- return client.get_browser_session_recording(execution_id)
1263
+ # --- V1 (Agent Profiles) ---
1360
1264
 
1361
1265
  def get_agent_profiles(client: AsteroidClient, organization_id: Optional[str] = None) -> List[AgentProfile]:
1362
1266
  """
@@ -1687,14 +1591,11 @@ __all__ = [
1687
1591
  'create_client',
1688
1592
  # Agent Execution (V2)
1689
1593
  'execute_agent',
1594
+ 'get_execution',
1690
1595
  'get_executions',
1691
- # Execution Status & Results (V1)
1692
- 'get_execution_status',
1693
- 'get_execution_result',
1694
1596
  'wait_for_execution_result',
1695
1597
  'upload_execution_files',
1696
1598
  'stage_temp_files',
1697
- 'get_browser_session_recording',
1698
1599
  # Agent Profiles (V1)
1699
1600
  'get_agent_profiles',
1700
1601
  'get_agent_profile',
@@ -1720,6 +1621,7 @@ __all__ = [
1720
1621
  'TempFilesResponse',
1721
1622
  'ExecuteAgentRequest',
1722
1623
  'ExecutionListItem',
1624
+ 'ExecutionResult',
1723
1625
  'ExecutionsList200Response',
1724
1626
  'ExecutionStatus',
1725
1627
  'ExecutionSortField',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asteroid-odyssey
3
- Version: 1.3.10
3
+ Version: 1.3.12
4
4
  Summary: A Python SDK for browser automation using Asteroid platform.
5
5
  Author-email: David Mlcoch <founders@asteroid.com>
6
6
  License-Expression: MIT