blaxel 0.2.31__py3-none-any.whl → 0.2.31rc121__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.
Files changed (174) hide show
  1. blaxel/__init__.py +3 -3
  2. blaxel/core/agents/__init__.py +6 -13
  3. blaxel/core/authentication/__init__.py +1 -2
  4. blaxel/core/authentication/devicemode.py +1 -9
  5. blaxel/core/authentication/oauth.py +6 -13
  6. blaxel/core/authentication/types.py +0 -1
  7. blaxel/core/cache/cache.py +3 -10
  8. blaxel/core/client/api/agents/list_agent_revisions.py +1 -3
  9. blaxel/core/client/api/compute/delete_sandbox_preview_token.py +2 -6
  10. blaxel/core/client/api/compute/start_sandbox.py +1 -3
  11. blaxel/core/client/api/compute/stop_sandbox.py +1 -3
  12. blaxel/core/client/api/default/list_sandbox_hub_definitions.py +2 -6
  13. blaxel/core/client/api/functions/list_function_revisions.py +1 -3
  14. blaxel/core/client/api/images/cleanup_images.py +1 -3
  15. blaxel/core/client/api/integrations/list_integration_connections.py +2 -6
  16. blaxel/core/client/api/invitations/list_all_pending_invitations.py +1 -3
  17. blaxel/core/client/api/jobs/create_job_execution.py +1 -3
  18. blaxel/core/client/api/jobs/delete_job_execution.py +1 -3
  19. blaxel/core/client/api/jobs/get_job_execution.py +1 -3
  20. blaxel/core/client/api/jobs/list_job_executions.py +2 -6
  21. blaxel/core/client/api/jobs/list_job_revisions.py +1 -3
  22. blaxel/core/client/api/locations/list_locations.py +1 -3
  23. blaxel/core/client/api/models/list_model_revisions.py +1 -3
  24. blaxel/core/client/api/service_accounts/create_workspace_service_account.py +2 -6
  25. blaxel/core/client/api/service_accounts/delete_workspace_service_account.py +2 -6
  26. blaxel/core/client/api/service_accounts/get_workspace_service_accounts.py +1 -3
  27. blaxel/core/client/api/service_accounts/update_workspace_service_account.py +2 -6
  28. blaxel/core/client/api/volume_templates/list_volume_templates.py +1 -3
  29. blaxel/core/client/api/workspaces/accept_workspace_invitation.py +2 -6
  30. blaxel/core/client/api/workspaces/invite_workspace_user.py +2 -6
  31. blaxel/core/client/api/workspaces/update_workspace_user_role.py +2 -6
  32. blaxel/core/client/client.py +1 -3
  33. blaxel/core/client/models/agent.py +4 -11
  34. blaxel/core/client/models/agent_spec.py +5 -18
  35. blaxel/core/client/models/billable_time_metric.py +1 -0
  36. blaxel/core/client/models/configuration.py +1 -0
  37. blaxel/core/client/models/core_spec.py +3 -10
  38. blaxel/core/client/models/core_spec_configurations.py +1 -0
  39. blaxel/core/client/models/create_job_execution_request.py +1 -0
  40. blaxel/core/client/models/create_job_execution_response.py +1 -0
  41. blaxel/core/client/models/custom_domain.py +2 -5
  42. blaxel/core/client/models/custom_domain_metadata.py +1 -0
  43. blaxel/core/client/models/custom_domain_spec.py +2 -5
  44. blaxel/core/client/models/delete_volume_template_version_response_200.py +2 -5
  45. blaxel/core/client/models/entrypoint.py +1 -0
  46. blaxel/core/client/models/form.py +2 -5
  47. blaxel/core/client/models/function.py +4 -11
  48. blaxel/core/client/models/function_spec.py +4 -13
  49. blaxel/core/client/models/image.py +2 -5
  50. blaxel/core/client/models/image_spec.py +1 -0
  51. blaxel/core/client/models/integration.py +3 -10
  52. blaxel/core/client/models/integration_connection.py +2 -5
  53. blaxel/core/client/models/integration_connection_spec.py +1 -0
  54. blaxel/core/client/models/integration_endpoint.py +2 -5
  55. blaxel/core/client/models/integration_endpoints.py +2 -0
  56. blaxel/core/client/models/job.py +4 -11
  57. blaxel/core/client/models/job_execution.py +2 -5
  58. blaxel/core/client/models/job_execution_spec.py +1 -0
  59. blaxel/core/client/models/job_execution_task.py +2 -5
  60. blaxel/core/client/models/job_metrics.py +2 -5
  61. blaxel/core/client/models/job_spec.py +4 -13
  62. blaxel/core/client/models/jobs_network_chart.py +1 -0
  63. blaxel/core/client/models/jobs_success_failed_chart.py +3 -10
  64. blaxel/core/client/models/latency_metric.py +2 -5
  65. blaxel/core/client/models/location_response.py +1 -0
  66. blaxel/core/client/models/mcp_definition.py +2 -5
  67. blaxel/core/client/models/metadata.py +1 -0
  68. blaxel/core/client/models/metrics.py +4 -11
  69. blaxel/core/client/models/model.py +4 -11
  70. blaxel/core/client/models/model_spec.py +3 -10
  71. blaxel/core/client/models/pending_invitation_accept.py +2 -5
  72. blaxel/core/client/models/pending_invitation_render.py +3 -10
  73. blaxel/core/client/models/policy.py +2 -5
  74. blaxel/core/client/models/policy_spec.py +4 -11
  75. blaxel/core/client/models/preview.py +2 -5
  76. blaxel/core/client/models/preview_spec.py +1 -0
  77. blaxel/core/client/models/preview_token.py +2 -5
  78. blaxel/core/client/models/public_ips.py +1 -0
  79. blaxel/core/client/models/request_duration_over_time_metrics.py +1 -0
  80. blaxel/core/client/models/request_total_by_origin_metric.py +7 -16
  81. blaxel/core/client/models/request_total_metric.py +3 -8
  82. blaxel/core/client/models/resource_metrics.py +17 -58
  83. blaxel/core/client/models/runtime.py +1 -0
  84. blaxel/core/client/models/sandbox.py +4 -11
  85. blaxel/core/client/models/sandbox_definition.py +1 -0
  86. blaxel/core/client/models/sandbox_lifecycle.py +1 -0
  87. blaxel/core/client/models/sandbox_spec.py +6 -21
  88. blaxel/core/client/models/serverless_config.py +1 -0
  89. blaxel/core/client/models/start_sandbox.py +2 -5
  90. blaxel/core/client/models/stop_sandbox.py +2 -5
  91. blaxel/core/client/models/store_agent.py +1 -0
  92. blaxel/core/client/models/store_configuration.py +1 -0
  93. blaxel/core/client/models/template.py +1 -0
  94. blaxel/core/client/models/time_to_first_token_over_time_metrics.py +2 -3
  95. blaxel/core/client/models/token_rate_metrics.py +1 -0
  96. blaxel/core/client/models/trigger.py +1 -0
  97. blaxel/core/client/models/trigger_configuration.py +1 -0
  98. blaxel/core/client/models/volume.py +4 -11
  99. blaxel/core/client/models/volume_template.py +2 -5
  100. blaxel/core/client/models/workspace.py +2 -5
  101. blaxel/core/client/response_interceptor.py +1 -3
  102. blaxel/core/common/autoload.py +11 -9
  103. blaxel/core/common/env.py +8 -10
  104. blaxel/core/common/settings.py +2 -4
  105. blaxel/core/common/webhook.py +1 -0
  106. blaxel/core/jobs/__init__.py +3 -13
  107. blaxel/core/mcp/client.py +2 -8
  108. blaxel/core/mcp/server.py +2 -8
  109. blaxel/core/models/__init__.py +5 -6
  110. blaxel/core/sandbox/__init__.py +1 -1
  111. blaxel/core/sandbox/client/api/codegen/get_codegen_reranking_path.py +2 -6
  112. blaxel/core/sandbox/client/api/fastapply/put_codegen_fastapply_path.py +2 -6
  113. blaxel/core/sandbox/client/api/filesystem/delete_filesystem_multipart_upload_id_abort.py +2 -6
  114. blaxel/core/sandbox/client/api/filesystem/delete_filesystem_path.py +2 -6
  115. blaxel/core/sandbox/client/api/filesystem/delete_filesystem_tree_path.py +2 -6
  116. blaxel/core/sandbox/client/api/filesystem/get_filesystem_content_search_path.py +1 -3
  117. blaxel/core/sandbox/client/api/filesystem/get_filesystem_find_path.py +2 -6
  118. blaxel/core/sandbox/client/api/filesystem/get_filesystem_search_path.py +2 -6
  119. blaxel/core/sandbox/client/api/filesystem/get_watch_filesystem_path.py +2 -6
  120. blaxel/core/sandbox/client/api/filesystem/post_filesystem_multipart_upload_id_complete.py +2 -6
  121. blaxel/core/sandbox/client/api/filesystem/put_filesystem_path.py +2 -6
  122. blaxel/core/sandbox/client/api/process/delete_process_identifier.py +2 -6
  123. blaxel/core/sandbox/client/api/process/delete_process_identifier_kill.py +2 -6
  124. blaxel/core/sandbox/client/api/process/get_process.py +1 -3
  125. blaxel/core/sandbox/client/api/process/get_process_identifier.py +2 -6
  126. blaxel/core/sandbox/client/api/process/get_process_identifier_logs.py +2 -6
  127. blaxel/core/sandbox/client/api/process/get_process_identifier_logs_stream.py +2 -6
  128. blaxel/core/sandbox/client/api/process/post_process.py +2 -6
  129. blaxel/core/sandbox/client/client.py +1 -3
  130. blaxel/core/sandbox/client/models/filesystem_multipart_upload_parts.py +1 -3
  131. blaxel/core/sandbox/default/__init__.py +1 -0
  132. blaxel/core/sandbox/default/action.py +3 -3
  133. blaxel/core/sandbox/default/codegen.py +4 -2
  134. blaxel/core/sandbox/default/filesystem.py +82 -38
  135. blaxel/core/sandbox/default/interpreter.py +10 -17
  136. blaxel/core/sandbox/default/preview.py +2 -6
  137. blaxel/core/sandbox/default/process.py +7 -25
  138. blaxel/core/sandbox/default/sandbox.py +2 -7
  139. blaxel/core/sandbox/sync/__init__.py +2 -0
  140. blaxel/core/sandbox/sync/action.py +3 -2
  141. blaxel/core/sandbox/sync/codegen.py +5 -1
  142. blaxel/core/sandbox/sync/filesystem.py +6 -17
  143. blaxel/core/sandbox/sync/interpreter.py +6 -10
  144. blaxel/core/sandbox/sync/network.py +2 -0
  145. blaxel/core/sandbox/sync/preview.py +9 -21
  146. blaxel/core/sandbox/sync/process.py +8 -32
  147. blaxel/core/sandbox/sync/sandbox.py +6 -13
  148. blaxel/core/sandbox/sync/session.py +4 -6
  149. blaxel/core/sandbox/types.py +1 -2
  150. blaxel/core/tools/__init__.py +6 -30
  151. blaxel/core/tools/common.py +1 -1
  152. blaxel/core/tools/types.py +1 -2
  153. blaxel/crewai/model.py +5 -20
  154. blaxel/googleadk/__init__.py +1 -1
  155. blaxel/googleadk/tools.py +5 -3
  156. blaxel/langgraph/custom/gemini.py +133 -126
  157. blaxel/langgraph/model.py +50 -54
  158. blaxel/langgraph/tools.py +3 -9
  159. blaxel/llamaindex/custom/cohere.py +16 -25
  160. blaxel/llamaindex/model.py +57 -44
  161. blaxel/llamaindex/tools.py +3 -2
  162. blaxel/pydantic/custom/gemini.py +3 -3
  163. blaxel/pydantic/tools.py +4 -2
  164. blaxel/telemetry/exporters.py +3 -10
  165. blaxel/telemetry/instrumentation/blaxel_langgraph.py +2 -4
  166. blaxel/telemetry/instrumentation/blaxel_langgraph_gemini.py +5 -22
  167. blaxel/telemetry/instrumentation/utils.py +3 -3
  168. blaxel/telemetry/log/log.py +3 -2
  169. blaxel/telemetry/log/logger.py +15 -21
  170. blaxel/telemetry/span.py +6 -10
  171. {blaxel-0.2.31.dist-info → blaxel-0.2.31rc121.dist-info}/METADATA +2 -2
  172. {blaxel-0.2.31.dist-info → blaxel-0.2.31rc121.dist-info}/RECORD +174 -174
  173. {blaxel-0.2.31.dist-info → blaxel-0.2.31rc121.dist-info}/WHEEL +0 -0
  174. {blaxel-0.2.31.dist-info → blaxel-0.2.31rc121.dist-info}/licenses/LICENSE +0 -0
