blaxel 0.2.34__py3-none-any.whl → 0.2.35__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 (276) hide show
  1. blaxel/__init__.py +2 -2
  2. blaxel/core/client/api/agents/create_agent.py +64 -19
  3. blaxel/core/client/api/agents/delete_agent.py +44 -15
  4. blaxel/core/client/api/agents/get_agent.py +43 -14
  5. blaxel/core/client/api/agents/list_agents.py +40 -11
  6. blaxel/core/client/api/agents/update_agent.py +60 -19
  7. blaxel/core/client/api/compute/create_sandbox.py +60 -23
  8. blaxel/core/client/api/compute/delete_sandbox.py +40 -19
  9. blaxel/core/client/api/compute/get_sandbox.py +39 -18
  10. blaxel/core/client/api/compute/list_sandboxes.py +40 -19
  11. blaxel/core/client/api/compute/update_sandbox.py +56 -23
  12. blaxel/core/client/api/configurations/get_configuration.py +16 -4
  13. blaxel/core/client/api/customdomains/create_custom_domain.py +12 -0
  14. blaxel/core/client/api/customdomains/list_custom_domains.py +16 -4
  15. blaxel/core/client/api/default/get_template.py +8 -4
  16. blaxel/core/client/api/functions/create_function.py +62 -19
  17. blaxel/core/client/api/functions/delete_function.py +46 -15
  18. blaxel/core/client/api/functions/get_function.py +45 -14
  19. blaxel/core/client/api/functions/list_functions.py +44 -15
  20. blaxel/core/client/api/functions/update_function.py +62 -19
  21. blaxel/core/client/api/images/cleanup_images.py +12 -12
  22. blaxel/core/client/api/images/delete_image.py +12 -8
  23. blaxel/core/client/api/images/delete_image_tag.py +12 -8
  24. blaxel/core/client/api/images/get_image.py +12 -8
  25. blaxel/core/client/api/images/list_images.py +12 -8
  26. blaxel/core/client/api/integrations/create_integration_connection.py +56 -23
  27. blaxel/core/client/api/integrations/delete_integration_connection.py +48 -19
  28. blaxel/core/client/api/integrations/get_integration.py +12 -8
  29. blaxel/core/client/api/integrations/get_integration_connection.py +44 -19
  30. blaxel/core/client/api/integrations/get_integration_connection_model.py +2 -2
  31. blaxel/core/client/api/integrations/list_integration_connections.py +36 -19
  32. blaxel/core/client/api/integrations/update_integration_connection.py +52 -19
  33. blaxel/core/client/api/jobs/create_job.py +20 -12
  34. blaxel/core/client/api/jobs/create_job_execution.py +22 -16
  35. blaxel/core/client/api/jobs/delete_job.py +12 -8
  36. blaxel/core/client/api/jobs/delete_job_execution.py +12 -8
  37. blaxel/core/client/api/jobs/get_job.py +24 -20
  38. blaxel/core/client/api/jobs/get_job_execution.py +8 -4
  39. blaxel/core/client/api/jobs/list_job_executions.py +8 -4
  40. blaxel/core/client/api/jobs/list_jobs.py +12 -8
  41. blaxel/core/client/api/jobs/update_job.py +20 -12
  42. blaxel/core/client/api/locations/list_locations.py +12 -8
  43. blaxel/core/client/api/{default → mcphub}/list_mcp_hub_definitions.py +20 -4
  44. blaxel/core/client/api/models/create_model.py +52 -23
  45. blaxel/core/client/api/models/delete_model.py +40 -19
  46. blaxel/core/client/api/models/get_model.py +40 -19
  47. blaxel/core/client/api/models/list_models.py +40 -19
  48. blaxel/core/client/api/models/update_model.py +52 -23
  49. blaxel/core/client/api/policies/create_policy.py +12 -8
  50. blaxel/core/client/api/policies/delete_policy.py +12 -8
  51. blaxel/core/client/api/policies/get_policy.py +12 -8
  52. blaxel/core/client/api/policies/list_policies.py +12 -8
  53. blaxel/core/client/api/policies/update_policy.py +12 -8
  54. blaxel/core/client/api/public_ipslist/list_public_ips.py +37 -5
  55. blaxel/core/client/api/sandboxhub/__init__.py +0 -0
  56. blaxel/core/client/api/{default → sandboxhub}/list_sandbox_hub_definitions.py +20 -4
  57. blaxel/core/client/api/service_accounts/create_api_key_for_service_account.py +12 -8
  58. blaxel/core/client/api/service_accounts/create_workspace_service_account.py +12 -8
  59. blaxel/core/client/api/service_accounts/delete_api_key_for_service_account.py +6 -4
  60. blaxel/core/client/api/service_accounts/delete_workspace_service_account.py +12 -8
  61. blaxel/core/client/api/service_accounts/get_workspace_service_accounts.py +12 -8
  62. blaxel/core/client/api/service_accounts/list_api_keys_for_service_account.py +12 -8
  63. blaxel/core/client/api/service_accounts/update_workspace_service_account.py +8 -8
  64. blaxel/core/client/api/templates/list_templates.py +12 -8
  65. blaxel/core/client/api/volume_templates/create_volume_template.py +8 -4
  66. blaxel/core/client/api/volume_templates/list_volume_templates.py +8 -4
  67. blaxel/core/client/api/volumes/create_volume.py +56 -23
  68. blaxel/core/client/api/volumes/delete_volume.py +44 -19
  69. blaxel/core/client/api/volumes/get_volume.py +40 -19
  70. blaxel/core/client/api/volumes/list_volumes.py +40 -19
  71. blaxel/core/client/api/workspaces/create_workspace.py +54 -23
  72. blaxel/core/client/api/workspaces/delete_workspace.py +42 -19
  73. blaxel/core/client/api/workspaces/get_workspace.py +42 -19
  74. blaxel/core/client/api/workspaces/invite_workspace_user.py +8 -4
  75. blaxel/core/client/api/workspaces/list_workspace_users.py +12 -8
  76. blaxel/core/client/api/workspaces/list_workspaces.py +36 -19
  77. blaxel/core/client/api/workspaces/update_workspace.py +50 -19
  78. blaxel/core/client/models/__init__.py +76 -146
  79. blaxel/core/client/models/agent.py +43 -47
  80. blaxel/core/client/models/agent_runtime.py +139 -0
  81. blaxel/core/client/models/agent_runtime_generation.py +18 -0
  82. blaxel/core/client/models/agent_spec.py +33 -110
  83. blaxel/core/client/models/api_key.py +5 -4
  84. blaxel/core/client/models/core_event.py +5 -5
  85. blaxel/core/client/models/create_api_key_for_service_account_body.py +2 -1
  86. blaxel/core/client/models/create_job_execution_request.py +1 -1
  87. blaxel/core/client/models/create_job_execution_response.py +13 -9
  88. blaxel/core/client/models/custom_domain.py +19 -36
  89. blaxel/core/client/models/custom_domain_metadata.py +4 -3
  90. blaxel/core/client/models/custom_domain_spec.py +14 -5
  91. blaxel/core/client/models/custom_domain_spec_status.py +19 -0
  92. blaxel/core/client/models/entrypoint.py +39 -13
  93. blaxel/core/client/models/{workspace_labels.py → entrypoint_args_item.py} +6 -6
  94. blaxel/core/client/models/entrypoint_env.py +3 -3
  95. blaxel/core/client/models/{job_metrics_executions_total.py → entrypoint_super_gateway_args_item.py} +6 -6
  96. blaxel/core/client/models/{spec_configuration.py → env.py} +17 -8
  97. blaxel/core/{sandbox/client/models/welcome_response.py → client/models/error.py} +26 -23
  98. blaxel/core/client/models/expiration_policy.py +30 -11
  99. blaxel/core/client/models/expiration_policy_action.py +17 -0
  100. blaxel/core/client/models/expiration_policy_type.py +19 -0
  101. blaxel/core/client/models/flavor.py +13 -5
  102. blaxel/core/client/models/flavor_type.py +18 -0
  103. blaxel/core/client/models/form.py +6 -6
  104. blaxel/core/client/models/function.py +43 -47
  105. blaxel/core/client/models/function_runtime.py +138 -0
  106. blaxel/core/client/models/function_runtime_generation.py +18 -0
  107. blaxel/core/client/models/function_spec.py +27 -73
  108. blaxel/core/client/models/function_spec_transport.py +18 -0
  109. blaxel/core/client/models/image.py +19 -36
  110. blaxel/core/client/models/integration_connection.py +25 -39
  111. blaxel/core/client/models/integration_connection_spec.py +8 -5
  112. blaxel/core/client/models/integration_connection_spec_config.py +1 -1
  113. blaxel/core/client/models/integration_connection_spec_secret.py +1 -1
  114. blaxel/core/client/models/integration_endpoint.py +41 -11
  115. blaxel/core/client/models/integration_endpoint_ignore_models_item.py +45 -0
  116. blaxel/core/client/models/{mcp_definition_entrypoint.py → integration_endpoint_models_item.py} +6 -6
  117. blaxel/core/client/models/job.py +43 -47
  118. blaxel/core/client/models/job_execution.py +30 -37
  119. blaxel/core/client/models/job_execution_metadata.py +3 -3
  120. blaxel/core/client/models/job_execution_spec.py +2 -2
  121. blaxel/core/client/models/job_execution_stats.py +5 -5
  122. blaxel/core/client/models/job_execution_status.py +24 -0
  123. blaxel/core/client/models/job_execution_task.py +12 -4
  124. blaxel/core/client/models/job_execution_task_metadata.py +1 -1
  125. blaxel/core/client/models/job_execution_task_spec.py +2 -2
  126. blaxel/core/client/models/job_execution_task_status.py +23 -0
  127. blaxel/core/client/models/job_runtime.py +172 -0
  128. blaxel/core/client/models/job_runtime_generation.py +18 -0
  129. blaxel/core/client/models/job_spec.py +20 -88
  130. blaxel/core/client/models/location_response.py +5 -5
  131. blaxel/core/client/models/mcp_definition.py +30 -17
  132. blaxel/core/client/models/{job_metrics_tasks_total.py → mcp_definition_categories_item.py} +6 -6
  133. blaxel/core/client/models/metadata.py +23 -17
  134. blaxel/core/client/models/metadata_labels.py +4 -1
  135. blaxel/core/client/models/model.py +43 -47
  136. blaxel/core/client/models/model_runtime.py +99 -0
  137. blaxel/core/client/models/model_runtime_type.py +34 -0
  138. blaxel/core/client/models/model_spec.py +12 -58
  139. blaxel/core/client/models/o_auth.py +23 -6
  140. blaxel/core/client/models/{form_oauth.py → o_auth_scope_item.py} +6 -6
  141. blaxel/core/client/models/pending_invitation_accept.py +2 -1
  142. blaxel/core/client/models/pending_invitation_workspace_details.py +27 -6
  143. blaxel/core/client/models/{metrics_request_total_per_code.py → pending_invitation_workspace_details_emails_item.py} +6 -6
  144. blaxel/core/client/models/policy.py +20 -36
  145. blaxel/core/client/models/policy_location.py +13 -5
  146. blaxel/core/client/models/policy_location_type.py +19 -0
  147. blaxel/core/client/models/policy_max_tokens.py +6 -6
  148. blaxel/core/client/models/policy_resource_type.py +20 -0
  149. blaxel/core/client/models/policy_spec.py +31 -10
  150. blaxel/core/client/models/policy_spec_type.py +19 -0
  151. blaxel/core/client/models/port.py +25 -15
  152. blaxel/core/client/models/port_protocol.py +19 -0
  153. blaxel/core/client/models/preview.py +19 -36
  154. blaxel/core/client/models/preview_metadata.py +12 -10
  155. blaxel/core/client/models/preview_token.py +19 -36
  156. blaxel/core/client/models/preview_token_metadata.py +8 -6
  157. blaxel/core/client/models/repository.py +2 -2
  158. blaxel/core/client/models/revision_configuration.py +3 -3
  159. blaxel/core/client/models/sandbox.py +45 -58
  160. blaxel/core/client/models/sandbox_definition.py +37 -22
  161. blaxel/core/client/models/sandbox_definition_categories_item.py +45 -0
  162. blaxel/core/client/models/sandbox_error.py +148 -0
  163. blaxel/core/client/models/sandbox_error_details.py +45 -0
  164. blaxel/core/client/models/sandbox_lifecycle.py +3 -2
  165. blaxel/core/client/models/sandbox_runtime.py +145 -0
  166. blaxel/core/client/models/sandbox_spec.py +33 -134
  167. blaxel/core/client/models/status.py +25 -0
  168. blaxel/core/client/models/template.py +8 -7
  169. blaxel/core/client/models/template_variable.py +5 -5
  170. blaxel/core/client/models/trigger.py +14 -6
  171. blaxel/core/client/models/trigger_configuration.py +7 -6
  172. blaxel/core/client/models/trigger_type.py +19 -0
  173. blaxel/core/client/models/volume.py +35 -47
  174. blaxel/core/client/models/volume_attachment.py +6 -4
  175. blaxel/core/client/models/volume_spec.py +7 -4
  176. blaxel/core/client/models/volume_state.py +3 -3
  177. blaxel/core/client/models/volume_template.py +19 -33
  178. blaxel/core/client/models/volume_template_state.py +12 -4
  179. blaxel/core/client/models/volume_template_state_status.py +19 -0
  180. blaxel/core/client/models/volume_template_version.py +12 -4
  181. blaxel/core/client/models/volume_template_version_status.py +19 -0
  182. blaxel/core/client/models/workspace.py +35 -25
  183. blaxel/core/client/models/workspace_runtime.py +3 -2
  184. blaxel/core/client/models/workspace_status.py +22 -0
  185. blaxel/core/common/__init__.py +1 -1
  186. blaxel/core/jobs/__init__.py +0 -1
  187. blaxel/core/sandbox/__init__.py +2 -0
  188. blaxel/core/sandbox/client/api/process/post_process.py +8 -4
  189. blaxel/core/sandbox/client/models/__init__.py +0 -2
  190. blaxel/core/sandbox/client/models/process_response.py +16 -0
  191. blaxel/core/sandbox/client/models/process_response_status.py +9 -0
  192. blaxel/core/sandbox/default/__init__.py +2 -0
  193. blaxel/core/sandbox/default/interpreter.py +5 -1
  194. blaxel/core/sandbox/default/preview.py +3 -1
  195. blaxel/core/sandbox/default/sandbox.py +51 -16
  196. blaxel/core/sandbox/sync/process.py +2 -1
  197. blaxel/core/sandbox/sync/sandbox.py +34 -13
  198. blaxel/core/tools/common.py +16 -2
  199. blaxel/core/volume/__init__.py +2 -2
  200. blaxel/core/volume/volume.py +32 -10
  201. blaxel/langgraph/tools.py +34 -2
  202. blaxel/openai/tools.py +33 -1
  203. {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/METADATA +3 -3
  204. {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/RECORD +207 -246
  205. blaxel/core/client/models/acl.py +0 -133
  206. blaxel/core/client/models/billable_time_metric.py +0 -89
  207. blaxel/core/client/models/core_spec.py +0 -194
  208. blaxel/core/client/models/core_spec_configurations.py +0 -77
  209. blaxel/core/client/models/histogram_bucket.py +0 -79
  210. blaxel/core/client/models/histogram_stats.py +0 -88
  211. blaxel/core/client/models/integration_model.py +0 -162
  212. blaxel/core/client/models/job_execution_config.py +0 -79
  213. blaxel/core/client/models/job_metrics.py +0 -262
  214. blaxel/core/client/models/jobs_chart_value.py +0 -70
  215. blaxel/core/client/models/jobs_network_chart.py +0 -102
  216. blaxel/core/client/models/jobs_success_failed_chart.py +0 -147
  217. blaxel/core/client/models/jobs_total.py +0 -88
  218. blaxel/core/client/models/last_n_requests_metric.py +0 -97
  219. blaxel/core/client/models/latency_metric.py +0 -148
  220. blaxel/core/client/models/logs_response.py +0 -63
  221. blaxel/core/client/models/logs_response_data.py +0 -99
  222. blaxel/core/client/models/mcp_definition_form.py +0 -45
  223. blaxel/core/client/models/memory_allocation_by_name.py +0 -70
  224. blaxel/core/client/models/memory_allocation_metric.py +0 -61
  225. blaxel/core/client/models/metric.py +0 -79
  226. blaxel/core/client/models/metrics.py +0 -273
  227. blaxel/core/client/models/metrics_models.py +0 -45
  228. blaxel/core/client/models/metrics_rps_per_code.py +0 -45
  229. blaxel/core/client/models/pod_template_spec.py +0 -45
  230. blaxel/core/client/models/request_duration_over_time_metric.py +0 -97
  231. blaxel/core/client/models/request_duration_over_time_metrics.py +0 -84
  232. blaxel/core/client/models/request_total_by_origin_metric.py +0 -129
  233. blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin.py +0 -45
  234. blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -45
  235. blaxel/core/client/models/request_total_metric.py +0 -155
  236. blaxel/core/client/models/request_total_metric_request_total_per_code.py +0 -45
  237. blaxel/core/client/models/request_total_metric_rps_per_code.py +0 -45
  238. blaxel/core/client/models/request_total_response_data.py +0 -97
  239. blaxel/core/client/models/resource.py +0 -99
  240. blaxel/core/client/models/resource_log.py +0 -88
  241. blaxel/core/client/models/resource_log_chart.py +0 -133
  242. blaxel/core/client/models/resource_log_response.py +0 -83
  243. blaxel/core/client/models/resource_metrics.py +0 -618
  244. blaxel/core/client/models/resource_metrics_request_total_per_code.py +0 -45
  245. blaxel/core/client/models/resource_metrics_request_total_per_code_previous.py +0 -45
  246. blaxel/core/client/models/resource_metrics_rps_per_code.py +0 -45
  247. blaxel/core/client/models/resource_metrics_rps_per_code_previous.py +0 -45
  248. blaxel/core/client/models/resource_trace.py +0 -97
  249. blaxel/core/client/models/runtime.py +0 -317
  250. blaxel/core/client/models/runtime_configuration.py +0 -45
  251. blaxel/core/client/models/runtime_startup_probe.py +0 -45
  252. blaxel/core/client/models/sandbox_metrics.py +0 -88
  253. blaxel/core/client/models/serverless_config.py +0 -117
  254. blaxel/core/client/models/serverless_config_configuration.py +0 -45
  255. blaxel/core/client/models/start_sandbox.py +0 -98
  256. blaxel/core/client/models/stop_sandbox.py +0 -98
  257. blaxel/core/client/models/store_agent.py +0 -181
  258. blaxel/core/client/models/store_agent_labels.py +0 -45
  259. blaxel/core/client/models/store_configuration.py +0 -156
  260. blaxel/core/client/models/store_configuration_option.py +0 -79
  261. blaxel/core/client/models/time_to_first_token_over_time_metrics.py +0 -87
  262. blaxel/core/client/models/token_rate_metric.py +0 -106
  263. blaxel/core/client/models/token_rate_metrics.py +0 -124
  264. blaxel/core/client/models/token_total_metric.py +0 -112
  265. blaxel/core/client/models/trace_ids_response.py +0 -45
  266. blaxel/core/client/models/websocket_channel.py +0 -97
  267. blaxel/core/client/models/websocket_message.py +0 -106
  268. blaxel/core/sandbox/client/api/root/delete.py +0 -130
  269. blaxel/core/sandbox/client/api/root/get.py +0 -130
  270. blaxel/core/sandbox/client/api/root/options.py +0 -130
  271. blaxel/core/sandbox/client/api/root/patch.py +0 -130
  272. blaxel/core/sandbox/client/api/root/post.py +0 -130
  273. blaxel/core/sandbox/client/api/root/put.py +0 -130
  274. /blaxel/core/{sandbox/client/api/root → client/api/mcphub}/__init__.py +0 -0
  275. {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/WHEEL +0 -0
  276. {blaxel-0.2.34.dist-info → blaxel-0.2.35.dist-info}/licenses/LICENSE +0 -0
blaxel/__init__.py CHANGED
@@ -4,8 +4,8 @@ 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.34"
8
- __commit__ = "84fc1c14e48dec727c7de1966c51022e09f7c80f"
7
+ __version__ = "0.2.35"
8
+ __commit__ = "4cbf852e4b6e8e7ec6b054ac2a79d2959a4e2fe6"
9
9
  __sentry_dsn__ = "https://9711de13cd02b285ca4378c01de8dc30@o4508714045276160.ingest.us.sentry.io/4510461121462272"
10
10
  __all__ = ["autoload", "settings", "env"]
11
11
 
@@ -1,11 +1,12 @@
1
1
  from http import HTTPStatus
2
- from typing import Any
2
+ from typing import Any, Union
3
3
 
4
4
  import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import Client
8
8
  from ...models.agent import Agent
9
+ from ...models.error import Error
9
10
  from ...types import Response
10
11
 
11
12
 
@@ -32,18 +33,38 @@ def _get_kwargs(
32
33
  return _kwargs
33
34
 
34
35
 
35
- def _parse_response(*, client: Client, response: httpx.Response) -> Agent | None:
36
+ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Agent, Error] | None:
36
37
  if response.status_code == 200:
37
38
  response_200 = Agent.from_dict(response.json())
38
39
 
39
40
  return response_200
41
+ if response.status_code == 400:
42
+ response_400 = Error.from_dict(response.json())
43
+
44
+ return response_400
45
+ if response.status_code == 401:
46
+ response_401 = Error.from_dict(response.json())
47
+
48
+ return response_401
49
+ if response.status_code == 403:
50
+ response_403 = Error.from_dict(response.json())
51
+
52
+ return response_403
53
+ if response.status_code == 409:
54
+ response_409 = Error.from_dict(response.json())
55
+
56
+ return response_409
57
+ if response.status_code == 500:
58
+ response_500 = Error.from_dict(response.json())
59
+
60
+ return response_500
40
61
  if client.raise_on_unexpected_status:
41
62
  raise errors.UnexpectedStatus(response.status_code, response.content)
42
63
  else:
43
64
  return None
44
65
 
45
66
 
46
- def _build_response(*, client: Client, response: httpx.Response) -> Response[Agent]:
67
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Agent, Error]]:
47
68
  return Response(
48
69
  status_code=HTTPStatus(response.status_code),
49
70
  content=response.content,
@@ -56,18 +77,24 @@ def sync_detailed(
56
77
  *,
57
78
  client: Client,
58
79
  body: Agent,
59
- ) -> Response[Agent]:
60
- """Create agent by name
80
+ ) -> Response[Union[Agent, Error]]:
81
+ """Create agent
82
+
83
+ Creates a new AI agent deployment from your code. The agent will be built and deployed as a
84
+ serverless auto-scaling endpoint. Use the Blaxel CLI 'bl deploy' for a simpler deployment
85
+ experience.
61
86
 
62
87
  Args:
63
- body (Agent): Agent
88
+ body (Agent): Serverless AI agent deployment that runs your custom agent code as an auto-
89
+ scaling API endpoint. Agents are deployed from your code repository and expose a global
90
+ inference URL for querying.
64
91
 
65
92
  Raises:
66
93
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
67
94
  httpx.TimeoutException: If the request takes longer than Client.timeout.
68
95
 
69
96
  Returns:
70
- Response[Agent]
97
+ Response[Union[Agent, Error]]
71
98
  """
72
99
 
73
100
  kwargs = _get_kwargs(
@@ -85,18 +112,24 @@ def sync(
85
112
  *,
86
113
  client: Client,
87
114
  body: Agent,
88
- ) -> Agent | None:
89
- """Create agent by name
115
+ ) -> Union[Agent, Error] | None:
116
+ """Create agent
117
+
118
+ Creates a new AI agent deployment from your code. The agent will be built and deployed as a
119
+ serverless auto-scaling endpoint. Use the Blaxel CLI 'bl deploy' for a simpler deployment
120
+ experience.
90
121
 
91
122
  Args:
92
- body (Agent): Agent
123
+ body (Agent): Serverless AI agent deployment that runs your custom agent code as an auto-
124
+ scaling API endpoint. Agents are deployed from your code repository and expose a global
125
+ inference URL for querying.
93
126
 
94
127
  Raises:
95
128
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
96
129
  httpx.TimeoutException: If the request takes longer than Client.timeout.
97
130
 
98
131
  Returns:
99
- Agent
132
+ Union[Agent, Error]
100
133
  """
101
134
 
102
135
  return sync_detailed(
@@ -109,18 +142,24 @@ async def asyncio_detailed(
109
142
  *,
110
143
  client: Client,
111
144
  body: Agent,
112
- ) -> Response[Agent]:
113
- """Create agent by name
145
+ ) -> Response[Union[Agent, Error]]:
146
+ """Create agent
147
+
148
+ Creates a new AI agent deployment from your code. The agent will be built and deployed as a
149
+ serverless auto-scaling endpoint. Use the Blaxel CLI 'bl deploy' for a simpler deployment
150
+ experience.
114
151
 
115
152
  Args:
116
- body (Agent): Agent
153
+ body (Agent): Serverless AI agent deployment that runs your custom agent code as an auto-
154
+ scaling API endpoint. Agents are deployed from your code repository and expose a global
155
+ inference URL for querying.
117
156
 
118
157
  Raises:
119
158
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
120
159
  httpx.TimeoutException: If the request takes longer than Client.timeout.
121
160
 
122
161
  Returns:
123
- Response[Agent]
162
+ Response[Union[Agent, Error]]
124
163
  """
125
164
 
126
165
  kwargs = _get_kwargs(
@@ -136,18 +175,24 @@ async def asyncio(
136
175
  *,
137
176
  client: Client,
138
177
  body: Agent,
139
- ) -> Agent | None:
140
- """Create agent by name
178
+ ) -> Union[Agent, Error] | None:
179
+ """Create agent
180
+
181
+ Creates a new AI agent deployment from your code. The agent will be built and deployed as a
182
+ serverless auto-scaling endpoint. Use the Blaxel CLI 'bl deploy' for a simpler deployment
183
+ experience.
141
184
 
142
185
  Args:
143
- body (Agent): Agent
186
+ body (Agent): Serverless AI agent deployment that runs your custom agent code as an auto-
187
+ scaling API endpoint. Agents are deployed from your code repository and expose a global
188
+ inference URL for querying.
144
189
 
145
190
  Raises:
146
191
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
147
192
  httpx.TimeoutException: If the request takes longer than Client.timeout.
148
193
 
149
194
  Returns:
150
- Agent
195
+ Union[Agent, Error]
151
196
  """
152
197
 
153
198
  return (
@@ -1,11 +1,12 @@
1
1
  from http import HTTPStatus
2
- from typing import Any
2
+ from typing import Any, Union
3
3
 
4
4
  import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import Client
8
8
  from ...models.agent import Agent
9
+ from ...models.error import Error
9
10
  from ...types import Response
10
11
 
11
12
 
@@ -20,18 +21,34 @@ def _get_kwargs(
20
21
  return _kwargs
21
22
 
22
23
 
23
- def _parse_response(*, client: Client, response: httpx.Response) -> Agent | None:
24
+ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Agent, Error] | None:
24
25
  if response.status_code == 200:
25
26
  response_200 = Agent.from_dict(response.json())
26
27
 
27
28
  return response_200
29
+ if response.status_code == 401:
30
+ response_401 = Error.from_dict(response.json())
31
+
32
+ return response_401
33
+ if response.status_code == 403:
34
+ response_403 = Error.from_dict(response.json())
35
+
36
+ return response_403
37
+ if response.status_code == 404:
38
+ response_404 = Error.from_dict(response.json())
39
+
40
+ return response_404
41
+ if response.status_code == 500:
42
+ response_500 = Error.from_dict(response.json())
43
+
44
+ return response_500
28
45
  if client.raise_on_unexpected_status:
29
46
  raise errors.UnexpectedStatus(response.status_code, response.content)
30
47
  else:
31
48
  return None
32
49
 
33
50
 
34
- def _build_response(*, client: Client, response: httpx.Response) -> Response[Agent]:
51
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Agent, Error]]:
35
52
  return Response(
36
53
  status_code=HTTPStatus(response.status_code),
37
54
  content=response.content,
@@ -44,8 +61,11 @@ def sync_detailed(
44
61
  agent_name: str,
45
62
  *,
46
63
  client: Client,
47
- ) -> Response[Agent]:
48
- """Delete agent by name
64
+ ) -> Response[Union[Agent, Error]]:
65
+ """Delete agent
66
+
67
+ Permanently deletes an agent and all its deployment history. The agent's inference endpoint will
68
+ immediately stop responding. This action cannot be undone.
49
69
 
50
70
  Args:
51
71
  agent_name (str):
@@ -55,7 +75,7 @@ def sync_detailed(
55
75
  httpx.TimeoutException: If the request takes longer than Client.timeout.
56
76
 
57
77
  Returns:
58
- Response[Agent]
78
+ Response[Union[Agent, Error]]
59
79
  """
60
80
 
61
81
  kwargs = _get_kwargs(
@@ -73,8 +93,11 @@ def sync(
73
93
  agent_name: str,
74
94
  *,
75
95
  client: Client,
76
- ) -> Agent | None:
77
- """Delete agent by name
96
+ ) -> Union[Agent, Error] | None:
97
+ """Delete agent
98
+
99
+ Permanently deletes an agent and all its deployment history. The agent's inference endpoint will
100
+ immediately stop responding. This action cannot be undone.
78
101
 
79
102
  Args:
80
103
  agent_name (str):
@@ -84,7 +107,7 @@ def sync(
84
107
  httpx.TimeoutException: If the request takes longer than Client.timeout.
85
108
 
86
109
  Returns:
87
- Agent
110
+ Union[Agent, Error]
88
111
  """
89
112
 
90
113
  return sync_detailed(
@@ -97,8 +120,11 @@ async def asyncio_detailed(
97
120
  agent_name: str,
98
121
  *,
99
122
  client: Client,
100
- ) -> Response[Agent]:
101
- """Delete agent by name
123
+ ) -> Response[Union[Agent, Error]]:
124
+ """Delete agent
125
+
126
+ Permanently deletes an agent and all its deployment history. The agent's inference endpoint will
127
+ immediately stop responding. This action cannot be undone.
102
128
 
103
129
  Args:
104
130
  agent_name (str):
@@ -108,7 +134,7 @@ async def asyncio_detailed(
108
134
  httpx.TimeoutException: If the request takes longer than Client.timeout.
109
135
 
110
136
  Returns:
111
- Response[Agent]
137
+ Response[Union[Agent, Error]]
112
138
  """
113
139
 
114
140
  kwargs = _get_kwargs(
@@ -124,8 +150,11 @@ async def asyncio(
124
150
  agent_name: str,
125
151
  *,
126
152
  client: Client,
127
- ) -> Agent | None:
128
- """Delete agent by name
153
+ ) -> Union[Agent, Error] | None:
154
+ """Delete agent
155
+
156
+ Permanently deletes an agent and all its deployment history. The agent's inference endpoint will
157
+ immediately stop responding. This action cannot be undone.
129
158
 
130
159
  Args:
131
160
  agent_name (str):
@@ -135,7 +164,7 @@ async def asyncio(
135
164
  httpx.TimeoutException: If the request takes longer than Client.timeout.
136
165
 
137
166
  Returns:
138
- Agent
167
+ Union[Agent, Error]
139
168
  """
140
169
 
141
170
  return (
@@ -6,6 +6,7 @@ import httpx
6
6
  from ... import errors
7
7
  from ...client import Client
8
8
  from ...models.agent import Agent
9
+ from ...models.error import Error
9
10
  from ...types import UNSET, Response, Unset
10
11
 
11
12
 
@@ -29,18 +30,34 @@ def _get_kwargs(
29
30
  return _kwargs
30
31
 
31
32
 
32
- def _parse_response(*, client: Client, response: httpx.Response) -> Agent | None:
33
+ def _parse_response(*, client: Client, response: httpx.Response) -> Union[Agent, Error] | None:
33
34
  if response.status_code == 200:
34
35
  response_200 = Agent.from_dict(response.json())
35
36
 
36
37
  return response_200
38
+ if response.status_code == 401:
39
+ response_401 = Error.from_dict(response.json())
40
+
41
+ return response_401
42
+ if response.status_code == 403:
43
+ response_403 = Error.from_dict(response.json())
44
+
45
+ return response_403
46
+ if response.status_code == 404:
47
+ response_404 = Error.from_dict(response.json())
48
+
49
+ return response_404
50
+ if response.status_code == 500:
51
+ response_500 = Error.from_dict(response.json())
52
+
53
+ return response_500
37
54
  if client.raise_on_unexpected_status:
38
55
  raise errors.UnexpectedStatus(response.status_code, response.content)
39
56
  else:
40
57
  return None
41
58
 
42
59
 
43
- def _build_response(*, client: Client, response: httpx.Response) -> Response[Agent]:
60
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Agent, Error]]:
44
61
  return Response(
45
62
  status_code=HTTPStatus(response.status_code),
46
63
  content=response.content,
@@ -54,8 +71,11 @@ def sync_detailed(
54
71
  *,
55
72
  client: Client,
56
73
  show_secrets: Union[Unset, bool] = UNSET,
57
- ) -> Response[Agent]:
58
- """Get agent by name
74
+ ) -> Response[Union[Agent, Error]]:
75
+ """Get agent
76
+
77
+ Returns detailed information about an agent including its current deployment status, configuration,
78
+ events history, and inference endpoint URL.
59
79
 
60
80
  Args:
61
81
  agent_name (str):
@@ -66,7 +86,7 @@ def sync_detailed(
66
86
  httpx.TimeoutException: If the request takes longer than Client.timeout.
67
87
 
68
88
  Returns:
69
- Response[Agent]
89
+ Response[Union[Agent, Error]]
70
90
  """
71
91
 
72
92
  kwargs = _get_kwargs(
@@ -86,8 +106,11 @@ def sync(
86
106
  *,
87
107
  client: Client,
88
108
  show_secrets: Union[Unset, bool] = UNSET,
89
- ) -> Agent | None:
90
- """Get agent by name
109
+ ) -> Union[Agent, Error] | None:
110
+ """Get agent
111
+
112
+ Returns detailed information about an agent including its current deployment status, configuration,
113
+ events history, and inference endpoint URL.
91
114
 
92
115
  Args:
93
116
  agent_name (str):
@@ -98,7 +121,7 @@ def sync(
98
121
  httpx.TimeoutException: If the request takes longer than Client.timeout.
99
122
 
100
123
  Returns:
101
- Agent
124
+ Union[Agent, Error]
102
125
  """
103
126
 
104
127
  return sync_detailed(
@@ -113,8 +136,11 @@ async def asyncio_detailed(
113
136
  *,
114
137
  client: Client,
115
138
  show_secrets: Union[Unset, bool] = UNSET,
116
- ) -> Response[Agent]:
117
- """Get agent by name
139
+ ) -> Response[Union[Agent, Error]]:
140
+ """Get agent
141
+
142
+ Returns detailed information about an agent including its current deployment status, configuration,
143
+ events history, and inference endpoint URL.
118
144
 
119
145
  Args:
120
146
  agent_name (str):
@@ -125,7 +151,7 @@ async def asyncio_detailed(
125
151
  httpx.TimeoutException: If the request takes longer than Client.timeout.
126
152
 
127
153
  Returns:
128
- Response[Agent]
154
+ Response[Union[Agent, Error]]
129
155
  """
130
156
 
131
157
  kwargs = _get_kwargs(
@@ -143,8 +169,11 @@ async def asyncio(
143
169
  *,
144
170
  client: Client,
145
171
  show_secrets: Union[Unset, bool] = UNSET,
146
- ) -> Agent | None:
147
- """Get agent by name
172
+ ) -> Union[Agent, Error] | None:
173
+ """Get agent
174
+
175
+ Returns detailed information about an agent including its current deployment status, configuration,
176
+ events history, and inference endpoint URL.
148
177
 
149
178
  Args:
150
179
  agent_name (str):
@@ -155,7 +184,7 @@ async def asyncio(
155
184
  httpx.TimeoutException: If the request takes longer than Client.timeout.
156
185
 
157
186
  Returns:
158
- Agent
187
+ Union[Agent, Error]
159
188
  """
160
189
 
161
190
  return (
@@ -1,11 +1,12 @@
1
1
  from http import HTTPStatus
2
- from typing import Any
2
+ from typing import Any, Union
3
3
 
4
4
  import httpx
5
5
 
6
6
  from ... import errors
7
7
  from ...client import Client
8
8
  from ...models.agent import Agent
9
+ from ...models.error import Error
9
10
  from ...types import Response
10
11
 
11
12
 
@@ -18,7 +19,9 @@ def _get_kwargs() -> dict[str, Any]:
18
19
  return _kwargs
19
20
 
20
21
 
21
- def _parse_response(*, client: Client, response: httpx.Response) -> list["Agent"] | None:
22
+ def _parse_response(
23
+ *, client: Client, response: httpx.Response
24
+ ) -> Union[Error, list["Agent"]] | None:
22
25
  if response.status_code == 200:
23
26
  response_200 = []
24
27
  _response_200 = response.json()
@@ -28,13 +31,27 @@ def _parse_response(*, client: Client, response: httpx.Response) -> list["Agent"
28
31
  response_200.append(response_200_item)
29
32
 
30
33
  return response_200
34
+ if response.status_code == 401:
35
+ response_401 = Error.from_dict(response.json())
36
+
37
+ return response_401
38
+ if response.status_code == 403:
39
+ response_403 = Error.from_dict(response.json())
40
+
41
+ return response_403
42
+ if response.status_code == 500:
43
+ response_500 = Error.from_dict(response.json())
44
+
45
+ return response_500
31
46
  if client.raise_on_unexpected_status:
32
47
  raise errors.UnexpectedStatus(response.status_code, response.content)
33
48
  else:
34
49
  return None
35
50
 
36
51
 
37
- def _build_response(*, client: Client, response: httpx.Response) -> Response[list["Agent"]]:
52
+ def _build_response(
53
+ *, client: Client, response: httpx.Response
54
+ ) -> Response[Union[Error, list["Agent"]]]:
38
55
  return Response(
39
56
  status_code=HTTPStatus(response.status_code),
40
57
  content=response.content,
@@ -46,15 +63,18 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[lis
46
63
  def sync_detailed(
47
64
  *,
48
65
  client: Client,
49
- ) -> Response[list["Agent"]]:
66
+ ) -> Response[Union[Error, list["Agent"]]]:
50
67
  """List all agents
51
68
 
69
+ Returns all AI agents deployed in the workspace. Each agent includes its deployment status, runtime
70
+ configuration, and global inference endpoint URL.
71
+
52
72
  Raises:
53
73
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
54
74
  httpx.TimeoutException: If the request takes longer than Client.timeout.
55
75
 
56
76
  Returns:
57
- Response[list['Agent']]
77
+ Response[Union[Error, list['Agent']]]
58
78
  """
59
79
 
60
80
  kwargs = _get_kwargs()
@@ -69,15 +89,18 @@ def sync_detailed(
69
89
  def sync(
70
90
  *,
71
91
  client: Client,
72
- ) -> list["Agent"] | None:
92
+ ) -> Union[Error, list["Agent"]] | None:
73
93
  """List all agents
74
94
 
95
+ Returns all AI agents deployed in the workspace. Each agent includes its deployment status, runtime
96
+ configuration, and global inference endpoint URL.
97
+
75
98
  Raises:
76
99
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
77
100
  httpx.TimeoutException: If the request takes longer than Client.timeout.
78
101
 
79
102
  Returns:
80
- list['Agent']
103
+ Union[Error, list['Agent']]
81
104
  """
82
105
 
83
106
  return sync_detailed(
@@ -88,15 +111,18 @@ def sync(
88
111
  async def asyncio_detailed(
89
112
  *,
90
113
  client: Client,
91
- ) -> Response[list["Agent"]]:
114
+ ) -> Response[Union[Error, list["Agent"]]]:
92
115
  """List all agents
93
116
 
117
+ Returns all AI agents deployed in the workspace. Each agent includes its deployment status, runtime
118
+ configuration, and global inference endpoint URL.
119
+
94
120
  Raises:
95
121
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
96
122
  httpx.TimeoutException: If the request takes longer than Client.timeout.
97
123
 
98
124
  Returns:
99
- Response[list['Agent']]
125
+ Response[Union[Error, list['Agent']]]
100
126
  """
101
127
 
102
128
  kwargs = _get_kwargs()
@@ -109,15 +135,18 @@ async def asyncio_detailed(
109
135
  async def asyncio(
110
136
  *,
111
137
  client: Client,
112
- ) -> list["Agent"] | None:
138
+ ) -> Union[Error, list["Agent"]] | None:
113
139
  """List all agents
114
140
 
141
+ Returns all AI agents deployed in the workspace. Each agent includes its deployment status, runtime
142
+ configuration, and global inference endpoint URL.
143
+
115
144
  Raises:
116
145
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
117
146
  httpx.TimeoutException: If the request takes longer than Client.timeout.
118
147
 
119
148
  Returns:
120
- list['Agent']
149
+ Union[Error, list['Agent']]
121
150
  """
122
151
 
123
152
  return (