blaxel 0.2.31rc120__py3-none-any.whl → 0.2.32__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 (432) hide show
  1. blaxel/__init__.py +3 -3
  2. blaxel/core/agents/__init__.py +16 -7
  3. blaxel/core/authentication/__init__.py +2 -1
  4. blaxel/core/authentication/devicemode.py +9 -1
  5. blaxel/core/authentication/oauth.py +13 -6
  6. blaxel/core/authentication/types.py +1 -0
  7. blaxel/core/cache/cache.py +10 -3
  8. blaxel/core/client/api/agents/create_agent.py +5 -5
  9. blaxel/core/client/api/agents/delete_agent.py +5 -5
  10. blaxel/core/client/api/agents/get_agent.py +4 -4
  11. blaxel/core/client/api/agents/list_agent_revisions.py +8 -6
  12. blaxel/core/client/api/agents/list_agents.py +5 -5
  13. blaxel/core/client/api/agents/update_agent.py +5 -5
  14. blaxel/core/client/api/compute/create_sandbox.py +5 -5
  15. blaxel/core/client/api/compute/create_sandbox_preview.py +5 -5
  16. blaxel/core/client/api/compute/create_sandbox_preview_token.py +5 -5
  17. blaxel/core/client/api/compute/delete_sandbox.py +5 -5
  18. blaxel/core/client/api/compute/delete_sandbox_preview.py +5 -5
  19. blaxel/core/client/api/compute/delete_sandbox_preview_token.py +11 -7
  20. blaxel/core/client/api/compute/get_sandbox.py +4 -4
  21. blaxel/core/client/api/compute/get_sandbox_preview.py +5 -5
  22. blaxel/core/client/api/compute/list_sandbox_preview_tokens.py +5 -5
  23. blaxel/core/client/api/compute/list_sandbox_previews.py +5 -5
  24. blaxel/core/client/api/compute/list_sandboxes.py +5 -5
  25. blaxel/core/client/api/compute/update_sandbox.py +5 -5
  26. blaxel/core/client/api/compute/update_sandbox_preview.py +5 -5
  27. blaxel/core/client/api/configurations/get_configuration.py +5 -5
  28. blaxel/core/client/api/customdomains/create_custom_domain.py +5 -5
  29. blaxel/core/client/api/customdomains/delete_custom_domain.py +5 -5
  30. blaxel/core/client/api/customdomains/get_custom_domain.py +5 -5
  31. blaxel/core/client/api/customdomains/list_custom_domains.py +5 -5
  32. blaxel/core/client/api/customdomains/update_custom_domain.py +5 -5
  33. blaxel/core/client/api/customdomains/verify_custom_domain.py +5 -5
  34. blaxel/core/client/api/default/get_template.py +5 -5
  35. blaxel/core/client/api/default/list_mcp_hub_definitions.py +5 -5
  36. blaxel/core/client/api/default/list_sandbox_hub_definitions.py +11 -7
  37. blaxel/core/client/api/functions/create_function.py +5 -5
  38. blaxel/core/client/api/functions/delete_function.py +5 -5
  39. blaxel/core/client/api/functions/get_function.py +4 -4
  40. blaxel/core/client/api/functions/list_function_revisions.py +8 -6
  41. blaxel/core/client/api/functions/list_functions.py +5 -5
  42. blaxel/core/client/api/functions/update_function.py +5 -5
  43. blaxel/core/client/api/images/cleanup_images.py +8 -6
  44. blaxel/core/client/api/images/delete_image.py +4 -4
  45. blaxel/core/client/api/images/delete_image_tag.py +4 -4
  46. blaxel/core/client/api/images/get_image.py +5 -5
  47. blaxel/core/client/api/images/list_images.py +5 -5
  48. blaxel/core/client/api/integrations/create_integration_connection.py +5 -5
  49. blaxel/core/client/api/integrations/delete_integration_connection.py +5 -5
  50. blaxel/core/client/api/integrations/get_integration.py +5 -5
  51. blaxel/core/client/api/integrations/get_integration_connection.py +5 -5
  52. blaxel/core/client/api/integrations/get_integration_connection_model.py +3 -3
  53. blaxel/core/client/api/integrations/get_integration_connection_model_endpoint_configurations.py +3 -3
  54. blaxel/core/client/api/integrations/list_integration_connection_models.py +3 -3
  55. blaxel/core/client/api/integrations/list_integration_connections.py +11 -7
  56. blaxel/core/client/api/integrations/update_integration_connection.py +5 -5
  57. blaxel/core/client/api/invitations/list_all_pending_invitations.py +7 -5
  58. blaxel/core/client/api/jobs/create_job.py +5 -5
  59. blaxel/core/client/api/jobs/create_job_execution.py +7 -5
  60. blaxel/core/client/api/jobs/delete_job.py +5 -5
  61. blaxel/core/client/api/jobs/delete_job_execution.py +7 -5
  62. blaxel/core/client/api/jobs/get_job.py +4 -4
  63. blaxel/core/client/api/jobs/get_job_execution.py +7 -5
  64. blaxel/core/client/api/jobs/list_job_executions.py +10 -6
  65. blaxel/core/client/api/jobs/list_job_revisions.py +8 -6
  66. blaxel/core/client/api/jobs/list_jobs.py +5 -5
  67. blaxel/core/client/api/jobs/update_job.py +5 -5
  68. blaxel/core/client/api/locations/list_locations.py +8 -6
  69. blaxel/core/client/api/models/create_model.py +5 -5
  70. blaxel/core/client/api/models/delete_model.py +5 -5
  71. blaxel/core/client/api/models/get_model.py +5 -5
  72. blaxel/core/client/api/models/list_model_revisions.py +8 -6
  73. blaxel/core/client/api/models/list_models.py +5 -5
  74. blaxel/core/client/api/models/update_model.py +5 -5
  75. blaxel/core/client/api/policies/create_policy.py +5 -5
  76. blaxel/core/client/api/policies/delete_policy.py +5 -5
  77. blaxel/core/client/api/policies/get_policy.py +5 -5
  78. blaxel/core/client/api/policies/list_policies.py +5 -5
  79. blaxel/core/client/api/policies/update_policy.py +5 -5
  80. blaxel/core/client/api/public_ipslist/list_public_ips.py +5 -5
  81. blaxel/core/client/api/service_accounts/create_api_key_for_service_account.py +5 -5
  82. blaxel/core/client/api/service_accounts/create_workspace_service_account.py +11 -7
  83. blaxel/core/client/api/service_accounts/delete_api_key_for_service_account.py +3 -3
  84. blaxel/core/client/api/service_accounts/delete_workspace_service_account.py +11 -7
  85. blaxel/core/client/api/service_accounts/get_workspace_service_accounts.py +8 -6
  86. blaxel/core/client/api/service_accounts/list_api_keys_for_service_account.py +5 -5
  87. blaxel/core/client/api/service_accounts/update_workspace_service_account.py +11 -7
  88. blaxel/core/client/api/templates/list_templates.py +5 -5
  89. blaxel/core/client/api/volume_templates/create_volume_template.py +4 -4
  90. blaxel/core/client/api/volume_templates/delete_volume_template.py +5 -5
  91. blaxel/core/client/api/volume_templates/delete_volume_template_version.py +4 -4
  92. blaxel/core/client/api/volume_templates/get_volume_template.py +5 -5
  93. blaxel/core/client/api/volume_templates/list_volume_templates.py +8 -6
  94. blaxel/core/client/api/volume_templates/update_volume_template.py +4 -4
  95. blaxel/core/client/api/volumes/create_volume.py +5 -5
  96. blaxel/core/client/api/volumes/delete_volume.py +5 -5
  97. blaxel/core/client/api/volumes/get_volume.py +5 -5
  98. blaxel/core/client/api/volumes/list_volumes.py +5 -5
  99. blaxel/core/client/api/workspaces/accept_workspace_invitation.py +10 -6
  100. blaxel/core/client/api/workspaces/check_workspace_availability.py +5 -5
  101. blaxel/core/client/api/workspaces/create_workspace.py +5 -5
  102. blaxel/core/client/api/workspaces/decline_workspace_invitation.py +5 -5
  103. blaxel/core/client/api/workspaces/delete_workspace.py +5 -5
  104. blaxel/core/client/api/workspaces/get_workspace.py +5 -5
  105. blaxel/core/client/api/workspaces/invite_workspace_user.py +10 -6
  106. blaxel/core/client/api/workspaces/leave_workspace.py +4 -4
  107. blaxel/core/client/api/workspaces/list_workspace_users.py +5 -5
  108. blaxel/core/client/api/workspaces/list_workspaces.py +5 -5
  109. blaxel/core/client/api/workspaces/remove_workspace_user.py +3 -3
  110. blaxel/core/client/api/workspaces/update_workspace.py +5 -5
  111. blaxel/core/client/api/workspaces/update_workspace_user_role.py +10 -6
  112. blaxel/core/client/client.py +5 -19
  113. blaxel/core/client/models/acl.py +3 -3
  114. blaxel/core/client/models/agent.py +12 -5
  115. blaxel/core/client/models/agent_spec.py +22 -7
  116. blaxel/core/client/models/api_key.py +6 -6
  117. blaxel/core/client/models/billable_time_metric.py +3 -4
  118. blaxel/core/client/models/check_workspace_availability_body.py +1 -1
  119. blaxel/core/client/models/cleanup_images_response_200.py +1 -1
  120. blaxel/core/client/models/configuration.py +2 -3
  121. blaxel/core/client/models/continent.py +2 -2
  122. blaxel/core/client/models/core_event.py +3 -3
  123. blaxel/core/client/models/core_spec.py +14 -5
  124. blaxel/core/client/models/core_spec_configurations.py +1 -2
  125. blaxel/core/client/models/country.py +2 -2
  126. blaxel/core/client/models/create_api_key_for_service_account_body.py +1 -1
  127. blaxel/core/client/models/create_job_execution_request.py +4 -5
  128. blaxel/core/client/models/create_job_execution_request_tasks_item.py +1 -1
  129. blaxel/core/client/models/create_job_execution_response.py +4 -5
  130. blaxel/core/client/models/create_job_execution_response_tasks_item.py +1 -1
  131. blaxel/core/client/models/create_workspace_service_account_body.py +1 -1
  132. blaxel/core/client/models/create_workspace_service_account_response_200.py +1 -1
  133. blaxel/core/client/models/custom_domain.py +6 -3
  134. blaxel/core/client/models/custom_domain_metadata.py +6 -7
  135. blaxel/core/client/models/custom_domain_spec.py +10 -7
  136. blaxel/core/client/models/custom_domain_spec_txt_records.py +1 -1
  137. blaxel/core/client/models/delete_sandbox_preview_token_response_200.py +1 -1
  138. blaxel/core/client/models/delete_volume_template_version_response_200.py +6 -3
  139. blaxel/core/client/models/delete_workspace_service_account_response_200.py +1 -1
  140. blaxel/core/client/models/entrypoint.py +4 -3
  141. blaxel/core/client/models/entrypoint_env.py +1 -1
  142. blaxel/core/client/models/expiration_policy.py +2 -2
  143. blaxel/core/client/models/flavor.py +2 -2
  144. blaxel/core/client/models/form.py +6 -3
  145. blaxel/core/client/models/form_config.py +1 -1
  146. blaxel/core/client/models/form_oauth.py +1 -1
  147. blaxel/core/client/models/form_secrets.py +1 -1
  148. blaxel/core/client/models/function.py +12 -5
  149. blaxel/core/client/models/function_spec.py +17 -6
  150. blaxel/core/client/models/get_workspace_service_accounts_response_200_item.py +1 -1
  151. blaxel/core/client/models/histogram_bucket.py +1 -1
  152. blaxel/core/client/models/histogram_stats.py +1 -1
  153. blaxel/core/client/models/image.py +6 -3
  154. blaxel/core/client/models/image_metadata.py +6 -6
  155. blaxel/core/client/models/image_spec.py +1 -2
  156. blaxel/core/client/models/image_tag.py +3 -3
  157. blaxel/core/client/models/integration.py +12 -5
  158. blaxel/core/client/models/integration_additional_infos.py +1 -1
  159. blaxel/core/client/models/integration_connection.py +6 -3
  160. blaxel/core/client/models/integration_connection_spec.py +1 -2
  161. blaxel/core/client/models/integration_connection_spec_config.py +1 -1
  162. blaxel/core/client/models/integration_connection_spec_secret.py +1 -1
  163. blaxel/core/client/models/integration_endpoint.py +9 -6
  164. blaxel/core/client/models/integration_endpoint_token.py +1 -1
  165. blaxel/core/client/models/integration_endpoints.py +1 -3
  166. blaxel/core/client/models/integration_headers.py +1 -1
  167. blaxel/core/client/models/integration_model.py +1 -1
  168. blaxel/core/client/models/integration_organization.py +2 -2
  169. blaxel/core/client/models/integration_query_params.py +1 -1
  170. blaxel/core/client/models/integration_repository.py +2 -2
  171. blaxel/core/client/models/invite_workspace_user_body.py +1 -1
  172. blaxel/core/client/models/job.py +12 -5
  173. blaxel/core/client/models/job_execution.py +6 -3
  174. blaxel/core/client/models/job_execution_config.py +3 -3
  175. blaxel/core/client/models/job_execution_metadata.py +7 -7
  176. blaxel/core/client/models/job_execution_spec.py +1 -2
  177. blaxel/core/client/models/job_execution_stats.py +1 -1
  178. blaxel/core/client/models/job_execution_task.py +6 -3
  179. blaxel/core/client/models/job_execution_task_condition.py +3 -3
  180. blaxel/core/client/models/job_execution_task_metadata.py +6 -6
  181. blaxel/core/client/models/job_execution_task_spec.py +2 -2
  182. blaxel/core/client/models/job_metrics.py +15 -12
  183. blaxel/core/client/models/job_metrics_executions_total.py +1 -1
  184. blaxel/core/client/models/job_metrics_tasks_total.py +1 -1
  185. blaxel/core/client/models/job_spec.py +17 -6
  186. blaxel/core/client/models/jobs_chart_value.py +1 -1
  187. blaxel/core/client/models/jobs_network_chart.py +1 -2
  188. blaxel/core/client/models/jobs_success_failed_chart.py +11 -4
  189. blaxel/core/client/models/jobs_total.py +1 -1
  190. blaxel/core/client/models/last_n_requests_metric.py +4 -4
  191. blaxel/core/client/models/latency_metric.py +10 -7
  192. blaxel/core/client/models/location_response.py +1 -2
  193. blaxel/core/client/models/logs_response.py +1 -1
  194. blaxel/core/client/models/logs_response_data.py +4 -4
  195. blaxel/core/client/models/mcp_definition.py +11 -8
  196. blaxel/core/client/models/mcp_definition_entrypoint.py +1 -1
  197. blaxel/core/client/models/mcp_definition_form.py +1 -1
  198. blaxel/core/client/models/memory_allocation_by_name.py +1 -1
  199. blaxel/core/client/models/memory_allocation_metric.py +2 -2
  200. blaxel/core/client/models/metadata.py +6 -7
  201. blaxel/core/client/models/metadata_labels.py +1 -1
  202. blaxel/core/client/models/metric.py +2 -2
  203. blaxel/core/client/models/metrics.py +24 -11
  204. blaxel/core/client/models/metrics_models.py +1 -1
  205. blaxel/core/client/models/metrics_request_total_per_code.py +1 -1
  206. blaxel/core/client/models/metrics_rps_per_code.py +1 -1
  207. blaxel/core/client/models/model.py +12 -5
  208. blaxel/core/client/models/model_spec.py +14 -5
  209. blaxel/core/client/models/o_auth.py +2 -2
  210. blaxel/core/client/models/owner_fields.py +3 -3
  211. blaxel/core/client/models/pending_invitation.py +6 -6
  212. blaxel/core/client/models/pending_invitation_accept.py +6 -3
  213. blaxel/core/client/models/pending_invitation_render.py +14 -7
  214. blaxel/core/client/models/pending_invitation_render_invited_by.py +1 -1
  215. blaxel/core/client/models/pending_invitation_render_workspace.py +2 -2
  216. blaxel/core/client/models/pending_invitation_workspace_details.py +1 -1
  217. blaxel/core/client/models/pod_template_spec.py +1 -1
  218. blaxel/core/client/models/policy.py +6 -3
  219. blaxel/core/client/models/policy_location.py +2 -2
  220. blaxel/core/client/models/policy_max_tokens.py +5 -3
  221. blaxel/core/client/models/policy_spec.py +15 -8
  222. blaxel/core/client/models/port.py +1 -1
  223. blaxel/core/client/models/preview.py +6 -3
  224. blaxel/core/client/models/preview_metadata.py +8 -8
  225. blaxel/core/client/models/preview_spec.py +5 -6
  226. blaxel/core/client/models/preview_spec_request_headers.py +1 -1
  227. blaxel/core/client/models/preview_spec_response_headers.py +1 -1
  228. blaxel/core/client/models/preview_token.py +6 -3
  229. blaxel/core/client/models/preview_token_metadata.py +4 -4
  230. blaxel/core/client/models/preview_token_spec.py +2 -2
  231. blaxel/core/client/models/private_location.py +1 -1
  232. blaxel/core/client/models/public_ip.py +3 -3
  233. blaxel/core/client/models/public_ips.py +1 -2
  234. blaxel/core/client/models/region.py +2 -2
  235. blaxel/core/client/models/repository.py +2 -2
  236. blaxel/core/client/models/request_duration_over_time_metric.py +1 -1
  237. blaxel/core/client/models/request_duration_over_time_metrics.py +4 -3
  238. blaxel/core/client/models/request_total_by_origin_metric.py +23 -10
  239. blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin.py +1 -1
  240. blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +1 -1
  241. blaxel/core/client/models/request_total_metric.py +14 -7
  242. blaxel/core/client/models/request_total_metric_request_total_per_code.py +1 -1
  243. blaxel/core/client/models/request_total_metric_rps_per_code.py +1 -1
  244. blaxel/core/client/models/request_total_response_data.py +5 -5
  245. blaxel/core/client/models/resource.py +6 -4
  246. blaxel/core/client/models/resource_log.py +1 -1
  247. blaxel/core/client/models/resource_log_chart.py +1 -1
  248. blaxel/core/client/models/resource_log_response.py +2 -2
  249. blaxel/core/client/models/resource_metrics.py +95 -40
  250. blaxel/core/client/models/resource_metrics_request_total_per_code.py +1 -1
  251. blaxel/core/client/models/resource_metrics_request_total_per_code_previous.py +1 -1
  252. blaxel/core/client/models/resource_metrics_rps_per_code.py +1 -1
  253. blaxel/core/client/models/resource_metrics_rps_per_code_previous.py +1 -1
  254. blaxel/core/client/models/resource_trace.py +5 -5
  255. blaxel/core/client/models/revision_configuration.py +3 -3
  256. blaxel/core/client/models/revision_metadata.py +5 -5
  257. blaxel/core/client/models/runtime.py +9 -10
  258. blaxel/core/client/models/runtime_configuration.py +1 -1
  259. blaxel/core/client/models/runtime_startup_probe.py +1 -1
  260. blaxel/core/client/models/sandbox.py +13 -6
  261. blaxel/core/client/models/sandbox_definition.py +3 -4
  262. blaxel/core/client/models/sandbox_lifecycle.py +2 -3
  263. blaxel/core/client/models/sandbox_metrics.py +1 -1
  264. blaxel/core/client/models/sandbox_spec.py +25 -8
  265. blaxel/core/client/models/serverless_config.py +4 -5
  266. blaxel/core/client/models/serverless_config_configuration.py +1 -1
  267. blaxel/core/client/models/spec_configuration.py +1 -1
  268. blaxel/core/client/models/start_sandbox.py +6 -3
  269. blaxel/core/client/models/stop_sandbox.py +6 -3
  270. blaxel/core/client/models/store_agent.py +6 -7
  271. blaxel/core/client/models/store_agent_labels.py +1 -1
  272. blaxel/core/client/models/store_configuration.py +7 -6
  273. blaxel/core/client/models/store_configuration_option.py +2 -2
  274. blaxel/core/client/models/template.py +6 -7
  275. blaxel/core/client/models/template_variable.py +1 -1
  276. blaxel/core/client/models/time_fields.py +3 -3
  277. blaxel/core/client/models/time_to_first_token_over_time_metrics.py +7 -4
  278. blaxel/core/client/models/token_rate_metric.py +3 -3
  279. blaxel/core/client/models/token_rate_metrics.py +4 -5
  280. blaxel/core/client/models/token_total_metric.py +13 -7
  281. blaxel/core/client/models/trace_ids_response.py +1 -1
  282. blaxel/core/client/models/trigger.py +2 -3
  283. blaxel/core/client/models/trigger_configuration.py +4 -5
  284. blaxel/core/client/models/trigger_configuration_task.py +1 -1
  285. blaxel/core/client/models/update_workspace_service_account_body.py +1 -1
  286. blaxel/core/client/models/update_workspace_service_account_response_200.py +1 -1
  287. blaxel/core/client/models/update_workspace_user_role_body.py +1 -1
  288. blaxel/core/client/models/volume.py +13 -6
  289. blaxel/core/client/models/volume_attachment.py +3 -3
  290. blaxel/core/client/models/volume_spec.py +2 -2
  291. blaxel/core/client/models/volume_state.py +2 -2
  292. blaxel/core/client/models/volume_template.py +6 -3
  293. blaxel/core/client/models/volume_template_spec.py +2 -2
  294. blaxel/core/client/models/volume_template_state.py +6 -4
  295. blaxel/core/client/models/volume_template_version.py +4 -4
  296. blaxel/core/client/models/websocket_channel.py +4 -4
  297. blaxel/core/client/models/websocket_message.py +3 -3
  298. blaxel/core/client/models/workspace.py +13 -10
  299. blaxel/core/client/models/workspace_labels.py +1 -1
  300. blaxel/core/client/models/workspace_runtime.py +1 -1
  301. blaxel/core/client/models/workspace_user.py +1 -1
  302. blaxel/core/client/response_interceptor.py +3 -1
  303. blaxel/core/common/autoload.py +9 -11
  304. blaxel/core/common/env.py +10 -8
  305. blaxel/core/common/settings.py +7 -5
  306. blaxel/core/common/webhook.py +0 -1
  307. blaxel/core/jobs/__init__.py +13 -3
  308. blaxel/core/mcp/client.py +8 -2
  309. blaxel/core/mcp/server.py +8 -2
  310. blaxel/core/models/__init__.py +6 -5
  311. blaxel/core/sandbox/__init__.py +1 -1
  312. blaxel/core/sandbox/client/api/codegen/get_codegen_reranking_path.py +10 -6
  313. blaxel/core/sandbox/client/api/fastapply/put_codegen_fastapply_path.py +10 -6
  314. blaxel/core/sandbox/client/api/filesystem/delete_filesystem_multipart_upload_id_abort.py +10 -6
  315. blaxel/core/sandbox/client/api/filesystem/delete_filesystem_path.py +10 -6
  316. blaxel/core/sandbox/client/api/filesystem/delete_filesystem_tree_path.py +10 -6
  317. blaxel/core/sandbox/client/api/filesystem/get_filesystem_content_search_path.py +7 -5
  318. blaxel/core/sandbox/client/api/filesystem/get_filesystem_find_path.py +10 -6
  319. blaxel/core/sandbox/client/api/filesystem/get_filesystem_multipart.py +4 -4
  320. blaxel/core/sandbox/client/api/filesystem/get_filesystem_multipart_upload_id_parts.py +4 -4
  321. blaxel/core/sandbox/client/api/filesystem/get_filesystem_path.py +4 -4
  322. blaxel/core/sandbox/client/api/filesystem/get_filesystem_search_path.py +10 -6
  323. blaxel/core/sandbox/client/api/filesystem/get_filesystem_tree_path.py +4 -4
  324. blaxel/core/sandbox/client/api/filesystem/get_watch_filesystem_path.py +10 -6
  325. blaxel/core/sandbox/client/api/filesystem/post_filesystem_multipart_initiate_path.py +4 -4
  326. blaxel/core/sandbox/client/api/filesystem/post_filesystem_multipart_upload_id_complete.py +10 -6
  327. blaxel/core/sandbox/client/api/filesystem/put_filesystem_multipart_upload_id_part.py +4 -4
  328. blaxel/core/sandbox/client/api/filesystem/put_filesystem_path.py +10 -6
  329. blaxel/core/sandbox/client/api/filesystem/put_filesystem_tree_path.py +4 -4
  330. blaxel/core/sandbox/client/api/network/delete_network_process_pid_monitor.py +4 -4
  331. blaxel/core/sandbox/client/api/network/get_network_process_pid_ports.py +4 -4
  332. blaxel/core/sandbox/client/api/network/post_network_process_pid_monitor.py +4 -4
  333. blaxel/core/sandbox/client/api/process/delete_process_identifier.py +10 -6
  334. blaxel/core/sandbox/client/api/process/delete_process_identifier_kill.py +10 -6
  335. blaxel/core/sandbox/client/api/process/get_process.py +8 -6
  336. blaxel/core/sandbox/client/api/process/get_process_identifier.py +10 -6
  337. blaxel/core/sandbox/client/api/process/get_process_identifier_logs.py +10 -6
  338. blaxel/core/sandbox/client/api/process/get_process_identifier_logs_stream.py +10 -6
  339. blaxel/core/sandbox/client/api/process/post_process.py +10 -6
  340. blaxel/core/sandbox/client/api/root/delete.py +5 -5
  341. blaxel/core/sandbox/client/api/root/get.py +5 -5
  342. blaxel/core/sandbox/client/api/root/options.py +5 -5
  343. blaxel/core/sandbox/client/api/root/patch.py +5 -5
  344. blaxel/core/sandbox/client/api/root/post.py +5 -5
  345. blaxel/core/sandbox/client/api/root/put.py +5 -5
  346. blaxel/core/sandbox/client/client.py +3 -1
  347. blaxel/core/sandbox/client/models/apply_edit_request.py +2 -2
  348. blaxel/core/sandbox/client/models/apply_edit_response.py +3 -3
  349. blaxel/core/sandbox/client/models/content_search_match.py +1 -1
  350. blaxel/core/sandbox/client/models/content_search_response.py +1 -1
  351. blaxel/core/sandbox/client/models/delete_network_process_pid_monitor_response_200.py +1 -1
  352. blaxel/core/sandbox/client/models/directory.py +1 -1
  353. blaxel/core/sandbox/client/models/error_response.py +1 -1
  354. blaxel/core/sandbox/client/models/file.py +2 -2
  355. blaxel/core/sandbox/client/models/file_request.py +2 -2
  356. blaxel/core/sandbox/client/models/file_with_content.py +2 -2
  357. blaxel/core/sandbox/client/models/filesystem_multipart_upload.py +3 -3
  358. blaxel/core/sandbox/client/models/filesystem_multipart_upload_parts.py +4 -2
  359. blaxel/core/sandbox/client/models/filesystem_uploaded_part.py +3 -3
  360. blaxel/core/sandbox/client/models/find_match.py +2 -2
  361. blaxel/core/sandbox/client/models/find_response.py +1 -1
  362. blaxel/core/sandbox/client/models/fuzzy_search_match.py +2 -2
  363. blaxel/core/sandbox/client/models/fuzzy_search_response.py +1 -1
  364. blaxel/core/sandbox/client/models/get_network_process_pid_ports_response_200.py +1 -1
  365. blaxel/core/sandbox/client/models/multipart_complete_request.py +1 -1
  366. blaxel/core/sandbox/client/models/multipart_initiate_request.py +1 -1
  367. blaxel/core/sandbox/client/models/multipart_initiate_response.py +2 -2
  368. blaxel/core/sandbox/client/models/multipart_list_parts_response.py +2 -2
  369. blaxel/core/sandbox/client/models/multipart_list_uploads_response.py +1 -1
  370. blaxel/core/sandbox/client/models/multipart_part_info.py +2 -2
  371. blaxel/core/sandbox/client/models/multipart_upload_part_response.py +2 -2
  372. blaxel/core/sandbox/client/models/port_monitor_request.py +1 -1
  373. blaxel/core/sandbox/client/models/post_network_process_pid_monitor_response_200.py +1 -1
  374. blaxel/core/sandbox/client/models/process_logs.py +1 -1
  375. blaxel/core/sandbox/client/models/process_request.py +6 -6
  376. blaxel/core/sandbox/client/models/process_request_env.py +1 -1
  377. blaxel/core/sandbox/client/models/process_response.py +8 -8
  378. blaxel/core/sandbox/client/models/put_filesystem_multipart_upload_id_part_body.py +1 -1
  379. blaxel/core/sandbox/client/models/ranked_file.py +1 -1
  380. blaxel/core/sandbox/client/models/reranking_response.py +1 -1
  381. blaxel/core/sandbox/client/models/subdirectory.py +1 -1
  382. blaxel/core/sandbox/client/models/success_response.py +1 -1
  383. blaxel/core/sandbox/client/models/tree_request.py +1 -1
  384. blaxel/core/sandbox/client/models/tree_request_files.py +1 -1
  385. blaxel/core/sandbox/client/models/welcome_response.py +1 -1
  386. blaxel/core/sandbox/default/__init__.py +0 -1
  387. blaxel/core/sandbox/default/action.py +3 -3
  388. blaxel/core/sandbox/default/codegen.py +2 -4
  389. blaxel/core/sandbox/default/filesystem.py +38 -82
  390. blaxel/core/sandbox/default/interpreter.py +17 -10
  391. blaxel/core/sandbox/default/preview.py +6 -2
  392. blaxel/core/sandbox/default/process.py +20 -11
  393. blaxel/core/sandbox/default/sandbox.py +24 -14
  394. blaxel/core/sandbox/sync/__init__.py +0 -2
  395. blaxel/core/sandbox/sync/action.py +2 -3
  396. blaxel/core/sandbox/sync/codegen.py +1 -5
  397. blaxel/core/sandbox/sync/filesystem.py +17 -6
  398. blaxel/core/sandbox/sync/interpreter.py +10 -6
  399. blaxel/core/sandbox/sync/network.py +0 -2
  400. blaxel/core/sandbox/sync/preview.py +76 -33
  401. blaxel/core/sandbox/sync/process.py +27 -12
  402. blaxel/core/sandbox/sync/sandbox.py +30 -18
  403. blaxel/core/sandbox/sync/session.py +6 -4
  404. blaxel/core/sandbox/types.py +2 -1
  405. blaxel/core/tools/__init__.py +30 -6
  406. blaxel/core/tools/common.py +1 -1
  407. blaxel/core/tools/types.py +2 -1
  408. blaxel/crewai/model.py +20 -5
  409. blaxel/googleadk/__init__.py +1 -1
  410. blaxel/googleadk/tools.py +3 -5
  411. blaxel/langgraph/custom/gemini.py +126 -133
  412. blaxel/langgraph/model.py +54 -50
  413. blaxel/langgraph/tools.py +9 -3
  414. blaxel/llamaindex/custom/cohere.py +25 -16
  415. blaxel/llamaindex/model.py +44 -57
  416. blaxel/llamaindex/tools.py +2 -3
  417. blaxel/pydantic/custom/gemini.py +3 -3
  418. blaxel/pydantic/tools.py +2 -4
  419. blaxel/telemetry/exporters.py +10 -3
  420. blaxel/telemetry/instrumentation/blaxel_langgraph.py +4 -2
  421. blaxel/telemetry/instrumentation/blaxel_langgraph_gemini.py +22 -5
  422. blaxel/telemetry/instrumentation/utils.py +3 -3
  423. blaxel/telemetry/log/log.py +2 -3
  424. blaxel/telemetry/log/logger.py +21 -15
  425. blaxel/telemetry/span.py +10 -6
  426. {blaxel-0.2.31rc120.dist-info → blaxel-0.2.32.dist-info}/METADATA +2 -2
  427. blaxel-0.2.32.dist-info/RECORD +506 -0
  428. blaxel/core/client/api/compute/start_sandbox.py +0 -157
  429. blaxel/core/client/api/compute/stop_sandbox.py +0 -157
  430. blaxel-0.2.31rc120.dist-info/RECORD +0 -508
  431. {blaxel-0.2.31rc120.dist-info → blaxel-0.2.32.dist-info}/WHEEL +0 -0
  432. {blaxel-0.2.31rc120.dist-info → blaxel-0.2.32.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.pre-120"
8
- __commit__ = "a23256023f1d955467e2ee297a96b3d321172acf"
7
+ __version__ = "0.2.32"
8
+ __commit__ = "72a43488d87cfae83389f5a928dfa9256649396b"
9
9
  __sentry_dsn__ = "https://9711de13cd02b285ca4378c01de8dc30@o4508714045276160.ingest.us.sentry.io/4510461121462272"
10
10
  __all__ = ["autoload", "settings", "env"]
11
11
 
12
- autoload()
12
+ autoload()
@@ -1,6 +1,6 @@
1
1
  import json
2
2
  from logging import getLogger
3
- from typing import Any, Awaitable
3
+ from typing import Any
4
4
 
5
5
  from ..cache import find_from_cache
6
6
  from ..client import client
@@ -51,10 +51,14 @@ class BlAgent:
51
51
  body = json.dumps(body)
52
52
 
53
53
  # Merge settings headers with provided headers
54
- merged_headers = {**settings.headers, "Content-Type": "application/json", **headers}
54
+ merged_headers = {
55
+ **settings.headers,
56
+ "Content-Type": "application/json",
57
+ **headers,
58
+ }
55
59
 
56
60
  return client.get_httpx_client().post(
57
- url, headers=merged_headers, data=body, params=params
61
+ url, headers=merged_headers, content=body, params=params
58
62
  )
59
63
 
60
64
  async def acall(self, url, input_data, headers: dict = {}, params: dict = {}):
@@ -64,10 +68,14 @@ class BlAgent:
64
68
  body = json.dumps(body)
65
69
 
66
70
  # Merge settings headers with provided headers
67
- merged_headers = {**settings.headers, "Content-Type": "application/json", **headers}
71
+ merged_headers = {
72
+ **settings.headers,
73
+ "Content-Type": "application/json",
74
+ **headers,
75
+ }
68
76
 
69
77
  return await client.get_async_httpx_client().post(
70
- url, headers=merged_headers, data=body, params=params
78
+ url, headers=merged_headers, content=body, params=params
71
79
  )
72
80
 
73
81
  def run(self, input: Any, headers: dict = {}, params: dict = {}) -> str:
@@ -85,7 +93,7 @@ class BlAgent:
85
93
  )