blaxel/__init__.py CHANGED
@@ -4,9 +4,9 @@ from .core.common.autoload import autoload
4
4
  from .core.common.env import env
5
5
  from .core.common.settings import settings
6
6
 
7
- __version__ = "0.2.31"
8
- __commit__ = "43ad41354e2f27bae2471030eeaf702cf8e811ba"
7
+ __version__ = "0.2.31.pre-121"
8
+ __commit__ = "144bb0a926e288d5f3309d113cbf13c11071a338"
9
9
  __sentry_dsn__ = "https://9711de13cd02b285ca4378c01de8dc30@o4508714045276160.ingest.us.sentry.io/4510461121462272"
10
10
  __all__ = ["autoload", "settings", "env"]
11
11
 
12
- autoload()
12
+ autoload()
@@ -51,13 +51,11 @@ class BlAgent:
51
51
  body = json.dumps(body)
52
52
 
53
53
  # Merge settings headers with provided headers
54
- merged_headers = {
55
- **settings.headers,
56
- "Content-Type": "application/json",
57
- **headers,
58
- }
54
+ merged_headers = {**settings.headers, "Content-Type": "application/json", **headers}
59
55
 
60
- return client.get_httpx_client().post(url, headers=merged_headers, data=body, params=params)
56
+ return client.get_httpx_client().post(
57
+ url, headers=merged_headers, data=body, params=params
58
+ )
61
59
 
