asteroid-odyssey 1.3.5__tar.gz → 1.3.7__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 (100) hide show
  1. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/PKG-INFO +1 -1
  2. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/pyproject.toml +1 -1
  3. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/agent_profile.py +6 -2
  4. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/create_agent_profile_request.py +7 -3
  5. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/update_agent_profile_request.py +6 -2
  6. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/__init__.py +11 -0
  7. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/api/default_api.py +348 -0
  8. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/__init__.py +11 -0
  9. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_graph_updated.py +100 -0
  10. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/agent_list200_response.py +101 -0
  11. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/agents_agent_base.py +96 -0
  12. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/agents_agent_sort_field.py +37 -0
  13. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_graph_updated_payload.py +95 -0
  14. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_payload_union.py +22 -8
  15. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_graph_update.py +100 -0
  16. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_node_details.py +91 -0
  17. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_transition_details.py +89 -0
  18. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_update_type.py +38 -0
  19. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/common_error.py +89 -0
  20. asteroid_odyssey-1.3.7/src/asteroid_odyssey/agents_v2_gen/models/common_sort_direction.py +37 -0
  21. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/client.py +41 -0
  22. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey.egg-info/PKG-INFO +1 -1
  23. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey.egg-info/SOURCES.txt +11 -0
  24. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/README.md +0 -0
  25. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/setup.cfg +0 -0
  26. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/__init__.py +0 -0
  27. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/__init__.py +0 -0
  28. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/api/__init__.py +0 -0
  29. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/api/agent_profile_api.py +0 -0
  30. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/api/api_api.py +0 -0
  31. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/api/execution_api.py +0 -0
  32. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/api_client.py +0 -0
  33. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/api_response.py +0 -0
  34. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/configuration.py +0 -0
  35. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/exceptions.py +0 -0
  36. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/__init__.py +0 -0
  37. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/browser_session_recording_response.py +0 -0
  38. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/cookie.py +0 -0
  39. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/country_code.py +0 -0
  40. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/credential.py +0 -0
  41. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/delete_agent_profile200_response.py +0 -0
  42. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/error_response.py +0 -0
  43. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/execution_response.py +0 -0
  44. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/execution_result.py +0 -0
  45. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/execution_result_response.py +0 -0
  46. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/execution_status_response.py +0 -0
  47. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/health_check200_response.py +0 -0
  48. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/health_check500_response.py +0 -0
  49. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/proxy_type.py +0 -0
  50. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/status.py +0 -0
  51. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/structured_agent_execution_request.py +0 -0
  52. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/models/upload_execution_files200_response.py +0 -0
  53. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/py.typed +0 -0
  54. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v1_gen/rest.py +0 -0
  55. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/api/__init__.py +0 -0
  56. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/api_client.py +0 -0
  57. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/api_response.py +0 -0
  58. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/configuration.py +0 -0
  59. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/exceptions.py +0 -0
  60. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_action_completed.py +0 -0
  61. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_action_failed.py +0 -0
  62. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_action_started.py +0 -0
  63. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_file_added.py +0 -0
  64. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_generic.py +0 -0
  65. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_status_changed.py +0 -0
  66. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_step_completed.py +0 -0
  67. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_step_started.py +0 -0
  68. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_terminal.py +0 -0
  69. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_transitioned_node.py +0 -0
  70. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/activity_payload_union_user_message_received.py +0 -0
  71. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity.py +0 -0
  72. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_completed_payload.py +0 -0
  73. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_failed_payload.py +0 -0
  74. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_action_started_payload.py +0 -0
  75. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_file_added_payload.py +0 -0
  76. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_generic_payload.py +0 -0
  77. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_status_changed_payload.py +0 -0
  78. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_step_completed_payload.py +0 -0
  79. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_step_started_payload.py +0 -0
  80. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_transitioned_node_payload.py +0 -0
  81. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_activity_user_message_received_payload.py +0 -0
  82. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_awaiting_confirmation_payload.py +0 -0
  83. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_cancel_reason.py +0 -0
  84. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_cancelled_payload.py +0 -0
  85. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_completed_payload.py +0 -0
  86. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_failed_payload.py +0 -0
  87. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_paused_payload.py +0 -0
  88. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_status.py +0 -0
  89. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_terminal_payload.py +0 -0
  90. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_execution_user_messages_add_text_body.py +0 -0
  91. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/agents_files_file.py +0 -0
  92. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/common_bad_request_error_body.py +0 -0
  93. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/common_forbidden_error_body.py +0 -0
  94. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/common_not_found_error_body.py +0 -0
  95. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/models/version.py +0 -0
  96. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/py.typed +0 -0
  97. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey/agents_v2_gen/rest.py +0 -0
  98. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey.egg-info/dependency_links.txt +0 -0
  99. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/src/asteroid_odyssey.egg-info/requires.txt +0 -0
  100. {asteroid_odyssey-1.3.5 → asteroid_odyssey-1.3.7}/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.5