86
94
  return response.text
87
95
 
88
- async def arun(self, input: Any, headers: dict = {}, params: dict = {}) -> Awaitable[str]:
96
+ async def arun(self, input: Any, headers: dict = {}, params: dict = {}) -> str:
89
97
  logger.debug(f"Agent Calling: {self.name}")
90
98
  response = await self.acall(self.url, input, headers, params)
91
99
  if response.status_code >= 400:
@@ -120,4 +128,5 @@ async def get_agent_metadata(name):
120
128
  except Exception:
121
129
  return None
122
130
 
123
- __all__ = ["BlAgent", "bl_agent", "get_agent_metadata"]
131
+
132
+ __all__ = ["BlAgent", "bl_agent", "get_agent_metadata"]
@@ -34,7 +34,8 @@ 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"), workspace=get_workspace()
37
+ client_credentials=os.environ.get("BL_CLIENT_CREDENTIALS"),
38
+ workspace=get_workspace(),
38
39
  )
39
40
 
40
41
  try:
@@ -24,6 +24,7 @@ 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
+
27
28
  client_id: str
28
29
  scope: str
29
30
 
@@ -42,6 +43,7 @@ class DeviceLoginResponse:
42
43
  verification_uri (str): URI for user to verify device login.
43
44
  verification_uri_complete (str): Complete URI including the user code for verification.
