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
@@ -73,7 +73,6 @@ class Runtime:
73
73
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
74
74
 
75
75
  def to_dict(self) -> dict[str, Any]:
76
-
77
76
  args: Union[Unset, list[Any]] = UNSET
78
77
  if not isinstance(self.args, Unset):
79
78
  args = self.args
@@ -203,7 +202,7 @@ class Runtime:
203
202
  return field_dict
204
203
 
205
204
  @classmethod
206
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
205
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
207
206
  from ..models.port import Port
208
207
  from ..models.runtime_configuration import RuntimeConfiguration
209
208
  from ..models.runtime_startup_probe import RuntimeStartupProbe
@@ -224,7 +223,7 @@ class Runtime:
224
223
 
225
224
  cpu = d.pop("cpu", UNSET)
226
225
 
227
- endpoint_name = d.pop("endpointName", UNSET)
226
+ endpoint_name = d.pop("endpointName", d.pop("endpoint_name", UNSET))
228
227
 
229
228
  envs = cast(list[Any], d.pop("envs", UNSET))
230
229
 
@@ -234,17 +233,17 @@ class Runtime:
234
233
 
235
234
  image = d.pop("image", UNSET)
236
235
 
237
- max_concurrent_tasks = d.pop("maxConcurrentTasks", UNSET)
236
+ max_concurrent_tasks = d.pop("maxConcurrentTasks", d.pop("max_concurrent_tasks", UNSET))
238
237
 
239
- max_retries = d.pop("maxRetries", UNSET)
238
+ max_retries = d.pop("maxRetries", d.pop("max_retries", UNSET))
240
239
 
241
- max_scale = d.pop("maxScale", UNSET)
240
+ max_scale = d.pop("maxScale", d.pop("max_scale", UNSET))
242
241
 
243
242
  memory = d.pop("memory", UNSET)
244
243
 
245
- metric_port = d.pop("metricPort", UNSET)
244
+ metric_port = d.pop("metricPort", d.pop("metric_port", UNSET))
246
245
 
247
- min_scale = d.pop("minScale", UNSET)
246
+ min_scale = d.pop("minScale", d.pop("min_scale", UNSET))
248
247
 
249
248
  model = d.pop("model", UNSET)
250
249
 
@@ -257,7 +256,7 @@ class Runtime:
257
256
 
258
257
  ports.append(componentsschemas_ports_item)
259
258
 
260
- _startup_probe = d.pop("startupProbe", UNSET)
259
+ _startup_probe = d.pop("startupProbe", d.pop("startup_probe", UNSET))
261
260
  startup_probe: Union[Unset, RuntimeStartupProbe]
262
261
  if isinstance(_startup_probe, Unset):
263
262
  startup_probe = UNSET
@@ -270,7 +269,7 @@ class Runtime:
270
269
 
271
270
  ttl = d.pop("ttl", UNSET)
272
271
 
273
- type_ = d.pop("type", UNSET)
272
+ type_ = d.pop("type", d.pop("type_", UNSET))
274
273
 