3
+ Version: 1.3.7
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.5"
3
+ version = "1.3.7"
4
4
  authors = [
5
5
  { name = "David Mlcoch", email = "founders@asteroid.com" },
6
6
  ]
@@ -43,7 +43,9 @@ class AgentProfile(BaseModel):
43
43
  cookies: List[Cookie] = Field(description="List of cookies associated with this agent profile")
44
44
  created_at: datetime = Field(description="The date and time the agent profile was created")
45
45
  updated_at: datetime = Field(description="The last update time of the agent profile")
46
- __properties: ClassVar[List[str]] = ["id", "name", "description", "organization_id", "proxy_cc", "proxy_type", "captcha_solver_active", "sticky_ip", "credentials", "cookies", "created_at", "updated_at"]
46
+ tracing_snapshots: StrictBool = Field(description="Whether to enable tracing snapshots for the profile")
47
+ extra_stealth: StrictBool = Field(description="Whether to enable extra stealth for the profile")
48
+ __properties: ClassVar[List[str]] = ["id", "name", "description", "organization_id", "proxy_cc", "proxy_type", "captcha_solver_active", "sticky_ip", "credentials", "cookies", "created_at", "updated_at", "tracing_snapshots", "extra_stealth"]
47
49
 
48
50
  model_config = ConfigDict(
49
51
  populate_by_name=True,
@@ -121,7 +123,9 @@ class AgentProfile(BaseModel):
121
123
  "credentials": [Credential.from_dict(_item) for _item in obj["credentials"]] if obj.get("credentials") is not None else None,
122
124
  "cookies": [Cookie.from_dict(_item) for _item in obj["cookies"]] if obj.get("cookies") is not None else None,
123
125
  "created_at": obj.get("created_at"),
124
- "updated_at": obj.get("updated_at")
126
+ "updated_at": obj.get("updated_at"),
127
+ "tracing_snapshots": obj.get("tracing_snapshots"),
128
+ "extra_stealth": obj.get("extra_stealth")
125
129
  })
126
130
  return _obj
127
131
 
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
- from typing import Any, ClassVar, Dict, List
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
22
  from typing_extensions import Annotated
23
23
  from asteroid_odyssey.agents_v1_gen.models.cookie import Cookie
24
24
  from asteroid_odyssey.agents_v1_gen.models.country_code import CountryCode
@@ -40,7 +40,9 @@ class CreateAgentProfileRequest(BaseModel):
40
40
  sticky_ip: StrictBool = Field(description="Whether the same IP address should be used for all executions of this profile")
41
41
  credentials: List[Credential] = Field(description="Optional list of credentials to create with the profile")
42
42
  cookies: List[Cookie] = Field(description="Optional list of cookies to create with the profile")
43
- __properties: ClassVar[List[str]] = ["name", "description", "organization_id", "proxy_cc", "proxy_type", "captcha_solver_active", "sticky_ip", "credentials", "cookies"]
43
+ tracing_snapshots: Optional[StrictBool] = Field(default=True, description="Whether to enable tracing snapshots for the profile")
44
+ extra_stealth: Optional[StrictBool] = Field(default=False, description="Whether to enable extra stealth for the profile")
45
+ __properties: ClassVar[List[str]] = ["name", "description", "organization_id", "proxy_cc", "proxy_type", "captcha_solver_active", "sticky_ip", "credentials", "cookies", "tracing_snapshots", "extra_stealth"]
44
46
 