44
45
  """
46
+
45
47
  client_id: str
46
48
  device_code: str
47
49
  user_code: str
@@ -61,6 +63,7 @@ class DeviceLoginFinalizeRequest:
61
63
  client_id (str): The client ID for finalizing the device login.
62
64
  device_code (str): The device code to finalize login.
63
65
  """
66
+
64
67
  grant_type: str
65
68
  client_id: str
66
69
  device_code: str
@@ -78,6 +81,7 @@ class DeviceMode(BlaxelAuth):
78
81
  """
79
82
  DeviceMode auth that authenticates requests using a device code.
80
83
  """
84
+
81
85
  def get_headers(self) -> Dict[str, str]:
82
86
  """
83
87
  Retrieves the authentication headers containing the Bearer token and workspace information.
@@ -161,7 +165,11 @@ class DeviceMode(BlaxelAuth):
161
165
  }
162
166
 
163
167
  try:
164
- response = post(url, json=refresh_data, headers={"Content-Type": "application/json"})
168
+ response = post(
169
+ url,
170
+ json=refresh_data,
171
+ headers={"Content-Type": "application/json"},
172
+ )
165
173
  response.raise_for_status()
166
174
  finalize_response = DeviceLoginFinalizeResponse(**response.json())
167
175
 
@@ -11,6 +11,7 @@ class OauthTokenData:
11
11
  headers: dict[str, str] = field(default_factory=dict)
12
12
  authenticated: bool | None = False
13
13
 
14
+
14
15
  @dataclass
15
16
  class OauthTokenResponse:
16
17
  access_token: str
@@ -18,14 +19,16 @@ class OauthTokenResponse:
18
19
  expires_in: int
19
20
  token_type: str
20
21
 
22
+
21
23
  @dataclass
22
24
  class OauthTokenError:
23
25
  error: str
24
26
 
27
+
25
28
  async def oauth_token(
26
29
  options: OauthTokenData,
27
30
  client: Client | None = None,
28
- throw_on_error: bool = False
31
+ throw_on_error: bool = False,
29
32
  ) -> Union[OauthTokenResponse, OauthTokenError]:
30
33
  """