62
60
  async def acall(self, url, input_data, headers: dict = {}, params: dict = {}):
63
61
  logger.debug(f"Agent Calling: {self.name}")
@@ -66,11 +64,7 @@ class BlAgent:
66
64
  body = json.dumps(body)
67
65
 
68
66
  # Merge settings headers with provided headers
69
- merged_headers = {
70
- **settings.headers,
71
- "Content-Type": "application/json",
72
- **headers,
73
- }
67
+ merged_headers = {**settings.headers, "Content-Type": "application/json", **headers}
74
68
 
75
69
  return await client.get_async_httpx_client().post(
76
70
  url, headers=merged_headers, data=body, params=params
@@ -126,5 +120,4 @@ async def get_agent_metadata(name):
126
120
  except Exception:
127
121
  return None
128
122
 
129
-
130
- __all__ = ["BlAgent", "bl_agent", "get_agent_metadata"]
123
+ __all__ = ["BlAgent", "bl_agent", "get_agent_metadata"]
@@ -34,8 +34,7 @@ def get_credentials() -> CredentialsType | None:
34
34
 
35
35
  if os.environ.get("BL_CLIENT_CREDENTIALS"):
36
36
  return CredentialsType(
37
- client_credentials=os.environ.get("BL_CLIENT_CREDENTIALS"),
38
- workspace=get_workspace(),
37
+ client_credentials=os.environ.get("BL_CLIENT_CREDENTIALS"), workspace=get_workspace()
39
38
  )
40
39
 
41
40
  try:
@@ -24,7 +24,6 @@ class DeviceLogin:
24
24
  client_id (str): The client ID for the device.
25
25
  scope (str): The scope of the authentication.
26
26
  """
27
-
28
27
  client_id: str
29
28
  scope: str
30
29
 
@@ -43,7 +42,6 @@ class DeviceLoginResponse:
43
42
  verification_uri (str): URI for user to verify device login.
44
43
  verification_uri_complete (str): Complete URI including the user code for verification.
45
44
  """
46
-
47
45
  client_id: str
48
46
  device_code: str
49
47
  user_code: str
@@ -63,7 +61,6 @@ class DeviceLoginFinalizeRequest:
63
61
  client_id (str): The client ID for finalizing the device login.
64
62
  device_code (str): The device code to finalize login.
65
63
  """
66
-
67
64
  grant_type: str
68
65
  client_id: str
69
66
  device_code: str
@@ -81,7 +78,6 @@ class DeviceMode(BlaxelAuth):
81
78
  """
82
79
  DeviceMode auth that authenticates requests using a device code.
83
80
  """
84
-
85
81
  def get_headers(self) -> Dict[str, str]:
86
82
  """
87
83
  Retrieves the authentication headers containing the Bearer token and workspace information.
@@ -165,11 +161,7 @@ class DeviceMode(BlaxelAuth):
165
161
  }