45
47
  model_config = ConfigDict(
46
48
  populate_by_name=True,
@@ -115,7 +117,9 @@ class CreateAgentProfileRequest(BaseModel):
115
117
  "captcha_solver_active": obj.get("captcha_solver_active") if obj.get("captcha_solver_active") is not None else False,
116
118
  "sticky_ip": obj.get("sticky_ip") if obj.get("sticky_ip") is not None else False,
117
119
  "credentials": [Credential.from_dict(_item) for _item in obj["credentials"]] if obj.get("credentials") is not None else None,
118
- "cookies": [Cookie.from_dict(_item) for _item in obj["cookies"]] if obj.get("cookies") is not None else None
120
+ "cookies": [Cookie.from_dict(_item) for _item in obj["cookies"]] if obj.get("cookies") is not None else None,
121
+ "tracing_snapshots": obj.get("tracing_snapshots") if obj.get("tracing_snapshots") is not None else True,
122
+ "extra_stealth": obj.get("extra_stealth") if obj.get("extra_stealth") is not None else False
119
123
  })
120
124
  return _obj
121
125
 
@@ -41,7 +41,9 @@ class UpdateAgentProfileRequest(BaseModel):
41
41
  credentials_to_delete: Optional[List[StrictStr]] = Field(default=None, description="List of credential IDs to delete from the profile")
42
42
  cookies_to_add: Optional[List[Cookie]] = Field(default=None, description="List of cookies to add to the profile")
43
43
  cookies_to_delete: Optional[List[StrictStr]] = Field(default=None, description="List of cookie IDs to delete from the profile")
44
- __properties: ClassVar[List[str]] = ["name", "description", "proxy_cc", "proxy_type", "captcha_solver_active", "sticky_ip", "credentials_to_add", "credentials_to_delete", "cookies_to_add", "cookies_to_delete"]
44
+ tracing_snapshots: Optional[StrictBool] = Field(default=True, description="Whether to enable tracing snapshots for the profile")
45
+ extra_stealth: Optional[StrictBool] = Field(default=False, description="Whether to enable extra stealth for the profile")
46
+ __properties: ClassVar[List[str]] = ["name", "description", "proxy_cc", "proxy_type", "captcha_solver_active", "sticky_ip", "credentials_to_add", "credentials_to_delete", "cookies_to_add", "cookies_to_delete", "tracing_snapshots", "extra_stealth"]
45
47
 
46
48
  model_config = ConfigDict(
47
49
  populate_by_name=True,
@@ -117,7 +119,9 @@ class UpdateAgentProfileRequest(BaseModel):
117
119
  "credentials_to_add": [Credential.from_dict(_item) for _item in obj["credentials_to_add"]] if obj.get("credentials_to_add") is not None else None,
118
120
  "credentials_to_delete": obj.get("credentials_to_delete"),
119
121
  "cookies_to_add": [Cookie.from_dict(_item) for _item in obj["cookies_to_add"]] if obj.get("cookies_to_add") is not None else None,
120
- "cookies_to_delete": obj.get("cookies_to_delete")
122
+ "cookies_to_delete": obj.get("cookies_to_delete"),
123
+ "tracing_snapshots": obj.get("tracing_snapshots") if obj.get("tracing_snapshots") is not None else True,
124
+ "extra_stealth": obj.get("extra_stealth") if obj.get("extra_stealth") is not None else False
121
125
  })
122
126
  return _obj
123
127
 
@@ -36,18 +36,23 @@ from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_action_failed
36
36
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_action_started import ActivityPayloadUnionActionStarted
37
37
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_file_added import ActivityPayloadUnionFileAdded
38
38
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_generic import ActivityPayloadUnionGeneric
39
+ from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_graph_updated import ActivityPayloadUnionGraphUpdated
39
40
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_status_changed import ActivityPayloadUnionStatusChanged
40
41
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_step_completed import ActivityPayloadUnionStepCompleted
41
42
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_step_started import ActivityPayloadUnionStepStarted
42
43
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_terminal import ActivityPayloadUnionTerminal
43
44
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_transitioned_node import ActivityPayloadUnionTransitionedNode
44
45
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_user_message_received import ActivityPayloadUnionUserMessageReceived
46
+ from asteroid_odyssey.agents_v2_gen.models.agent_list200_response import AgentList200Response
47
+ from asteroid_odyssey.agents_v2_gen.models.agents_agent_base import AgentsAgentBase
48
+ from asteroid_odyssey.agents_v2_gen.models.agents_agent_sort_field import AgentsAgentSortField
45
49
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity import AgentsExecutionActivity
46
50
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_action_completed_payload import AgentsExecutionActivityActionCompletedPayload
47
51
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_action_failed_payload import AgentsExecutionActivityActionFailedPayload
48
52
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_action_started_payload import AgentsExecutionActivityActionStartedPayload
49
53
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_file_added_payload import AgentsExecutionActivityFileAddedPayload
50
54
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_generic_payload import AgentsExecutionActivityGenericPayload
55
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_graph_updated_payload import AgentsExecutionActivityGraphUpdatedPayload
51
56
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_payload_union import AgentsExecutionActivityPayloadUnion
52
57
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_status_changed_payload import AgentsExecutionActivityStatusChangedPayload
53
58
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_step_completed_payload import AgentsExecutionActivityStepCompletedPayload
@@ -59,12 +64,18 @@ from asteroid_odyssey.agents_v2_gen.models.agents_execution_cancel_reason import
59
64
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_cancelled_payload import AgentsExecutionCancelledPayload
60
65
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_completed_payload import AgentsExecutionCompletedPayload
61
66
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_failed_payload import AgentsExecutionFailedPayload
67
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_graph_update import AgentsExecutionGraphUpdate
68
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_node_details import AgentsExecutionNodeDetails
62
69
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_paused_payload import AgentsExecutionPausedPayload
63
70
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_status import AgentsExecutionStatus
64
71
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_terminal_payload import AgentsExecutionTerminalPayload
72
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_transition_details import AgentsExecutionTransitionDetails
73
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_update_type import AgentsExecutionUpdateType
65
74
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_user_messages_add_text_body import AgentsExecutionUserMessagesAddTextBody
66
75
  from asteroid_odyssey.agents_v2_gen.models.agents_files_file import AgentsFilesFile