31
34
  Get a new OAuth token.
@@ -38,13 +41,17 @@ async def oauth_token(
38
41
  Returns:
39
42
  The OAuth token response or error
40
43
  """
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 {},
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
+ )
45
52
  )
46
53
  if response.status_code >= 400:
47
54
  if throw_on_error:
48
55
  raise Exception(f"Failed to get OAuth token: {response.text}")
49
56
  return OauthTokenError(error=response.text)
50
- return OauthTokenResponse(**response.json())
57
+ return OauthTokenResponse(**response.json())
@@ -17,6 +17,7 @@ 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
+
20
21
  class BlaxelAuth(Auth):
21
22
  def __init__(self, credentials: CredentialsType, workspace_name: str, base_url: str):
22
23
  """
@@ -14,19 +14,26 @@ 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 doc and isinstance(doc, dict) and 'kind' in doc and 'metadata' in doc and 'name' in doc['metadata']:
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
+ ):
24
30
  cache_key = f"{doc['kind']}/{doc['metadata']['name']}"
25
31
  _cache[cache_key] = doc
26
32
  except Exception:
27
33
  # Silently fail if cache file doesn't exist or is invalid
28
34
  pass
29
35
 
36
+
30
37
  # Initialize cache on module import
31
38
  _load_cache()