166
162
 
167
163
  try:
168
- response = post(
169
- url,
170
- json=refresh_data,
171
- headers={"Content-Type": "application/json"},
172
- )
164
+ response = post(url, json=refresh_data, headers={"Content-Type": "application/json"})
173
165
  response.raise_for_status()
174
166
  finalize_response = DeviceLoginFinalizeResponse(**response.json())
175
167
 
@@ -11,7 +11,6 @@ class OauthTokenData:
11
11
  headers: dict[str, str] = field(default_factory=dict)
12
12
  authenticated: bool | None = False
13
13
 
14
-
15
14
  @dataclass
16
15
  class OauthTokenResponse:
17
16
  access_token: str
@@ -19,16 +18,14 @@ class OauthTokenResponse:
19
18
  expires_in: int
20
19
  token_type: str
21
20
 
22
-
23
21
  @dataclass
24
22
  class OauthTokenError:
25
23
  error: str
26
24
 
27
-
28
25
  async def oauth_token(
29
26
  options: OauthTokenData,
30
27
  client: Client | None = None,
31
- throw_on_error: bool = False,
28
+ throw_on_error: bool = False
32
29
  ) -> Union[OauthTokenResponse, OauthTokenError]:
33
30
  """
34
31
  Get a new OAuth token.
@@ -41,17 +38,13 @@ async def oauth_token(
41
38
  Returns:
42
39
  The OAuth token response or error
43
40
  """