67
76
  from asteroid_odyssey.agents_v2_gen.models.common_bad_request_error_body import CommonBadRequestErrorBody
77
+ from asteroid_odyssey.agents_v2_gen.models.common_error import CommonError
68
78
  from asteroid_odyssey.agents_v2_gen.models.common_forbidden_error_body import CommonForbiddenErrorBody
69
79
  from asteroid_odyssey.agents_v2_gen.models.common_not_found_error_body import CommonNotFoundErrorBody
80
+ from asteroid_odyssey.agents_v2_gen.models.common_sort_direction import CommonSortDirection
70
81
  from asteroid_odyssey.agents_v2_gen.models.version import Version
@@ -19,9 +19,12 @@ from typing_extensions import Annotated
19
19
  from pydantic import Field, StrictBytes, StrictInt, StrictStr, field_validator
20
20
  from typing import List, Optional, Tuple, Union
21
21
  from typing_extensions import Annotated
22
+ from asteroid_odyssey.agents_v2_gen.models.agent_list200_response import AgentList200Response
23
+ from asteroid_odyssey.agents_v2_gen.models.agents_agent_sort_field import AgentsAgentSortField
22
24
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity import AgentsExecutionActivity
23
25
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_user_messages_add_text_body import AgentsExecutionUserMessagesAddTextBody
24
26
  from asteroid_odyssey.agents_v2_gen.models.agents_files_file import AgentsFilesFile
27
+ from asteroid_odyssey.agents_v2_gen.models.common_sort_direction import CommonSortDirection
25
28
 
26
29
  from asteroid_odyssey.agents_v2_gen.api_client import ApiClient, RequestSerialized
27
30
  from asteroid_odyssey.agents_v2_gen.api_response import ApiResponse
@@ -41,6 +44,351 @@ class DefaultApi:
41
44
  self.api_client = api_client
42
45
 
43
46
 