32
39
 
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -54,7 +54,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Age
54
54
 
55
55
  def sync_detailed(
56
56
  *,
57
- client: Union[Client],
57
+ client: Client,
58
58
  body: Agent,
59
59
  ) -> Response[Agent]:
60
60
  """Create agent by name
@@ -83,7 +83,7 @@ def sync_detailed(
83
83
 
84
84
  def sync(
85
85
  *,
86
- client: Union[Client],
86
+ client: Client,
87
87
  body: Agent,
88
88
  ) -> Agent | None:
89
89
  """Create agent by name
@@ -107,7 +107,7 @@ def sync(
107
107
 
108
108
  async def asyncio_detailed(
109
109
  *,
110
- client: Union[Client],
110
+ client: Client,
111
111
  body: Agent,
112
112
  ) -> Response[Agent]:
113
113
  """Create agent by name
@@ -134,7 +134,7 @@ async def asyncio_detailed(
134
134
 
135
135
  async def asyncio(
136
136
  *,
137
- client: Union[Client],
137
+ client: Client,
138
138
  body: Agent,
139
139
  ) -> Agent | None:
140
140
  """Create agent by name
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -43,7 +43,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Age
43
43
  def sync_detailed(
44
44
  agent_name: str,
45
45
  *,
46
- client: Union[Client],
46
+ client: Client,
47
47
  ) -> Response[Agent]:
48
48
  """Delete agent by name
49
49
 
@@ -72,7 +72,7 @@ def sync_detailed(
72
72
  def sync(
73
73
  agent_name: str,
74
74
  *,
75
- client: Union[Client],
75
+ client: Client,
76
76
  ) -> Agent | None:
77
77
  """Delete agent by name
78
78
 
@@ -96,7 +96,7 @@ def sync(
96
96
  async def asyncio_detailed(
97
97
  agent_name: str,
98
98
  *,
99
- client: Union[Client],
99
+ client: Client,
100
100
  ) -> Response[Agent]:
101
101
  """Delete agent by name
102
102
 
@@ -123,7 +123,7 @@ async def asyncio_detailed(
123
123
  async def asyncio(
124
124
  agent_name: str,
125
125
  *,
126
- client: Union[Client],
126
+ client: Client,
127
127
  ) -> Agent | None:
128
128
  """Delete agent by name
129
129
 
@@ -52,7 +52,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Age
52
52
  def sync_detailed(
53
53
  agent_name: str,
54
54
  *,
55
- client: Union[Client],
55
+ client: Client,
56
56
  show_secrets: Union[Unset, bool] = UNSET,
57
57
  ) -> Response[Agent]:
58
58
  """Get agent by name
@@ -84,7 +84,7 @@ def sync_detailed(
84
84
  def sync(
85
85
  agent_name: str,
86
86
  *,
87
- client: Union[Client],
87
+ client: Client,
88
88
  show_secrets: Union[Unset, bool] = UNSET,
89
89
  ) -> Agent | None:
90
90
  """Get agent by name
@@ -111,7 +111,7 @@ def sync(
111
111
  async def asyncio_detailed(
112
112
  agent_name: str,
113
113
  *,
114
- client: Union[Client],
114
+ client: Client,
115
115
  show_secrets: Union[Unset, bool] = UNSET,
116
116
  ) -> Response[Agent]:
117
117
  """Get agent by name
@@ -141,7 +141,7 @@ async def asyncio_detailed(
141
141
  async def asyncio(
142
142
  agent_name: str,
143
143
  *,
144
- client: Union[Client],
144
+ client: Client,
145
145
  show_secrets: Union[Unset, bool] = UNSET,
146
146
  ) -> Agent | None:
147
147
  """Get agent by name
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -36,7 +36,9 @@ def _parse_response(*, client: Client, response: httpx.Response) -> list["Revisi
36
36
  return None
37
37
 
38
38
 
39
- def _build_response(*, client: Client, response: httpx.Response) -> Response[list["RevisionMetadata"]]:
39
+ def _build_response(
40
+ *, client: Client, response: httpx.Response
41
+ ) -> Response[list["RevisionMetadata"]]:
40
42
  return Response(
41
43
  status_code=HTTPStatus(response.status_code),
42
44
  content=response.content,
@@ -48,7 +50,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[lis
48
50
  def sync_detailed(
49
51
  agent_name: str,
50
52
  *,
51
- client: Union[Client],
53
+ client: Client,
52
54
  ) -> Response[list["RevisionMetadata"]]:
53
55
  """List all agent revisions
54
56
 
@@ -77,7 +79,7 @@ def sync_detailed(
77
79
  def sync(
78
80
  agent_name: str,
79
81
  *,
80
- client: Union[Client],
82
+ client: Client,
81
83
  ) -> list["RevisionMetadata"] | None:
82
84
  """List all agent revisions
83
85
 
@@ -101,7 +103,7 @@ def sync(
101
103
  async def asyncio_detailed(
102
104
  agent_name: str,
103
105
  *,
104
- client: Union[Client],
106
+ client: Client,
105
107
  ) -> Response[list["RevisionMetadata"]]:
106
108
  """List all agent revisions
107
109
 
@@ -128,7 +130,7 @@ async def asyncio_detailed(
128
130
  async def asyncio(
129
131
  agent_name: str,
130
132
  *,
131
- client: Union[Client],
133
+ client: Client,
132
134
  ) -> list["RevisionMetadata"] | None:
133
135
  """List all agent revisions
134
136
 
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -45,7 +45,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[lis
45
45
 
46
46
  def sync_detailed(
47
47
  *,
48
- client: Union[Client],
48
+ client: Client,
49
49
  ) -> Response[list["Agent"]]:
50
50
  """List all agents
51
51
 
@@ -68,7 +68,7 @@ def sync_detailed(
68
68
 
69
69
  def sync(
70
70
  *,
71
- client: Union[Client],
71
+ client: Client,
72
72
  ) -> list["Agent"] | None:
73
73
  """List all agents
74
74
 
@@ -87,7 +87,7 @@ def sync(
87
87
 
88
88
  async def asyncio_detailed(
89
89
  *,
90
- client: Union[Client],
90
+ client: Client,
91
91
  ) -> Response[list["Agent"]]:
92
92
  """List all agents
93
93
 
@@ -108,7 +108,7 @@ async def asyncio_detailed(
108
108
 
109
109
  async def asyncio(
110
110
  *,
111
- client: Union[Client],
111
+ client: Client,
112
112
  ) -> list["Agent"] | None:
113
113
  """List all agents
114
114
 
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -56,7 +56,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Age
56
56
  def sync_detailed(
57
57
  agent_name: str,
58
58
  *,
59
- client: Union[Client],
59
+ client: Client,
60
60
  body: Agent,
61
61
  ) -> Response[Agent]:
62
62
  """Update agent by name
@@ -88,7 +88,7 @@ def sync_detailed(
88
88
  def sync(
89
89
  agent_name: str,
90
90
  *,
91
- client: Union[Client],
91
+ client: Client,
92
92
  body: Agent,
93
93
  ) -> Agent | None:
94
94
  """Update agent by name
@@ -115,7 +115,7 @@ def sync(
115
115
  async def asyncio_detailed(
116
116
  agent_name: str,
117
117
  *,
118
- client: Union[Client],
118
+ client: Client,
119
119
  body: Agent,
120
120
  ) -> Response[Agent]:
121
121
  """Update agent by name
@@ -145,7 +145,7 @@ async def asyncio_detailed(
145
145
  async def asyncio(
146
146
  agent_name: str,
147
147
  *,
148
- client: Union[Client],
148
+ client: Client,
149
149
  body: Agent,
150
150
  ) -> Agent | None:
151
151
  """Update agent by name
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -54,7 +54,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[San
54
54
 
55
55
  def sync_detailed(
56
56
  *,
57
- client: Union[Client],
57
+ client: Client,
58
58
  body: Sandbox,
59
59
  ) -> Response[Sandbox]:
60
60
  """Create Sandbox
@@ -85,7 +85,7 @@ def sync_detailed(
85
85
 
86
86
  def sync(
87
87
  *,
88
- client: Union[Client],
88
+ client: Client,
89
89
  body: Sandbox,
90
90
  ) -> Sandbox | None:
91
91
  """Create Sandbox
@@ -111,7 +111,7 @@ def sync(
111
111
 
112
112
  async def asyncio_detailed(
113
113
  *,
114
- client: Union[Client],
114
+ client: Client,
115
115
  body: Sandbox,
116
116
  ) -> Response[Sandbox]:
117
117
  """Create Sandbox
@@ -140,7 +140,7 @@ async def asyncio_detailed(
140
140
 
141
141
  async def asyncio(
142
142
  *,
143
- client: Union[Client],
143
+ client: Client,
144
144
  body: Sandbox,
145
145
  ) -> Sandbox | None:
146
146
  """Create Sandbox
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -56,7 +56,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[Pre
56
56
  def sync_detailed(
57
57
  sandbox_name: str,
58
58
  *,
59
- client: Union[Client],
59
+ client: Client,
60
60
  body: Preview,
61
61
  ) -> Response[Preview]:
62
62
  """Create Sandbox Preview
@@ -90,7 +90,7 @@ def sync_detailed(
90
90
  def sync(
91
91
  sandbox_name: str,
92
92
  *,
93
- client: Union[Client],
93
+ client: Client,
94
94
  body: Preview,
95
95
  ) -> Preview | None:
96
96
  """Create Sandbox Preview
@@ -119,7 +119,7 @@ def sync(
119
119
  async def asyncio_detailed(
120
120
  sandbox_name: str,
121
121
  *,
122
- client: Union[Client],
122
+ client: Client,
123
123
  body: Preview,
124
124
  ) -> Response[Preview]:
125
125
  """Create Sandbox Preview
@@ -151,7 +151,7 @@ async def asyncio_detailed(
151
151
  async def asyncio(
152
152
  sandbox_name: str,
153
153
  *,
154
- client: Union[Client],
154
+ client: Client,
155
155
  body: Preview,
156
156
  ) -> Preview | None:
157
157
  """Create Sandbox Preview
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -58,7 +58,7 @@ def sync_detailed(
58
58
  sandbox_name: str,
59
59
  preview_name: str,
60
60
  *,
61
- client: Union[Client],
61
+ client: Client,
62
62
  body: PreviewToken,
63
63
  ) -> Response[PreviewToken]:
64
64
  """Create token for Sandbox Preview
@@ -95,7 +95,7 @@ def sync(
95
95
  sandbox_name: str,
96
96
  preview_name: str,
97
97
  *,
98
- client: Union[Client],
98
+ client: Client,
99
99
  body: PreviewToken,
100
100
  ) -> PreviewToken | None:
101
101
  """Create token for Sandbox Preview
@@ -127,7 +127,7 @@ async def asyncio_detailed(
127
127
  sandbox_name: str,
128
128
  preview_name: str,
129
129
  *,
130
- client: Union[Client],
130
+ client: Client,
131
131
  body: PreviewToken,
132
132
  ) -> Response[PreviewToken]:
133
133
  """Create token for Sandbox Preview
@@ -162,7 +162,7 @@ async def asyncio(
162
162
  sandbox_name: str,
163
163
  preview_name: str,
164
164
  *,
165
- client: Union[Client],
165
+ client: Client,
166
166
  body: PreviewToken,
167
167
  ) -> PreviewToken | None:
168
168
  """Create token for Sandbox Preview
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -43,7 +43,7 @@ def _build_response(*, client: Client, response: httpx.Response) -> Response[San
43
43
  def sync_detailed(
44
44
  sandbox_name: str,
45
45
  *,
46
- client: Union[Client],
46
+ client: Client,
47
47
  ) -> Response[Sandbox]:
48
48
  """Delete Sandbox
49
49
 
@@ -74,7 +74,7 @@ def sync_detailed(
74
74
  def sync(
75
75
  sandbox_name: str,
76
76
  *,
77
- client: Union[Client],
77
+ client: Client,
78
78
  ) -> Sandbox | None:
79
79
  """Delete Sandbox
80
80
 
@@ -100,7 +100,7 @@ def sync(
100
100
  async def asyncio_detailed(
101
101
  sandbox_name: str,
102
102
  *,
103
- client: Union[Client],
103
+ client: Client,
104
104
  ) -> Response[Sandbox]:
105
105
  """Delete Sandbox
106
106
 
@@ -129,7 +129,7 @@ async def asyncio_detailed(
129
129
  async def asyncio(
130
130
  sandbox_name: str,
131
131
  *,
132
- client: Union[Client],
132
+ client: Client,
133
133
  ) -> Sandbox | None:
134
134
  """Delete Sandbox
135
135
 
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, Union
2
+ from typing import Any
3
3
 
4
4
  import httpx
5
5
 
@@ -45,7 +45,7 @@ def sync_detailed(
45
45
  sandbox_name: str,
46
46
  preview_name: str,
47
47
  *,
48
- client: Union[Client],
48
+ client: Client,
49
49
  ) -> Response[Preview]:
50
50
  """Delete Sandbox Preview
51
51
 
@@ -79,7 +79,7 @@ def sync(
79
79
  sandbox_name: str,
80
80
  preview_name: str,
81
81
  *,
82
- client: Union[Client],
82
+ client: Client,
83
83
  ) -> Preview | None:
84
84
  """Delete Sandbox Preview
85
85
 
@@ -108,7 +108,7 @@ async def asyncio_detailed(
108
108
  sandbox_name: str,
109
109
  preview_name: str,
110
110
  *,
111
- client: Union[Client],
111
+ client: Client,
112
112
  ) -> Response[Preview]:
113
113
  """Delete Sandbox Preview
114
114
 
@@ -140,7 +140,7 @@ async def asyncio(
140
140
  sandbox_name: str,
141
141
  preview_name: str,
142
142
  *,
143
- client: Union[Client],
143
+ client: Client,
144
144
  ) -> Preview | None:
145
145
  """Delete Sandbox Preview
146
146