44
- response = (
45
- await (client or default_client)
46
- .get_async_httpx_client()
47
- .post(
48
- url="/oauth/token",
49
- json=options.body or {},
50
- headers=options.headers or {},
51
- )
41
+ response = await (client or default_client).get_async_httpx_client().post(
42
+ url="/oauth/token",
43
+ json=options.body or {},
44
+ headers=options.headers or {},
52
45
  )
53
46
  if response.status_code >= 400:
54
47
  if throw_on_error:
55
48
  raise Exception(f"Failed to get OAuth token: {response.text}")
56
49
  return OauthTokenError(error=response.text)
57
- return OauthTokenResponse(**response.json())
50
+ return OauthTokenResponse(**response.json())
@@ -17,7 +17,6 @@ class CredentialsType(BaseModel):
17
17
  expires_in: int | None = Field(default=None, description="The expiration time")
18
18
  workspace: str | None = Field(default=None, description="The workspace")
19
19
 
20
-
21
20
  class BlaxelAuth(Auth):
22
21
  def __init__(self, credentials: CredentialsType, workspace_name: str, base_url: str):
23
22
  """
@@ -14,26 +14,19 @@ def _load_cache() -> None:
14
14
  Load cache data from .cache.yaml file if it exists.
15
15
  """
16
16
  try:
17
- if os.path.exists(".cache.yaml"):
18
- with open(".cache.yaml", encoding="utf-8") as file:
17
+ if os.path.exists('.cache.yaml'):
18
+ with open('.cache.yaml', encoding='utf-8') as file:
19
19
  cache_string = file.read()
20
20
  cache_data = yaml.safe_load_all(cache_string)
21
21
 
22
22
  for doc in cache_data:
23
- if (
24
- doc
25
- and isinstance(doc, dict)
26
- and "kind" in doc
27
- and "metadata" in doc
28
- and "name" in doc["metadata"]
29
- ):
23
+ if doc and isinstance(doc, dict) and 'kind' in doc and 'metadata' in doc and 'name' in doc['metadata']:
30
24
  cache_key = f"{doc['kind']}/{doc['metadata']['name']}"
31
25
  _cache[cache_key] = doc
32
26
  except Exception:
33
27
  # Silently fail if cache file doesn't exist or is invalid
34
28
  pass
35
29
 
36
-
37
30
  # Initialize cache on module import
38
31
  _load_cache()
39
32
 
@@ -36,9 +36,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> list["Revisi
36
36
  return None
37
37
 
38
38
 
39
- def _build_response(
40
- *, client: Client, response: httpx.Response
41
- ) -> Response[list["RevisionMetadata"]]:
39
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[list["RevisionMetadata"]]:
42
40
  return Response(
43
41
  status_code=HTTPStatus(response.status_code),
44
42
  content=response.content,
@@ -22,9 +22,7 @@ def _get_kwargs(
22
22
  return _kwargs
23
23
 
24
24
 
25
- def _parse_response(
26
- *, client: Client, response: httpx.Response
27
- ) -> DeleteSandboxPreviewTokenResponse200 | None:
25
+ def _parse_response(*, client: Client, response: httpx.Response) -> DeleteSandboxPreviewTokenResponse200 | None:
28
26
  if response.status_code == 200:
29
27
  response_200 = DeleteSandboxPreviewTokenResponse200.from_dict(response.json())
30
28
 
@@ -35,9 +33,7 @@ def _parse_response(
35
33
  return None
36
34
 
37
35
 
38
- def _build_response(
39
- *, client: Client, response: httpx.Response
40
- ) -> Response[DeleteSandboxPreviewTokenResponse200]:
36
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[DeleteSandboxPreviewTokenResponse200]:
41
37
  return Response(
42
38
  status_code=HTTPStatus(response.status_code),
43
39
  content=response.content,
@@ -34,9 +34,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, S
34
34
  return None
35
35
 
36
36
 
37
- def _build_response(
38
- *, client: Client, response: httpx.Response
39
- ) -> Response[Union[Any, StartSandbox]]:
37
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, StartSandbox]]:
40
38
  return Response(
41
39
  status_code=HTTPStatus(response.status_code),
42
40
  content=response.content,
@@ -34,9 +34,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, S
34
34
  return None
35
35
 
36
36
 
37
- def _build_response(
38
- *, client: Client, response: httpx.Response
39
- ) -> Response[Union[Any, StopSandbox]]:
37
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, StopSandbox]]:
40
38
  return Response(
41
39
  status_code=HTTPStatus(response.status_code),
42
40
  content=response.content,
@@ -18,9 +18,7 @@ def _get_kwargs() -> dict[str, Any]:
18
18
  return _kwargs
19
19
 
20
20
 
21
- def _parse_response(
22
- *, client: Client, response: httpx.Response
23
- ) -> list["SandboxDefinition"] | None:
21
+ def _parse_response(*, client: Client, response: httpx.Response) -> list["SandboxDefinition"] | None:
24
22
  if response.status_code == 200:
25
23
  response_200 = []
26
24
  _response_200 = response.json()
@@ -36,9 +34,7 @@ def _parse_response(
36
34
  return None
37
35
 
38
36
 
39
- def _build_response(
40
- *, client: Client, response: httpx.Response
41
- ) -> Response[list["SandboxDefinition"]]:
37
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[list["SandboxDefinition"]]:
42
38
  return Response(
43
39
  status_code=HTTPStatus(response.status_code),
44
40
  content=response.content,
@@ -36,9 +36,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> list["Revisi
36
36
  return None
37
37
 
38
38
 
39
- def _build_response(
40
- *, client: Client, response: httpx.Response
41
- ) -> Response[list["RevisionMetadata"]]:
39
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[list["RevisionMetadata"]]:
42
40
  return Response(
43
41
  status_code=HTTPStatus(response.status_code),
44
42
  content=response.content,
@@ -29,9 +29,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> CleanupImage
29
29
  return None
30
30
 
31
31
 
32
- def _build_response(
33
- *, client: Client, response: httpx.Response
34
- ) -> Response[CleanupImagesResponse200]:
32
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[CleanupImagesResponse200]:
35
33
  return Response(
36
34
  status_code=HTTPStatus(response.status_code),
37
35
  content=response.content,
@@ -18,9 +18,7 @@ def _get_kwargs() -> dict[str, Any]:
18
18
  return _kwargs
19
19
 
20
20
 
21
- def _parse_response(
22
- *, client: Client, response: httpx.Response
23
- ) -> list["IntegrationConnection"] | None:
21
+ def _parse_response(*, client: Client, response: httpx.Response) -> list["IntegrationConnection"] | None:
24
22
  if response.status_code == 200:
25
23
  response_200 = []
26
24
  _response_200 = response.json()
@@ -36,9 +34,7 @@ def _parse_response(
36
34
  return None
37
35
 
38
36
 
39
- def _build_response(
40
- *, client: Client, response: httpx.Response
41
- ) -> Response[list["IntegrationConnection"]]:
37
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[list["IntegrationConnection"]]:
42
38
  return Response(
43
39
  status_code=HTTPStatus(response.status_code),
44
40
  content=response.content,
@@ -18,9 +18,7 @@ def _get_kwargs() -> dict[str, Any]:
18
18
  return _kwargs
19
19
 
20
20
 
21
- def _parse_response(
22
- *, client: Client, response: httpx.Response
23
- ) -> Union[Any, list["PendingInvitationRender"]] | None:
21
+ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, list["PendingInvitationRender"]] | None:
24
22
  if response.status_code == 200:
25
23
  response_200 = []
26
24
  _response_200 = response.json()
@@ -51,9 +51,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, J
51
51
  return None
52
52
 
53
53
 
54
- def _build_response(
55
- *, client: Client, response: httpx.Response
56
- ) -> Response[Union[Any, JobExecution]]:
54
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, JobExecution]]:
57
55
  return Response(
58
56
  status_code=HTTPStatus(response.status_code),
59
57
  content=response.content,
@@ -41,9 +41,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, J
41
41
  return None
42
42
 
43
43
 
44
- def _build_response(
45
- *, client: Client, response: httpx.Response
46
- ) -> Response[Union[Any, JobExecution]]:
44
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, JobExecution]]:
47
45
  return Response(
48
46
  status_code=HTTPStatus(response.status_code),
49
47
  content=response.content,
@@ -41,9 +41,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, J
41
41
  return None
42
42
 
43
43
 
44
- def _build_response(
45
- *, client: Client, response: httpx.Response
46
- ) -> Response[Union[Any, JobExecution]]:
44
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, JobExecution]]:
47
45
  return Response(
48
46
  status_code=HTTPStatus(response.status_code),
49
47
  content=response.content,
@@ -32,9 +32,7 @@ def _get_kwargs(
32
32
  return _kwargs
33
33
 
34
34
 
35
- def _parse_response(
36
- *, client: Client, response: httpx.Response
37
- ) -> Union[Any, list["JobExecution"]] | None:
35
+ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, list["JobExecution"]] | None:
38
36
  if response.status_code == 200:
39
37
  response_200 = []
40
38
  _response_200 = response.json()
@@ -56,9 +54,7 @@ def _parse_response(
56
54
  return None
57
55
 
58
56
 
59
- def _build_response(
60
- *, client: Client, response: httpx.Response
61
- ) -> Response[Union[Any, list["JobExecution"]]]:
57
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, list["JobExecution"]]]:
62
58
  return Response(
63
59
  status_code=HTTPStatus(response.status_code),
64
60
  content=response.content,
@@ -36,9 +36,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> list["Revisi
36
36
  return None
37
37
 
38
38
 
39
- def _build_response(
40
- *, client: Client, response: httpx.Response
41
- ) -> Response[list["RevisionMetadata"]]:
39
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[list["RevisionMetadata"]]:
42
40
  return Response(
43
41
  status_code=HTTPStatus(response.status_code),
44
42
  content=response.content,
@@ -34,9 +34,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> list["Locati
34
34
  return None
35
35
 
36
36
 
37
- def _build_response(
38
- *, client: Client, response: httpx.Response
39
- ) -> Response[list["LocationResponse"]]:
37
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[list["LocationResponse"]]:
40
38
  return Response(
41
39
  status_code=HTTPStatus(response.status_code),
42
40
  content=response.content,
@@ -36,9 +36,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> list["Revisi
36
36
  return None
37
37
 
38
38
 
39
- def _build_response(
40
- *, client: Client, response: httpx.Response
41
- ) -> Response[list["RevisionMetadata"]]:
39
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[list["RevisionMetadata"]]:
42
40
  return Response(
43
41
  status_code=HTTPStatus(response.status_code),
44
42
  content=response.content,
@@ -35,9 +35,7 @@ def _get_kwargs(
35
35
  return _kwargs
36
36
 
37
37
 
38
- def _parse_response(
39
- *, client: Client, response: httpx.Response
40
- ) -> CreateWorkspaceServiceAccountResponse200 | None:
38
+ def _parse_response(*, client: Client, response: httpx.Response) -> CreateWorkspaceServiceAccountResponse200 | None:
41
39
  if response.status_code == 200:
42
40
  response_200 = CreateWorkspaceServiceAccountResponse200.from_dict(response.json())
43
41
 
@@ -48,9 +46,7 @@ def _parse_response(
48
46
  return None
49
47
 
50
48
 
51
- def _build_response(
52
- *, client: Client, response: httpx.Response
53
- ) -> Response[CreateWorkspaceServiceAccountResponse200]:
49
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[CreateWorkspaceServiceAccountResponse200]:
54
50
  return Response(
55
51
  status_code=HTTPStatus(response.status_code),
56
52
  content=response.content,
@@ -22,9 +22,7 @@ def _get_kwargs(
22
22
  return _kwargs
23
23
 
24
24
 
25
- def _parse_response(
26
- *, client: Client, response: httpx.Response
27
- ) -> DeleteWorkspaceServiceAccountResponse200 | None:
25
+ def _parse_response(*, client: Client, response: httpx.Response) -> DeleteWorkspaceServiceAccountResponse200 | None:
28
26
  if response.status_code == 200:
29
27
  response_200 = DeleteWorkspaceServiceAccountResponse200.from_dict(response.json())
30
28
 
@@ -35,9 +33,7 @@ def _parse_response(
35
33
  return None
36
34
 
37
35
 
38
- def _build_response(
39
- *, client: Client, response: httpx.Response
40
- ) -> Response[DeleteWorkspaceServiceAccountResponse200]:
36
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[DeleteWorkspaceServiceAccountResponse200]:
41
37
  return Response(
42
38
  status_code=HTTPStatus(response.status_code),
43
39
  content=response.content,
@@ -27,9 +27,7 @@ def _parse_response(
27
27
  response_200 = []
28
28
  _response_200 = response.json()
29
29
  for response_200_item_data in _response_200:
30
- response_200_item = GetWorkspaceServiceAccountsResponse200Item.from_dict(
31
- response_200_item_data
32
- )
30
+ response_200_item = GetWorkspaceServiceAccountsResponse200Item.from_dict(response_200_item_data)
33
31
 
34
32
  response_200.append(response_200_item)
35
33
 
@@ -36,9 +36,7 @@ def _get_kwargs(
36
36
  return _kwargs
37
37
 
38
38
 
39
- def _parse_response(
40
- *, client: Client, response: httpx.Response
41
- ) -> UpdateWorkspaceServiceAccountResponse200 | None:
39
+ def _parse_response(*, client: Client, response: httpx.Response) -> UpdateWorkspaceServiceAccountResponse200 | None:
42
40
  if response.status_code == 200:
43
41
  response_200 = UpdateWorkspaceServiceAccountResponse200.from_dict(response.json())
44
42
 
@@ -49,9 +47,7 @@ def _parse_response(
49
47
  return None
50
48
 
51
49
 
52
- def _build_response(
53
- *, client: Client, response: httpx.Response
54
- ) -> Response[UpdateWorkspaceServiceAccountResponse200]:
50
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[UpdateWorkspaceServiceAccountResponse200]:
55
51
  return Response(
56
52
  status_code=HTTPStatus(response.status_code),
57
53
  content=response.content,
@@ -34,9 +34,7 @@ def _parse_response(*, client: Client, response: httpx.Response) -> list["Volume
34
34
  return None
35
35
 
36
36
 
37
- def _build_response(
38
- *, client: Client, response: httpx.Response
39
- ) -> Response[list["VolumeTemplate"]]:
37
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[list["VolumeTemplate"]]:
40
38
  return Response(
41
39
  status_code=HTTPStatus(response.status_code),
42
40
  content=response.content,
@@ -20,9 +20,7 @@ def _get_kwargs(
20
20
  return _kwargs
21
21
 
22
22
 
23
- def _parse_response(
24
- *, client: Client, response: httpx.Response
25
- ) -> Union[Any, PendingInvitationAccept] | None:
23
+ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, PendingInvitationAccept] | None:
26
24
  if response.status_code == 200:
27
25
  response_200 = PendingInvitationAccept.from_dict(response.json())
28
26
 
@@ -36,9 +34,7 @@ def _parse_response(
36
34
  return None
37
35
 
38
36
 
39
- def _build_response(
40
- *, client: Client, response: httpx.Response
41
- ) -> Response[Union[Any, PendingInvitationAccept]]:
37
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, PendingInvitationAccept]]:
42
38
  return Response(
43
39
  status_code=HTTPStatus(response.status_code),
44
40
  content=response.content,
@@ -33,9 +33,7 @@ def _get_kwargs(
33
33
  return _kwargs
34
34
 
35
35
 
36
- def _parse_response(
37
- *, client: Client, response: httpx.Response
38
- ) -> Union[Any, PendingInvitation] | None:
36
+ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, PendingInvitation] | None:
39
37
  if response.status_code == 200:
40
38
  response_200 = PendingInvitation.from_dict(response.json())
41
39
 
@@ -52,9 +50,7 @@ def _parse_response(
52
50
  return None
53
51
 
54
52
 
55
- def _build_response(
56
- *, client: Client, response: httpx.Response
57
- ) -> Response[Union[Any, PendingInvitation]]:
53
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, PendingInvitation]]:
58
54
  return Response(
59
55
  status_code=HTTPStatus(response.status_code),
60
56
  content=response.content,
@@ -34,9 +34,7 @@ def _get_kwargs(
34
34
  return _kwargs
35
35
 
36
36
 
37
- def _parse_response(
38
- *, client: Client, response: httpx.Response
39
- ) -> Union[Any, WorkspaceUser] | None:
37
+ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Any, WorkspaceUser] | None:
40
38
  if response.status_code == 200:
41
39
  response_200 = WorkspaceUser.from_dict(response.json())
42
40
 
@@ -53,9 +51,7 @@ def _parse_response(
53
51
  return None
54
52
 
55
53
 
56
- def _build_response(
57
- *, client: Client, response: httpx.Response
58
- ) -> Response[Union[Any, WorkspaceUser]]:
54
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, WorkspaceUser]]:
59
55
  return Response(
60
56
  status_code=HTTPStatus(response.status_code),
61
57
  content=response.content,
@@ -43,9 +43,7 @@ class Client:
43
43
  _headers: dict[str, str] = field(factory=dict, kw_only=True, alias="headers")
44
44
  _auth: httpx.Auth = field(default=None, alias="auth")
45
45
  _timeout: httpx.Timeout | None = field(default=None, kw_only=True, alias="timeout")
46
- _verify_ssl: Union[str, bool, ssl.SSLContext] = field(
47
- default=True, kw_only=True, alias="verify_ssl"
48
- )
46
+ _verify_ssl: Union[str, bool, ssl.SSLContext] = field(default=True, kw_only=True, alias="verify_ssl")
49
47
  _follow_redirects: bool = field(default=False, kw_only=True, alias="follow_redirects")
50
48
  _httpx_args: dict[str, Any] = field(factory=dict, kw_only=True, alias="httpx_args")
51
49
  _client: httpx.Client | None = field(default=None, init=False)
@@ -32,6 +32,7 @@ class Agent:
32
32
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
33
33
 
34
34
  def to_dict(self) -> dict[str, Any]:
35
+
35
36
  events: Union[Unset, list[dict[str, Any]]] = UNSET
36
37
  if not isinstance(self.events, Unset):
37
38
  events = []
@@ -39,17 +40,11 @@ class Agent:
39
40
  if type(componentsschemas_core_events_item_data) is dict:
40
41
  componentsschemas_core_events_item = componentsschemas_core_events_item_data
41
42
  else:
42
- componentsschemas_core_events_item = (
43
- componentsschemas_core_events_item_data.to_dict()
44
- )
43
+ componentsschemas_core_events_item = componentsschemas_core_events_item_data.to_dict()
45
44
  events.append(componentsschemas_core_events_item)
46
45
 
47
46
  metadata: Union[Unset, dict[str, Any]] = UNSET
48
- if (
49
- self.metadata
50
- and not isinstance(self.metadata, Unset)
51
- and not isinstance(self.metadata, dict)
52
- ):
47
+ if self.metadata and not isinstance(self.metadata, Unset) and not isinstance(self.metadata, dict):
53
48
  metadata = self.metadata.to_dict()
54
49
  elif self.metadata and isinstance(self.metadata, dict):
55
50
  metadata = self.metadata
@@ -88,9 +83,7 @@ class Agent:
88
83
  events = []
89
84
  _events = d.pop("events", UNSET)
90
85
  for componentsschemas_core_events_item_data in _events or []:
91
- componentsschemas_core_events_item = CoreEvent.from_dict(
92
- componentsschemas_core_events_item_data
93
- )
86
+ componentsschemas_core_events_item = CoreEvent.from_dict(componentsschemas_core_events_item_data)
94
87
 
95
88
  events.append(componentsschemas_core_events_item)
96
89