47
+ @validate_call
48
+ def agent_list(
49
+ self,
50
+ page_size: StrictInt,
51
+ page: StrictInt,
52
+ organization_id: Optional[StrictStr] = None,
53
+ search_name: Optional[StrictStr] = None,
54
+ sort_field: Optional[AgentsAgentSortField] = None,
55
+ sort_direction: Optional[CommonSortDirection] = None,
56
+ _request_timeout: Union[
57
+ None,
58
+ Annotated[StrictFloat, Field(gt=0)],
59
+ Tuple[
60
+ Annotated[StrictFloat, Field(gt=0)],
61
+ Annotated[StrictFloat, Field(gt=0)]
62
+ ]
63
+ ] = None,
64
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
65
+ _content_type: Optional[StrictStr] = None,
66
+ _headers: Optional[Dict[StrictStr, Any]] = None,
67
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
68
+ ) -> AgentList200Response:
69
+ """agent_list
70
+
71
+
72
+ :param page_size: (required)
73
+ :type page_size: int
74
+ :param page: (required)
75
+ :type page: int
76
+ :param organization_id:
77
+ :type organization_id: str
78
+ :param search_name:
79
+ :type search_name: str
80
+ :param sort_field:
81
+ :type sort_field: AgentsAgentSortField
82
+ :param sort_direction:
83
+ :type sort_direction: CommonSortDirection
84
+ :param _request_timeout: timeout setting for this request. If one
85
+ number provided, it will be total request
86
+ timeout. It can also be a pair (tuple) of
87
+ (connection, read) timeouts.
88
+ :type _request_timeout: int, tuple(int, int), optional
89
+ :param _request_auth: set to override the auth_settings for an a single
90
+ request; this effectively ignores the
91
+ authentication in the spec for a single request.
92
+ :type _request_auth: dict, optional
93
+ :param _content_type: force content-type for the request.
94
+ :type _content_type: str, Optional
95
+ :param _headers: set to override the headers for a single
96
+ request; this effectively ignores the headers
97
+ in the spec for a single request.
98
+ :type _headers: dict, optional
99
+ :param _host_index: set to override the host_index for a single
100
+ request; this effectively ignores the host_index
101
+ in the spec for a single request.
102
+ :type _host_index: int, optional
103
+ :return: Returns the result object.
104
+ """ # noqa: E501
105
+
106
+ _param = self._agent_list_serialize(
107
+ page_size=page_size,
108
+ page=page,
109
+ organization_id=organization_id,
110
+ search_name=search_name,
111
+ sort_field=sort_field,
112
+ sort_direction=sort_direction,
113
+ _request_auth=_request_auth,
114
+ _content_type=_content_type,
115
+ _headers=_headers,
116
+ _host_index=_host_index
117
+ )
118
+
119
+ _response_types_map: Dict[str, Optional[str]] = {
120
+ '200': "AgentList200Response",
121
+ }
122
+ response_data = self.api_client.call_api(
123
+ *_param,
124
+ _request_timeout=_request_timeout
125
+ )
126
+ response_data.read()
127
+ return self.api_client.response_deserialize(
128
+ response_data=response_data,
129
+ response_types_map=_response_types_map,
130
+ ).data
131
+
132
+
133
+ @validate_call
134
+ def agent_list_with_http_info(
135
+ self,
136
+ page_size: StrictInt,
137
+ page: StrictInt,
138
+ organization_id: Optional[StrictStr] = None,
139
+ search_name: Optional[StrictStr] = None,
140
+ sort_field: Optional[AgentsAgentSortField] = None,
141
+ sort_direction: Optional[CommonSortDirection] = None,
142
+ _request_timeout: Union[
143
+ None,
144
+ Annotated[StrictFloat, Field(gt=0)],
145
+ Tuple[
146
+ Annotated[StrictFloat, Field(gt=0)],
147
+ Annotated[StrictFloat, Field(gt=0)]
148
+ ]
149
+ ] = None,
150
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
151
+ _content_type: Optional[StrictStr] = None,
152
+ _headers: Optional[Dict[StrictStr, Any]] = None,
153
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
154
+ ) -> ApiResponse[AgentList200Response]:
155
+ """agent_list
156
+
157
+
158
+ :param page_size: (required)
159
+ :type page_size: int
160
+ :param page: (required)
161
+ :type page: int
162
+ :param organization_id:
163
+ :type organization_id: str
164
+ :param search_name:
165
+ :type search_name: str
166
+ :param sort_field:
167
+ :type sort_field: AgentsAgentSortField
168
+ :param sort_direction:
169
+ :type sort_direction: CommonSortDirection
170
+ :param _request_timeout: timeout setting for this request. If one
171
+ number provided, it will be total request
172
+ timeout. It can also be a pair (tuple) of
173
+ (connection, read) timeouts.
174
+ :type _request_timeout: int, tuple(int, int), optional
175
+ :param _request_auth: set to override the auth_settings for an a single
176
+ request; this effectively ignores the
177
+ authentication in the spec for a single request.
178
+ :type _request_auth: dict, optional
179
+ :param _content_type: force content-type for the request.
180
+ :type _content_type: str, Optional
181
+ :param _headers: set to override the headers for a single
182
+ request; this effectively ignores the headers
183
+ in the spec for a single request.
184
+ :type _headers: dict, optional
185
+ :param _host_index: set to override the host_index for a single
186
+ request; this effectively ignores the host_index
187
+ in the spec for a single request.
188
+ :type _host_index: int, optional
189
+ :return: Returns the result object.
190
+ """ # noqa: E501
191
+
192
+ _param = self._agent_list_serialize(
193
+ page_size=page_size,
194
+ page=page,
195
+ organization_id=organization_id,
196
+ search_name=search_name,
197
+ sort_field=sort_field,
198
+ sort_direction=sort_direction,
199
+ _request_auth=_request_auth,
200
+ _content_type=_content_type,
201
+ _headers=_headers,
202
+ _host_index=_host_index
203
+ )
204
+
205
+ _response_types_map: Dict[str, Optional[str]] = {
206
+ '200': "AgentList200Response",
207
+ }
208
+ response_data = self.api_client.call_api(
209
+ *_param,
210
+ _request_timeout=_request_timeout
211
+ )
212
+ response_data.read()
213
+ return self.api_client.response_deserialize(
214
+ response_data=response_data,
215
+ response_types_map=_response_types_map,
216
+ )
217
+
218
+
219
+ @validate_call
220
+ def agent_list_without_preload_content(
221
+ self,
222
+ page_size: StrictInt,
223
+ page: StrictInt,
224
+ organization_id: Optional[StrictStr] = None,
225
+ search_name: Optional[StrictStr] = None,
226
+ sort_field: Optional[AgentsAgentSortField] = None,
227
+ sort_direction: Optional[CommonSortDirection] = None,
228
+ _request_timeout: Union[
229
+ None,
230
+ Annotated[StrictFloat, Field(gt=0)],
231
+ Tuple[
232
+ Annotated[StrictFloat, Field(gt=0)],
233
+ Annotated[StrictFloat, Field(gt=0)]
234
+ ]
235
+ ] = None,
236
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
237
+ _content_type: Optional[StrictStr] = None,
238
+ _headers: Optional[Dict[StrictStr, Any]] = None,
239
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
240
+ ) -> RESTResponseType:
241
+ """agent_list
242
+
243
+
244
+ :param page_size: (required)
245
+ :type page_size: int
246
+ :param page: (required)
247
+ :type page: int
248
+ :param organization_id:
249
+ :type organization_id: str
250
+ :param search_name:
251
+ :type search_name: str
252
+ :param sort_field:
253
+ :type sort_field: AgentsAgentSortField
254
+ :param sort_direction:
255
+ :type sort_direction: CommonSortDirection
256
+ :param _request_timeout: timeout setting for this request. If one
257
+ number provided, it will be total request
258
+ timeout. It can also be a pair (tuple) of
259
+ (connection, read) timeouts.
260
+ :type _request_timeout: int, tuple(int, int), optional
261
+ :param _request_auth: set to override the auth_settings for an a single
262
+ request; this effectively ignores the
263
+ authentication in the spec for a single request.
264
+ :type _request_auth: dict, optional
265
+ :param _content_type: force content-type for the request.
266
+ :type _content_type: str, Optional
267
+ :param _headers: set to override the headers for a single
268
+ request; this effectively ignores the headers
269
+ in the spec for a single request.
270
+ :type _headers: dict, optional
271
+ :param _host_index: set to override the host_index for a single
272
+ request; this effectively ignores the host_index
273
+ in the spec for a single request.
274
+ :type _host_index: int, optional
275
+ :return: Returns the result object.
276
+ """ # noqa: E501
277
+
278
+ _param = self._agent_list_serialize(
279
+ page_size=page_size,
280
+ page=page,
281
+ organization_id=organization_id,
282
+ search_name=search_name,
283
+ sort_field=sort_field,
284
+ sort_direction=sort_direction,
285
+ _request_auth=_request_auth,
286
+ _content_type=_content_type,
287
+ _headers=_headers,
288
+ _host_index=_host_index
289
+ )
290
+
291
+ _response_types_map: Dict[str, Optional[str]] = {
292
+ '200': "AgentList200Response",
293
+ }
294
+ response_data = self.api_client.call_api(
295
+ *_param,
296
+ _request_timeout=_request_timeout
297
+ )
298
+ return response_data.response
299
+
300
+
301
+ def _agent_list_serialize(
302
+ self,
303
+ page_size,
304
+ page,
305
+ organization_id,
306
+ search_name,
307
+ sort_field,
308
+ sort_direction,
309
+ _request_auth,
310
+ _content_type,
311
+ _headers,
312
+ _host_index,
313
+ ) -> RequestSerialized:
314
+
315
+ _host = None
316
+
317
+ _collection_formats: Dict[str, str] = {
318
+ }
319
+
320
+ _path_params: Dict[str, str] = {}
321
+ _query_params: List[Tuple[str, str]] = []
322
+ _header_params: Dict[str, Optional[str]] = _headers or {}
323
+ _form_params: List[Tuple[str, str]] = []
324
+ _files: Dict[
325
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
326
+ ] = {}
327
+ _body_params: Optional[bytes] = None
328
+
329
+ # process the path parameters
330
+ # process the query parameters
331
+ if organization_id is not None:
332
+
333
+ _query_params.append(('organizationId', organization_id))
334
+
335
+ if page_size is not None:
336
+
337
+ _query_params.append(('pageSize', page_size))
338
+
339
+ if page is not None:
340
+
341
+ _query_params.append(('page', page))
342
+
343
+ if search_name is not None:
344
+
345
+ _query_params.append(('searchName', search_name))
346
+
347
+ if sort_field is not None:
348
+
349
+ _query_params.append(('sort_field', sort_field.value))
350
+
351
+ if sort_direction is not None:
352
+
353
+ _query_params.append(('sort_direction', sort_direction.value))
354
+
355
+ # process the header parameters
356
+ # process the form parameters
357
+ # process the body parameter
358
+
359
+
360
+ # set the HTTP header `Accept`
361
+ if 'Accept' not in _header_params:
362
+ _header_params['Accept'] = self.api_client.select_header_accept(
363
+ [
364
+ 'application/json'
365
+ ]
366
+ )
367
+
368
+
369
+ # authentication setting
370
+ _auth_settings: List[str] = [
371
+ 'ApiKeyAuth'
372
+ ]
373
+
374
+ return self.api_client.param_serialize(
375
+ method='GET',
376
+ resource_path='/agents',
377
+ path_params=_path_params,
378
+ query_params=_query_params,
379
+ header_params=_header_params,
380
+ body=_body_params,
381
+ post_params=_form_params,
382
+ files=_files,
383
+ auth_settings=_auth_settings,
384
+ collection_formats=_collection_formats,
385
+ _host=_host,
386
+ _request_auth=_request_auth
387
+ )
388
+
389
+
390
+
391
+
44
392
  @validate_call