275
274
  runtime = cls(
276
275
  args=args,
@@ -19,7 +19,7 @@ class RuntimeConfiguration:
19
19
  return field_dict
20
20
 
21
21
  @classmethod
22
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
22
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
23
23
  if not src_dict:
24
24
  return None
25
25
  d = src_dict.copy()
@@ -19,7 +19,7 @@ class RuntimeStartupProbe:
19
19
  return field_dict
20
20
 
21
21
  @classmethod
22
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
22
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
23
23
  if not src_dict:
24
24
  return None
25
25
  d = src_dict.copy()
@@ -36,7 +36,6 @@ class Sandbox:
36
36
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
37
37
 
38
38
  def to_dict(self) -> dict[str, Any]:
39
-
40
39
  events: Union[Unset, list[dict[str, Any]]] = UNSET
41
40
  if not isinstance(self.events, Unset):
42
41
  events = []
@@ -44,13 +43,19 @@ class Sandbox:
44
43
  if type(componentsschemas_core_events_item_data) is dict:
45
44
  componentsschemas_core_events_item = componentsschemas_core_events_item_data
46
45
  else:
47
- componentsschemas_core_events_item = componentsschemas_core_events_item_data.to_dict()
46
+ componentsschemas_core_events_item = (
47
+ componentsschemas_core_events_item_data.to_dict()
48
+ )
48
49
  events.append(componentsschemas_core_events_item)
49
50
 
50
51
  last_used_at = self.last_used_at
51
52
 
52
53
  metadata: Union[Unset, dict[str, Any]] = UNSET
53
- if self.metadata and not isinstance(self.metadata, Unset) and not isinstance(self.metadata, dict):
54
+ if (
55
+ self.metadata
56
+ and not isinstance(self.metadata, Unset)
57
+ and not isinstance(self.metadata, dict)
58
+ ):
54
59
  metadata = self.metadata.to_dict()
55
60
  elif self.metadata and isinstance(self.metadata, dict):
56
61
  metadata = self.metadata
@@ -84,7 +89,7 @@ class Sandbox:
84
89
  return field_dict
85
90
 
86
91
  @classmethod
87
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
92
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
88
93
  from ..models.core_event import CoreEvent
89
94
  from ..models.metadata import Metadata
90
95
  from ..models.sandbox_spec import SandboxSpec
@@ -95,11 +100,13 @@ class Sandbox:
95
100
  events = []
96
101
  _events = d.pop("events", UNSET)
97
102
  for componentsschemas_core_events_item_data in _events or []:
98
- componentsschemas_core_events_item = CoreEvent.from_dict(componentsschemas_core_events_item_data)
103
+ componentsschemas_core_events_item = CoreEvent.from_dict(
104
+ componentsschemas_core_events_item_data
105
+ )
99
106
 
100
107
  events.append(componentsschemas_core_events_item)
101
108
 
102
- last_used_at = d.pop("lastUsedAt", UNSET)
109
+ last_used_at = d.pop("lastUsedAt", d.pop("last_used_at", UNSET))
103
110
 
104
111
  _metadata = d.pop("metadata", UNSET)
105
112
  metadata: Union[Unset, Metadata]
@@ -50,7 +50,6 @@ class SandboxDefinition:
50
50
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
51
51
 
52
52
  def to_dict(self) -> dict[str, Any]:
53
-
54
53
  categories: Union[Unset, list[Any]] = UNSET
55
54
  if not isinstance(self.categories, Unset):
56
55
  categories = self.categories
@@ -124,7 +123,7 @@ class SandboxDefinition:
124
123
  return field_dict
125
124
 
126
125
  @classmethod
127
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
126
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
128
127
  from ..models.port import Port
129
128
 
130
129
  if not src_dict:
@@ -136,7 +135,7 @@ class SandboxDefinition:
136
135
 
137
136
  description = d.pop("description", UNSET)
138
137
 
139
- display_name = d.pop("displayName", UNSET)
138
+ display_name = d.pop("displayName", d.pop("display_name", UNSET))
140
139
 
141
140
  enterprise = d.pop("enterprise", UNSET)
142
141
 
@@ -146,7 +145,7 @@ class SandboxDefinition:
146
145
 
147
146
  image = d.pop("image", UNSET)
148
147
 
149
- long_description = d.pop("longDescription", UNSET)
148
+ long_description = d.pop("longDescription", d.pop("long_description", UNSET))
150
149
 
151
150
  memory = d.pop("memory", UNSET)
152
151
 
@@ -24,7 +24,6 @@ class SandboxLifecycle:
24
24
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
25
25
 
26
26
  def to_dict(self) -> dict[str, Any]:
27
-
28
27
  expiration_policies: Union[Unset, list[dict[str, Any]]] = UNSET
29
28
  if not isinstance(self.expiration_policies, Unset):
30
29
  expiration_policies = []
@@ -44,14 +43,14 @@ class SandboxLifecycle:
44
43
  return field_dict
45
44
 
46
45
  @classmethod
47
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
46
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
48
47
  from ..models.expiration_policy import ExpirationPolicy
49
48
 
50
49
  if not src_dict:
51
50
  return None
52
51
  d = src_dict.copy()
53
52
  expiration_policies = []
54
- _expiration_policies = d.pop("expirationPolicies", UNSET)
53
+ _expiration_policies = d.pop("expirationPolicies", d.pop("expiration_policies", UNSET))
55
54
  for expiration_policies_item_data in _expiration_policies or []:
56
55
  expiration_policies_item = ExpirationPolicy.from_dict(expiration_policies_item_data)
57
56
 
@@ -49,7 +49,7 @@ class SandboxMetrics:
49
49
  return field_dict
50
50
 
51
51
  @classmethod
52
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
52
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
53
53
  if not src_dict:
54
54
  return None
55
55
  d = src_dict.copy()
@@ -49,7 +49,6 @@ class SandboxSpec:
49
49
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
50
50
 
51
51
  def to_dict(self) -> dict[str, Any]:
52
-
53
52
  configurations: Union[Unset, dict[str, Any]] = UNSET
54
53
  if (
55
54
  self.configurations
@@ -81,13 +80,21 @@ class SandboxSpec:
81
80
  policies = self.policies
82
81
 
83
82
  revision: Union[Unset, dict[str, Any]] = UNSET
84
- if self.revision and not isinstance(self.revision, Unset) and not isinstance(self.revision, dict):
83
+ if (
84
+ self.revision
85
+ and not isinstance(self.revision, Unset)
86
+ and not isinstance(self.revision, dict)
87
+ ):
85
88
  revision = self.revision.to_dict()
86
89
  elif self.revision and isinstance(self.revision, dict):
87
90
  revision = self.revision
88
91
 
89
92
  runtime: Union[Unset, dict[str, Any]] = UNSET
90
- if self.runtime and not isinstance(self.runtime, Unset) and not isinstance(self.runtime, dict):
93
+ if (
94
+ self.runtime
95
+ and not isinstance(self.runtime, Unset)
96
+ and not isinstance(self.runtime, dict)
97
+ ):
91
98
  runtime = self.runtime.to_dict()
92
99
  elif self.runtime and isinstance(self.runtime, dict):
93
100
  runtime = self.runtime
@@ -95,7 +102,11 @@ class SandboxSpec:
95
102
  sandbox = self.sandbox
96
103
 
97
104
  lifecycle: Union[Unset, dict[str, Any]] = UNSET
98
- if self.lifecycle and not isinstance(self.lifecycle, Unset) and not isinstance(self.lifecycle, dict):
105
+ if (
106
+ self.lifecycle
107
+ and not isinstance(self.lifecycle, Unset)
108
+ and not isinstance(self.lifecycle, dict)
109
+ ):
99
110
  lifecycle = self.lifecycle.to_dict()
100
111
  elif self.lifecycle and isinstance(self.lifecycle, dict):
101
112
  lifecycle = self.lifecycle
@@ -107,9 +118,13 @@ class SandboxSpec:
107
118
  volumes = []
108
119
  for componentsschemas_volume_attachments_item_data in self.volumes:
109
120
  if type(componentsschemas_volume_attachments_item_data) is dict:
110
- componentsschemas_volume_attachments_item = componentsschemas_volume_attachments_item_data
121
+ componentsschemas_volume_attachments_item = (
122
+ componentsschemas_volume_attachments_item_data
123
+ )
111
124
  else:
112
- componentsschemas_volume_attachments_item = componentsschemas_volume_attachments_item_data.to_dict()
125
+ componentsschemas_volume_attachments_item = (
126
+ componentsschemas_volume_attachments_item_data.to_dict()
127
+ )
113
128
  volumes.append(componentsschemas_volume_attachments_item)
114
129
 
115
130
  field_dict: dict[str, Any] = {}
@@ -141,7 +156,7 @@ class SandboxSpec:
141
156
  return field_dict
142
157
 
143
158
  @classmethod
144
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
159
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
145
160
  from ..models.core_spec_configurations import CoreSpecConfigurations
146
161
  from ..models.flavor import Flavor
147
162
  from ..models.revision_configuration import RevisionConfiguration
@@ -168,7 +183,9 @@ class SandboxSpec:
168
183
 
169
184
  flavors.append(componentsschemas_flavors_item)
170
185
 
171
- integration_connections = cast(list[str], d.pop("integrationConnections", UNSET))
186
+ integration_connections = cast(
187
+ list[str], d.pop("integrationConnections", d.pop("integration_connections", UNSET))
188
+ )
172
189
 
173
190
  policies = cast(list[str], d.pop("policies", UNSET))
174
191
 
@@ -33,7 +33,6 @@ class ServerlessConfig:
33
33
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
34
34
 
35
35
  def to_dict(self) -> dict[str, Any]:
36
-
37
36
  configuration: Union[Unset, dict[str, Any]] = UNSET
38
37
  if (
39
38
  self.configuration
@@ -69,7 +68,7 @@ class ServerlessConfig:
69
68
  return field_dict
70
69
 
71
70
  @classmethod
72
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
71
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
73
72
  from ..models.serverless_config_configuration import ServerlessConfigConfiguration
74
73
 
75
74
  if not src_dict:
@@ -82,11 +81,11 @@ class ServerlessConfig:
82
81
  else:
83
82
  configuration = ServerlessConfigConfiguration.from_dict(_configuration)
84
83
 
85
- max_retries = d.pop("maxRetries", UNSET)
84
+ max_retries = d.pop("maxRetries", d.pop("max_retries", UNSET))
86
85
 
87
- max_scale = d.pop("maxScale", UNSET)
86
+ max_scale = d.pop("maxScale", d.pop("max_scale", UNSET))
88
87
 
89
- min_scale = d.pop("minScale", UNSET)
88
+ min_scale = d.pop("minScale", d.pop("min_scale", UNSET))
90
89
 
91
90
  timeout = d.pop("timeout", UNSET)
92
91
 
@@ -19,7 +19,7 @@ class ServerlessConfigConfiguration:
19
19
  return field_dict
20
20
 
21
21
  @classmethod
22
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
22
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
23
23
  if not src_dict:
24
24
  return None
25
25
  d = src_dict.copy()
@@ -37,7 +37,7 @@ class SpecConfiguration:
37
37
  return field_dict
38
38
 
39
39
  @classmethod
40
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
40
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
41
41
  if not src_dict:
42
42
  return None
43
43
  d = src_dict.copy()
@@ -28,11 +28,14 @@ class StartSandbox:
28
28
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
29
29
 
30
30
  def to_dict(self) -> dict[str, Any]:
31
-
32
31
  message = self.message
33
32
 
34
33
  metadata: Union[Unset, dict[str, Any]] = UNSET
35
- if self.metadata and not isinstance(self.metadata, Unset) and not isinstance(self.metadata, dict):
34
+ if (
35
+ self.metadata
36
+ and not isinstance(self.metadata, Unset)
37
+ and not isinstance(self.metadata, dict)
38
+ ):
36
39
  metadata = self.metadata.to_dict()
37
40
  elif self.metadata and isinstance(self.metadata, dict):
38
41
  metadata = self.metadata
@@ -52,7 +55,7 @@ class StartSandbox:
52
55
  return field_dict
53
56
 
54
57
  @classmethod
55
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
58
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
56
59
  from ..models.metadata import Metadata
57
60
 
58
61
  if not src_dict:
@@ -28,11 +28,14 @@ class StopSandbox:
28
28
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
29
29
 
30
30
  def to_dict(self) -> dict[str, Any]:
31
-
32
31
  message = self.message
33
32
 
34
33
  metadata: Union[Unset, dict[str, Any]] = UNSET
35
- if self.metadata and not isinstance(self.metadata, Unset) and not isinstance(self.metadata, dict):
34
+ if (
35
+ self.metadata
36
+ and not isinstance(self.metadata, Unset)
37
+ and not isinstance(self.metadata, dict)
38
+ ):
36
39
  metadata = self.metadata.to_dict()
37
40
  elif self.metadata and isinstance(self.metadata, dict):
38
41
  metadata = self.metadata
@@ -52,7 +55,7 @@ class StopSandbox:
52
55
  return field_dict
53
56
 
54
57
  @classmethod
55
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
58
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
56
59
  from ..models.metadata import Metadata
57
60
 
58
61
  if not src_dict:
@@ -45,7 +45,6 @@ class StoreAgent:
45
45
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
46
46
 
47
47
  def to_dict(self) -> dict[str, Any]:
48
-
49
48
  created_at = self.created_at
50
49
 
51
50
  updated_at = self.updated_at
@@ -109,20 +108,20 @@ class StoreAgent:
109
108
  return field_dict
110
109
 
111
110
  @classmethod
112
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
111
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
113
112
  from ..models.store_agent_labels import StoreAgentLabels
114
113
  from ..models.store_configuration import StoreConfiguration
115
114
 
116
115
  if not src_dict:
117
116
  return None
118
117
  d = src_dict.copy()
119
- created_at = d.pop("createdAt", UNSET)
118
+ created_at = d.pop("createdAt", d.pop("created_at", UNSET))
120
119
 
121
- updated_at = d.pop("updatedAt", UNSET)
120
+ updated_at = d.pop("updatedAt", d.pop("updated_at", UNSET))
122
121
 
123
- created_by = d.pop("createdBy", UNSET)
122
+ created_by = d.pop("createdBy", d.pop("created_by", UNSET))
124
123
 
125
- updated_by = d.pop("updatedBy", UNSET)
124
+ updated_by = d.pop("updatedBy", d.pop("updated_by", UNSET))
126
125
 
127
126
  configuration = []
128
127
  _configuration = d.pop("configuration", UNSET)
@@ -133,7 +132,7 @@ class StoreAgent:
133
132
 
134
133
  description = d.pop("description", UNSET)
135
134
 
136
- display_name = d.pop("displayName", UNSET)
135
+ display_name = d.pop("displayName", d.pop("display_name", UNSET))
137
136
 
138
137
  image = d.pop("image", UNSET)
139
138
 
@@ -19,7 +19,7 @@ class StoreAgentLabels:
19
19
  return field_dict
20
20
 
21
21
  @classmethod
22
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
22
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
23
23
  if not src_dict:
24
24
  return None
25
25
  d = src_dict.copy()
@@ -40,7 +40,6 @@ class StoreConfiguration:
40
40
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
41
41
 
42
42
  def to_dict(self) -> dict[str, Any]:
43
-
44
43
  available_models: Union[Unset, list[str]] = UNSET
45
44
  if not isinstance(self.available_models, Unset):
46
45
  available_models = self.available_models
@@ -94,19 +93,21 @@ class StoreConfiguration:
94
93
  return field_dict
95
94
 
96
95
  @classmethod
97
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
96
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
98
97
  from ..models.store_configuration_option import StoreConfigurationOption
99
98
 
100
99
  if not src_dict:
101
100
  return None
102
101
  d = src_dict.copy()
103
- available_models = cast(list[str], d.pop("availableModels", UNSET))
102
+ available_models = cast(
103
+ list[str], d.pop("availableModels", d.pop("available_models", UNSET))
104
+ )
104
105
 
105
106
  description = d.pop("description", UNSET)
106
107
 
107
- display_name = d.pop("displayName", UNSET)
108
+ display_name = d.pop("displayName", d.pop("display_name", UNSET))
108
109
 
109
- if_ = d.pop("if", UNSET)
110
+ if_ = d.pop("if", d.pop("if_", UNSET))
110
111
 
111
112
  name = d.pop("name", UNSET)
112
113
 
@@ -121,7 +122,7 @@ class StoreConfiguration:
121
122
 
122
123
  secret = d.pop("secret", UNSET)
123
124
 
124
- type_ = d.pop("type", UNSET)
125
+ type_ = d.pop("type", d.pop("type_", UNSET))
125
126
 
126
127
  store_configuration = cls(
127
128
  available_models=available_models,
@@ -43,11 +43,11 @@ class StoreConfigurationOption:
43
43
  return field_dict
44
44
 
45
45
  @classmethod
46
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
46
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
47
47
  if not src_dict:
48
48
  return None
49
49
  d = src_dict.copy()
50
- if_ = d.pop("if", UNSET)
50
+ if_ = d.pop("if", d.pop("if_", UNSET))
51
51
 
52
52
  label = d.pop("label", UNSET)
53
53
 
@@ -46,7 +46,6 @@ class Template:
46
46
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
47
47
 
48
48
  def to_dict(self) -> dict[str, Any]:
49
-
50
49
  default_branch = self.default_branch
51
50
 
52
51
  description = self.description
@@ -112,29 +111,29 @@ class Template:
112
111
  return field_dict
113
112
 
114
113
  @classmethod
115
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
114
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
116
115
  from ..models.template_variable import TemplateVariable
117
116
 
118
117
  if not src_dict:
119
118
  return None
120
119
  d = src_dict.copy()
121
- default_branch = d.pop("defaultBranch", UNSET)
120
+ default_branch = d.pop("defaultBranch", d.pop("default_branch", UNSET))
122
121
 
123
122
  description = d.pop("description", UNSET)
124
123
 
125
- download_count = d.pop("downloadCount", UNSET)
124
+ download_count = d.pop("downloadCount", d.pop("download_count", UNSET))
126
125
 
127
- forks_count = d.pop("forksCount", UNSET)
126
+ forks_count = d.pop("forksCount", d.pop("forks_count", UNSET))
128
127
 
129
128
  icon = d.pop("icon", UNSET)
130
129
 
131
- icon_dark = d.pop("iconDark", UNSET)
130
+ icon_dark = d.pop("iconDark", d.pop("icon_dark", UNSET))
132
131
 
133
132
  name = d.pop("name", UNSET)
134
133
 
135
134
  sha = d.pop("sha", UNSET)
136
135
 
137
- star_count = d.pop("starCount", UNSET)
136
+ star_count = d.pop("starCount", d.pop("star_count", UNSET))
138
137
 
139
138
  topics = cast(list[str], d.pop("topics", UNSET))
140
139
 
@@ -55,7 +55,7 @@ class TemplateVariable:
55
55
  return field_dict
56
56
 
57
57
  @classmethod
58
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
58
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
59
59
  if not src_dict:
60
60
  return None
61
61
  d = src_dict.copy()
@@ -37,13 +37,13 @@ class TimeFields:
37
37
  return field_dict
38
38
 
39
39
  @classmethod
40
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
40
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
41
41
  if not src_dict:
42
42
  return None
43
43
  d = src_dict.copy()
44
- created_at = d.pop("createdAt", UNSET)
44
+ created_at = d.pop("createdAt", d.pop("created_at", UNSET))
45
45
 
46
- updated_at = d.pop("updatedAt", UNSET)
46
+ updated_at = d.pop("updatedAt", d.pop("updated_at", UNSET))
47
47
 
48
48
  time_fields = cls(
49
49
  created_at=created_at,
@@ -25,7 +25,6 @@ class TimeToFirstTokenOverTimeMetrics:
25
25
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
26
26
 
27
27
  def to_dict(self) -> dict[str, Any]:
28
-
29
28
  time_to_first_token_over_time: Union[Unset, list[dict[str, Any]]] = UNSET
30
29
  if not isinstance(self.time_to_first_token_over_time, Unset):
31
30
  time_to_first_token_over_time = []
@@ -33,7 +32,9 @@ class TimeToFirstTokenOverTimeMetrics:
33
32
  if type(time_to_first_token_over_time_item_data) is dict:
34
33
  time_to_first_token_over_time_item = time_to_first_token_over_time_item_data
35
34
  else:
36
- time_to_first_token_over_time_item = time_to_first_token_over_time_item_data.to_dict()
35
+ time_to_first_token_over_time_item = (
36
+ time_to_first_token_over_time_item_data.to_dict()
37
+ )
37
38
  time_to_first_token_over_time.append(time_to_first_token_over_time_item)
38
39
 
39
40
  field_dict: dict[str, Any] = {}
@@ -45,14 +46,16 @@ class TimeToFirstTokenOverTimeMetrics:
45
46
  return field_dict
46
47
 
47
48
  @classmethod
48
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
49
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
49
50
  from ..models.request_duration_over_time_metric import RequestDurationOverTimeMetric
50
51
 
51
52
  if not src_dict:
52
53
  return None
53
54
  d = src_dict.copy()
54
55
  time_to_first_token_over_time = []
55
- _time_to_first_token_over_time = d.pop("timeToFirstTokenOverTime", UNSET)
56
+ _time_to_first_token_over_time = d.pop(
57
+ "timeToFirstTokenOverTime", d.pop("time_to_first_token_over_time", UNSET)
58
+ )
56
59
  for time_to_first_token_over_time_item_data in _time_to_first_token_over_time or []:
57
60
  time_to_first_token_over_time_item = RequestDurationOverTimeMetric.from_dict(
58
61
  time_to_first_token_over_time_item_data
@@ -61,7 +61,7 @@ class TokenRateMetric:
61
61
  return field_dict
62
62
 
63
63
  @classmethod
64
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
64
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
65
65
  if not src_dict:
66
66
  return None
67
67
  d = src_dict.copy()
@@ -69,11 +69,11 @@ class TokenRateMetric:
69
69
 
70
70
  provider = d.pop("provider", UNSET)
71
71
 
72
- provider_name = d.pop("providerName", UNSET)
72
+ provider_name = d.pop("providerName", d.pop("provider_name", UNSET))
73
73
 
74
74
  timestamp = d.pop("timestamp", UNSET)
75
75
 
76
- token_total = d.pop("tokenTotal", UNSET)
76
+ token_total = d.pop("tokenTotal", d.pop("token_total", UNSET))
77
77
 
78
78
  trend = d.pop("trend", UNSET)
79
79