45
393
  def execution_activities_get(
46
394
  self,
@@ -19,18 +19,23 @@ from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_action_failed
19
19
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_action_started import ActivityPayloadUnionActionStarted
20
20
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_file_added import ActivityPayloadUnionFileAdded
21
21
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_generic import ActivityPayloadUnionGeneric
22
+ from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_graph_updated import ActivityPayloadUnionGraphUpdated
22
23
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_status_changed import ActivityPayloadUnionStatusChanged
23
24
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_step_completed import ActivityPayloadUnionStepCompleted
24
25
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_step_started import ActivityPayloadUnionStepStarted
25
26
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_terminal import ActivityPayloadUnionTerminal
26
27
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_transitioned_node import ActivityPayloadUnionTransitionedNode
27
28
  from asteroid_odyssey.agents_v2_gen.models.activity_payload_union_user_message_received import ActivityPayloadUnionUserMessageReceived
29
+ from asteroid_odyssey.agents_v2_gen.models.agent_list200_response import AgentList200Response
30
+ from asteroid_odyssey.agents_v2_gen.models.agents_agent_base import AgentsAgentBase
31
+ from asteroid_odyssey.agents_v2_gen.models.agents_agent_sort_field import AgentsAgentSortField
28
32
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity import AgentsExecutionActivity
29
33
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_action_completed_payload import AgentsExecutionActivityActionCompletedPayload
30
34
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_action_failed_payload import AgentsExecutionActivityActionFailedPayload
31
35
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_action_started_payload import AgentsExecutionActivityActionStartedPayload
32
36
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_file_added_payload import AgentsExecutionActivityFileAddedPayload
33
37
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_generic_payload import AgentsExecutionActivityGenericPayload
38
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_graph_updated_payload import AgentsExecutionActivityGraphUpdatedPayload
34
39
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_payload_union import AgentsExecutionActivityPayloadUnion
35
40
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_status_changed_payload import AgentsExecutionActivityStatusChangedPayload
36
41
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_step_completed_payload import AgentsExecutionActivityStepCompletedPayload
@@ -42,12 +47,18 @@ from asteroid_odyssey.agents_v2_gen.models.agents_execution_cancel_reason import
42
47
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_cancelled_payload import AgentsExecutionCancelledPayload
43
48
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_completed_payload import AgentsExecutionCompletedPayload
44
49
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_failed_payload import AgentsExecutionFailedPayload
50
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_graph_update import AgentsExecutionGraphUpdate
51
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_node_details import AgentsExecutionNodeDetails
45
52
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_paused_payload import AgentsExecutionPausedPayload
46
53
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_status import AgentsExecutionStatus
47
54
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_terminal_payload import AgentsExecutionTerminalPayload
55
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_transition_details import AgentsExecutionTransitionDetails
56
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_update_type import AgentsExecutionUpdateType
48
57
  from asteroid_odyssey.agents_v2_gen.models.agents_execution_user_messages_add_text_body import AgentsExecutionUserMessagesAddTextBody
49
58
  from asteroid_odyssey.agents_v2_gen.models.agents_files_file import AgentsFilesFile
50
59
  from asteroid_odyssey.agents_v2_gen.models.common_bad_request_error_body import CommonBadRequestErrorBody
60
+ from asteroid_odyssey.agents_v2_gen.models.common_error import CommonError
51
61
  from asteroid_odyssey.agents_v2_gen.models.common_forbidden_error_body import CommonForbiddenErrorBody
52
62
  from asteroid_odyssey.agents_v2_gen.models.common_not_found_error_body import CommonNotFoundErrorBody
63
+ from asteroid_odyssey.agents_v2_gen.models.common_sort_direction import CommonSortDirection
53
64
  from asteroid_odyssey.agents_v2_gen.models.version import Version
@@ -0,0 +1,100 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Agent Service
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: v1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List
22
+ from asteroid_odyssey.agents_v2_gen.models.agents_execution_activity_graph_updated_payload import AgentsExecutionActivityGraphUpdatedPayload
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class ActivityPayloadUnionGraphUpdated(BaseModel):
27
+ """
28
+ ActivityPayloadUnionGraphUpdated
29
+ """ # noqa: E501
30
+ activity_type: StrictStr = Field(alias="activityType")
31
+ data: AgentsExecutionActivityGraphUpdatedPayload
32
+ __properties: ClassVar[List[str]] = ["activityType", "data"]
33
+
34
+ @field_validator('activity_type')
35
+ def activity_type_validate_enum(cls, value):
36
+ """Validates the enum"""
37
+ if value not in set(['graph_updated']):
38
+ raise ValueError("must be one of enum values ('graph_updated')")
39
+ return value
40
+
41
+ model_config = ConfigDict(
42
+ populate_by_name=True,
43
+ validate_assignment=True,
44
+ protected_namespaces=(),
45
+ )
46
+
47
+
48
+ def to_str(self) -> str:
49
+ """Returns the string representation of the model using alias"""
50
+ return pprint.pformat(self.model_dump(by_alias=True))
51
+
52
+ def to_json(self) -> str:
53
+ """Returns the JSON representation of the model using alias"""
54
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
55
+ return json.dumps(self.to_dict())
56
+
57
+ @classmethod
58
+ def from_json(cls, json_str: str) -> Optional[Self]:
59
+ """Create an instance of ActivityPayloadUnionGraphUpdated from a JSON string"""
60
+ return cls.from_dict(json.loads(json_str))
61
+
62
+ def to_dict(self) -> Dict[str, Any]:
63
+ """Return the dictionary representation of the model using alias.
64
+
65
+ This has the following differences from calling pydantic's
66
+ `self.model_dump(by_alias=True)`:
67
+
68
+ * `None` is only added to the output dict for nullable fields that
69
+ were set at model initialization. Other fields with value `None`
70
+ are ignored.
71
+ """
72
+ excluded_fields: Set[str] = set([
73
+ ])
74
+
75
+ _dict = self.model_dump(
76
+ by_alias=True,
77
+ exclude=excluded_fields,
78
+ exclude_none=True,
79
+ )
80
+ # override the default output from pydantic by calling `to_dict()` of data
81
+ if self.data:
82
+ _dict['data'] = self.data.to_dict()
83
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
+ """Create an instance of ActivityPayloadUnionGraphUpdated from a dict"""
88
+ if obj is None:
89
+ return None
90
+
91
+ if not isinstance(obj, dict):
92
+ return cls.model_validate(obj)
93
+
94
+ _obj = cls.model_validate({
95
+ "activityType": obj.get("activityType"),
96
+ "data": AgentsExecutionActivityGraphUpdatedPayload.from_dict(obj["data"]) if obj.get("data") is not None else None
97
+ })
98
+ return _obj
99
+
100
+