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
@@ -37,7 +37,6 @@ class RequestTotalMetric:
37
37
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
38
38
 
39
39
  def to_dict(self) -> dict[str, Any]:
40
-
41
40
  items: Union[Unset, list[dict[str, Any]]] = UNSET
42
41
  if not isinstance(self.items, Unset):
43
42
  items = []
@@ -63,7 +62,11 @@ class RequestTotalMetric:
63
62
  rps = self.rps
64
63
 
65
64
  rps_per_code: Union[Unset, dict[str, Any]] = UNSET
66
- if self.rps_per_code and not isinstance(self.rps_per_code, Unset) and not isinstance(self.rps_per_code, dict):
65
+ if (
66
+ self.rps_per_code
67
+ and not isinstance(self.rps_per_code, Unset)
68
+ and not isinstance(self.rps_per_code, dict)
69
+ ):
67
70
  rps_per_code = self.rps_per_code.to_dict()
68
71
  elif self.rps_per_code and isinstance(self.rps_per_code, dict):
69
72
  rps_per_code = self.rps_per_code
@@ -85,7 +88,7 @@ class RequestTotalMetric:
85
88
  return field_dict
86
89
 
87
90
  @classmethod
88
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
91
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
89
92
  from ..models.request_total_metric_request_total_per_code import (
90
93
  RequestTotalMetricRequestTotalPerCode,
91
94
  )
@@ -102,18 +105,22 @@ class RequestTotalMetric:
102
105
 
103
106
  items.append(items_item)
104
107
 
105
- request_total = d.pop("requestTotal", UNSET)
108
+ request_total = d.pop("requestTotal", d.pop("request_total", UNSET))
106
109
 
107
- _request_total_per_code = d.pop("requestTotalPerCode", UNSET)
110
+ _request_total_per_code = d.pop(
111
+ "requestTotalPerCode", d.pop("request_total_per_code", UNSET)
112
+ )
108
113
  request_total_per_code: Union[Unset, RequestTotalMetricRequestTotalPerCode]
109
114
  if isinstance(_request_total_per_code, Unset):
110
115
  request_total_per_code = UNSET
111
116
  else:
112
- request_total_per_code = RequestTotalMetricRequestTotalPerCode.from_dict(_request_total_per_code)
117
+ request_total_per_code = RequestTotalMetricRequestTotalPerCode.from_dict(
118
+ _request_total_per_code
119
+ )
113
120
 
114
121
  rps = d.pop("rps", UNSET)
115
122
 
116
- _rps_per_code = d.pop("rpsPerCode", UNSET)
123
+ _rps_per_code = d.pop("rpsPerCode", d.pop("rps_per_code", UNSET))
117
124
  rps_per_code: Union[Unset, RequestTotalMetricRpsPerCode]
118
125
  if isinstance(_rps_per_code, Unset):
119
126
  rps_per_code = UNSET
@@ -19,7 +19,7 @@ class RequestTotalMetricRequestTotalPerCode:
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 RequestTotalMetricRpsPerCode:
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()
@@ -55,17 +55,17 @@ class RequestTotalResponseData:
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()
62
- request_total = d.pop("requestTotal", UNSET)
62
+ request_total = d.pop("requestTotal", d.pop("request_total", UNSET))
63
63
 
64
- status_code = d.pop("statusCode", UNSET)
64
+ status_code = d.pop("statusCode", d.pop("status_code", UNSET))
65
65
 
66
- workload_id = d.pop("workloadId", UNSET)
66
+ workload_id = d.pop("workloadId", d.pop("workload_id", UNSET))
67
67
 
68
- workload_type = d.pop("workloadType", UNSET)
68
+ workload_type = d.pop("workloadType", d.pop("workload_type", UNSET))
69
69
 
70
70
  workspace = d.pop("workspace", UNSET)
71
71
 
@@ -55,19 +55,21 @@ class Resource:
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()
62
- infrastructure_generation = d.pop("infrastructureGeneration", UNSET)
62
+ infrastructure_generation = d.pop(
63
+ "infrastructureGeneration", d.pop("infrastructure_generation", UNSET)
64
+ )
63
65
 
64
66
  name = d.pop("name", UNSET)
65
67
 
66
- type_ = d.pop("type", UNSET)
68
+ type_ = d.pop("type", d.pop("type_", UNSET))
67
69
 
68
70
  workspace = d.pop("workspace", UNSET)
69
71
 
70
- workspace_id = d.pop("workspaceId", UNSET)
72
+ workspace_id = d.pop("workspaceId", d.pop("workspace_id", UNSET))
71
73
 
72
74
  resource = cls(
73
75
  infrastructure_generation=infrastructure_generation,
@@ -49,7 +49,7 @@ class ResourceLog:
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()
@@ -79,7 +79,7 @@ class ResourceLogChart:
79
79
  return field_dict
80
80
 
81
81
  @classmethod
82
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
82
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
83
83
  if not src_dict:
84
84
  return None
85
85
  d = src_dict.copy()
@@ -47,7 +47,7 @@ class ResourceLogResponse:
47
47
  return field_dict
48
48
 
49
49
  @classmethod
50
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
50
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
51
51
  if not src_dict:
52
52
  return None
53
53
  d = src_dict.copy()
@@ -55,7 +55,7 @@ class ResourceLogResponse:
55
55
 
56
56
  logs = cast(list[Any], d.pop("logs", UNSET))
57
57
 
58
- total_count = d.pop("totalCount", UNSET)
58
+ total_count = d.pop("totalCount", d.pop("total_count", UNSET))
59
59
 
60
60
  resource_log_response = cls(
61
61
  chart=chart,
@@ -82,7 +82,9 @@ class ResourceMetrics:
82
82
  request_total_by_origin: Union[Unset, "RequestTotalByOriginMetric"] = UNSET
83
83
  request_total_by_origin_previous: Union[Unset, "RequestTotalByOriginMetric"] = UNSET
84
84
  request_total_per_code: Union[Unset, "ResourceMetricsRequestTotalPerCode"] = UNSET
85
- request_total_per_code_previous: Union[Unset, "ResourceMetricsRequestTotalPerCodePrevious"] = UNSET
85
+ request_total_per_code_previous: Union[Unset, "ResourceMetricsRequestTotalPerCodePrevious"] = (
86
+ UNSET
87
+ )
86
88
  request_total_previous: Union[Unset, float] = UNSET
87
89
  rps: Union[Unset, float] = UNSET
88
90
  rps_per_code: Union[Unset, "ResourceMetricsRpsPerCode"] = UNSET
@@ -95,7 +97,6 @@ class ResourceMetrics:
95
97
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
96
98
 
97
99
  def to_dict(self) -> dict[str, Any]:
98
-
99
100
  billable_time: Union[Unset, dict[str, Any]] = UNSET
100
101
  if (
101
102
  self.billable_time
@@ -113,7 +114,9 @@ class ResourceMetrics:
113
114
  if type(componentsschemas_array_metric_item_data) is dict:
114
115
  componentsschemas_array_metric_item = componentsschemas_array_metric_item_data
115
116
  else:
116
- componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
117
+ componentsschemas_array_metric_item = (
118
+ componentsschemas_array_metric_item_data.to_dict()
119
+ )
117
120
  inference_errors_global.append(componentsschemas_array_metric_item)
118
121
 
119
122
  inference_global: Union[Unset, list[dict[str, Any]]] = UNSET
@@ -123,7 +126,9 @@ class ResourceMetrics:
123
126
  if type(componentsschemas_array_metric_item_data) is dict:
124
127
  componentsschemas_array_metric_item = componentsschemas_array_metric_item_data
125
128
  else:
126
- componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
129
+ componentsschemas_array_metric_item = (
130
+ componentsschemas_array_metric_item_data.to_dict()
131
+ )
127
132
  inference_global.append(componentsschemas_array_metric_item)
128
133
 
129
134
  last_n_requests: Union[Unset, list[dict[str, Any]]] = UNSET
@@ -137,7 +142,11 @@ class ResourceMetrics:
137
142
  last_n_requests.append(last_n_requests_item)
138
143
 
139
144
  latency: Union[Unset, dict[str, Any]] = UNSET
140
- if self.latency and not isinstance(self.latency, Unset) and not isinstance(self.latency, dict):
145
+ if (
146
+ self.latency
147
+ and not isinstance(self.latency, Unset)
148
+ and not isinstance(self.latency, dict)
149
+ ):
141
150
  latency = self.latency.to_dict()
142
151
  elif self.latency and isinstance(self.latency, dict):
143
152
  latency = self.latency
@@ -163,7 +172,11 @@ class ResourceMetrics:
163
172
  memory_allocation = self.memory_allocation
164
173
 
165
174
  model_ttft: Union[Unset, dict[str, Any]] = UNSET
166
- if self.model_ttft and not isinstance(self.model_ttft, Unset) and not isinstance(self.model_ttft, dict):
175
+ if (
176
+ self.model_ttft
177
+ and not isinstance(self.model_ttft, Unset)
178
+ and not isinstance(self.model_ttft, dict)
179
+ ):
167
180
  model_ttft = self.model_ttft.to_dict()
168
181
  elif self.model_ttft and isinstance(self.model_ttft, dict):
169
182
  model_ttft = self.model_ttft
@@ -207,7 +220,9 @@ class ResourceMetrics:
207
220
  and not isinstance(self.request_total_by_origin_previous, dict)
208
221
  ):
209
222
  request_total_by_origin_previous = self.request_total_by_origin_previous.to_dict()
210
- elif self.request_total_by_origin_previous and isinstance(self.request_total_by_origin_previous, dict):
223
+ elif self.request_total_by_origin_previous and isinstance(
224
+ self.request_total_by_origin_previous, dict
225
+ ):
211
226
  request_total_by_origin_previous = self.request_total_by_origin_previous
212
227
 
213
228
  request_total_per_code: Union[Unset, dict[str, Any]] = UNSET
@@ -227,7 +242,9 @@ class ResourceMetrics:
227
242
  and not isinstance(self.request_total_per_code_previous, dict)
228
243
  ):
229
244
  request_total_per_code_previous = self.request_total_per_code_previous.to_dict()
230
- elif self.request_total_per_code_previous and isinstance(self.request_total_per_code_previous, dict):
245
+ elif self.request_total_per_code_previous and isinstance(
246
+ self.request_total_per_code_previous, dict
247
+ ):
231
248
  request_total_per_code_previous = self.request_total_per_code_previous
232
249
 
233
250
  request_total_previous = self.request_total_previous
@@ -235,7 +252,11 @@ class ResourceMetrics:
235
252
  rps = self.rps
236
253
 
237
254
  rps_per_code: Union[Unset, dict[str, Any]] = UNSET
238
- if self.rps_per_code and not isinstance(self.rps_per_code, Unset) and not isinstance(self.rps_per_code, dict):
255
+ if (
256
+ self.rps_per_code
257
+ and not isinstance(self.rps_per_code, Unset)
258
+ and not isinstance(self.rps_per_code, dict)
259
+ ):
239
260
  rps_per_code = self.rps_per_code.to_dict()
240
261
  elif self.rps_per_code and isinstance(self.rps_per_code, dict):
241
262
  rps_per_code = self.rps_per_code
@@ -273,13 +294,21 @@ class ResourceMetrics:
273
294
  sandboxes_ram_usage.append(sandboxes_ram_usage_item)
274
295
 
275
296
  token_rate: Union[Unset, dict[str, Any]] = UNSET
276
- if self.token_rate and not isinstance(self.token_rate, Unset) and not isinstance(self.token_rate, dict):
297
+ if (
298
+ self.token_rate
299
+ and not isinstance(self.token_rate, Unset)
300
+ and not isinstance(self.token_rate, dict)
301
+ ):
277
302
  token_rate = self.token_rate.to_dict()
278
303
  elif self.token_rate and isinstance(self.token_rate, dict):
279
304
  token_rate = self.token_rate
280
305
 
281
306
  token_total: Union[Unset, dict[str, Any]] = UNSET
282
- if self.token_total and not isinstance(self.token_total, Unset) and not isinstance(self.token_total, dict):
307
+ if (
308
+ self.token_total
309
+ and not isinstance(self.token_total, Unset)
310
+ and not isinstance(self.token_total, dict)
311
+ ):
283
312
  token_total = self.token_total.to_dict()
284
313
  elif self.token_total and isinstance(self.token_total, dict):
285
314
  token_total = self.token_total
@@ -339,7 +368,7 @@ class ResourceMetrics:
339
368
  return field_dict
340
369
 
341
370
  @classmethod
342
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
371
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
343
372
  from ..models.billable_time_metric import BillableTimeMetric
344
373
  from ..models.jobs_chart_value import JobsChartValue
345
374
  from ..models.last_n_requests_metric import LastNRequestsMetric
@@ -366,7 +395,7 @@ class ResourceMetrics:
366
395
  if not src_dict:
367
396
  return None
368
397
  d = src_dict.copy()
369
- _billable_time = d.pop("billableTime", UNSET)
398
+ _billable_time = d.pop("billableTime", d.pop("billable_time", UNSET))
370
399
  billable_time: Union[Unset, BillableTimeMetric]
371
400
  if isinstance(_billable_time, Unset):
372
401
  billable_time = UNSET
@@ -374,21 +403,27 @@ class ResourceMetrics:
374
403
  billable_time = BillableTimeMetric.from_dict(_billable_time)
375
404
 
376
405
  inference_errors_global = []
377
- _inference_errors_global = d.pop("inferenceErrorsGlobal", UNSET)
406
+ _inference_errors_global = d.pop(
407
+ "inferenceErrorsGlobal", d.pop("inference_errors_global", UNSET)
408
+ )
378
409
  for componentsschemas_array_metric_item_data in _inference_errors_global or []:
379
- componentsschemas_array_metric_item = Metric.from_dict(componentsschemas_array_metric_item_data)
410
+ componentsschemas_array_metric_item = Metric.from_dict(
411
+ componentsschemas_array_metric_item_data
412
+ )
380
413
 
381
414
  inference_errors_global.append(componentsschemas_array_metric_item)
382
415
 
383
416
  inference_global = []
384
- _inference_global = d.pop("inferenceGlobal", UNSET)
417
+ _inference_global = d.pop("inferenceGlobal", d.pop("inference_global", UNSET))
385
418
  for componentsschemas_array_metric_item_data in _inference_global or []:
386
- componentsschemas_array_metric_item = Metric.from_dict(componentsschemas_array_metric_item_data)
419
+ componentsschemas_array_metric_item = Metric.from_dict(
420
+ componentsschemas_array_metric_item_data
421
+ )
387
422
 
388
423
  inference_global.append(componentsschemas_array_metric_item)
389
424
 
390
425
  last_n_requests = []
391
- _last_n_requests = d.pop("lastNRequests", UNSET)
426
+ _last_n_requests = d.pop("lastNRequests", d.pop("last_n_requests", UNSET))
392
427
  for last_n_requests_item_data in _last_n_requests or []:
393
428
  last_n_requests_item = LastNRequestsMetric.from_dict(last_n_requests_item_data)
394
429
 
@@ -401,65 +436,81 @@ class ResourceMetrics:
401
436
  else:
402
437
  latency = LatencyMetric.from_dict(_latency)
403
438
 
404
- _latency_previous = d.pop("latencyPrevious", UNSET)
439
+ _latency_previous = d.pop("latencyPrevious", d.pop("latency_previous", UNSET))
405
440
  latency_previous: Union[Unset, LatencyMetric]
406
441
  if isinstance(_latency_previous, Unset):
407
442
  latency_previous = UNSET
408
443
  else:
409
444
  latency_previous = LatencyMetric.from_dict(_latency_previous)
410
445
 
411
- _memory_allocation = d.pop("memoryAllocation", UNSET)
446
+ _memory_allocation = d.pop("memoryAllocation", d.pop("memory_allocation", UNSET))
412
447
  memory_allocation: Union[Unset, MemoryAllocationMetric]
413
448
  if isinstance(_memory_allocation, Unset):
414
449
  memory_allocation = UNSET
415
450
  else:
416
451
  memory_allocation = MemoryAllocationMetric.from_dict(_memory_allocation)
417
452
 
418
- _model_ttft = d.pop("modelTtft", UNSET)
453
+ _model_ttft = d.pop("modelTtft", d.pop("model_ttft", UNSET))
419
454
  model_ttft: Union[Unset, LatencyMetric]
420
455
  if isinstance(_model_ttft, Unset):
421
456
  model_ttft = UNSET
422
457
  else:
423
458
  model_ttft = LatencyMetric.from_dict(_model_ttft)
424
459
 
425
- _model_ttft_over_time = d.pop("modelTtftOverTime", UNSET)
460
+ _model_ttft_over_time = d.pop("modelTtftOverTime", d.pop("model_ttft_over_time", UNSET))
426
461
  model_ttft_over_time: Union[Unset, TimeToFirstTokenOverTimeMetrics]
427
462
  if isinstance(_model_ttft_over_time, Unset):
428
463
  model_ttft_over_time = UNSET
429
464
  else:
430
465
  model_ttft_over_time = TimeToFirstTokenOverTimeMetrics.from_dict(_model_ttft_over_time)
431
466
 
432
- _request_duration_over_time = d.pop("requestDurationOverTime", UNSET)
467
+ _request_duration_over_time = d.pop(
468
+ "requestDurationOverTime", d.pop("request_duration_over_time", UNSET)
469
+ )
433
470
  request_duration_over_time: Union[Unset, RequestDurationOverTimeMetrics]
434
471
  if isinstance(_request_duration_over_time, Unset):
435
472
  request_duration_over_time = UNSET
436
473
  else:
437
- request_duration_over_time = RequestDurationOverTimeMetrics.from_dict(_request_duration_over_time)
474
+ request_duration_over_time = RequestDurationOverTimeMetrics.from_dict(
475
+ _request_duration_over_time
476
+ )
438
477
 
439
- request_total = d.pop("requestTotal", UNSET)
478
+ request_total = d.pop("requestTotal", d.pop("request_total", UNSET))
440
479
 
441
- _request_total_by_origin = d.pop("requestTotalByOrigin", UNSET)
480
+ _request_total_by_origin = d.pop(
481
+ "requestTotalByOrigin", d.pop("request_total_by_origin", UNSET)
482
+ )
442
483
  request_total_by_origin: Union[Unset, RequestTotalByOriginMetric]
443
484
  if isinstance(_request_total_by_origin, Unset):
444
485
  request_total_by_origin = UNSET
445
486
  else:
446
487
  request_total_by_origin = RequestTotalByOriginMetric.from_dict(_request_total_by_origin)
447
488
 
448
- _request_total_by_origin_previous = d.pop("requestTotalByOriginPrevious", UNSET)
489
+ _request_total_by_origin_previous = d.pop(
490
+ "requestTotalByOriginPrevious", d.pop("request_total_by_origin_previous", UNSET)
491
+ )
449
492
  request_total_by_origin_previous: Union[Unset, RequestTotalByOriginMetric]
450
493
  if isinstance(_request_total_by_origin_previous, Unset):
451
494
  request_total_by_origin_previous = UNSET
452
495
  else:
453
- request_total_by_origin_previous = RequestTotalByOriginMetric.from_dict(_request_total_by_origin_previous)
496
+ request_total_by_origin_previous = RequestTotalByOriginMetric.from_dict(
497
+ _request_total_by_origin_previous
498
+ )
454
499
 
455
- _request_total_per_code = d.pop("requestTotalPerCode", UNSET)
500
+ _request_total_per_code = d.pop(
501
+ "requestTotalPerCode", d.pop("request_total_per_code", UNSET)
502
+ )
456
503
  request_total_per_code: Union[Unset, ResourceMetricsRequestTotalPerCode]
457
504
  if isinstance(_request_total_per_code, Unset):
458
505
  request_total_per_code = UNSET
459
506
  else:
460
- request_total_per_code = ResourceMetricsRequestTotalPerCode.from_dict(_request_total_per_code)
507
+ request_total_per_code = ResourceMetricsRequestTotalPerCode.from_dict(
508
+ _request_total_per_code
509
+ )
461
510
 
462
- _request_total_per_code_previous = d.pop("requestTotalPerCodePrevious", UNSET)
511
+ _request_total_per_code_previous = d.pop(
512
+ "requestTotalPerCodePrevious", d.pop("request_total_per_code_previous", UNSET)
513
+ )
463
514
  request_total_per_code_previous: Union[Unset, ResourceMetricsRequestTotalPerCodePrevious]
464
515
  if isinstance(_request_total_per_code_previous, Unset):
465
516
  request_total_per_code_previous = UNSET
@@ -468,48 +519,52 @@ class ResourceMetrics:
468
519
  _request_total_per_code_previous
469
520
  )
470
521
 
471
- request_total_previous = d.pop("requestTotalPrevious", UNSET)
522
+ request_total_previous = d.pop(
523
+ "requestTotalPrevious", d.pop("request_total_previous", UNSET)
524
+ )
472
525
 
473
526
  rps = d.pop("rps", UNSET)
474
527
 
475
- _rps_per_code = d.pop("rpsPerCode", UNSET)
528
+ _rps_per_code = d.pop("rpsPerCode", d.pop("rps_per_code", UNSET))
476
529
  rps_per_code: Union[Unset, ResourceMetricsRpsPerCode]
477
530
  if isinstance(_rps_per_code, Unset):
478
531
  rps_per_code = UNSET
479
532
  else:
480
533
  rps_per_code = ResourceMetricsRpsPerCode.from_dict(_rps_per_code)
481
534
 
482
- _rps_per_code_previous = d.pop("rpsPerCodePrevious", UNSET)
535
+ _rps_per_code_previous = d.pop("rpsPerCodePrevious", d.pop("rps_per_code_previous", UNSET))
483
536
  rps_per_code_previous: Union[Unset, ResourceMetricsRpsPerCodePrevious]
484
537
  if isinstance(_rps_per_code_previous, Unset):
485
538
  rps_per_code_previous = UNSET
486
539
  else:
487
- rps_per_code_previous = ResourceMetricsRpsPerCodePrevious.from_dict(_rps_per_code_previous)
540
+ rps_per_code_previous = ResourceMetricsRpsPerCodePrevious.from_dict(
541
+ _rps_per_code_previous
542
+ )
488
543
 
489
- rps_previous = d.pop("rpsPrevious", UNSET)
544
+ rps_previous = d.pop("rpsPrevious", d.pop("rps_previous", UNSET))
490
545
 
491
546
  sandboxes_cpu_usage = []
492
- _sandboxes_cpu_usage = d.pop("sandboxesCpuUsage", UNSET)
547
+ _sandboxes_cpu_usage = d.pop("sandboxesCpuUsage", d.pop("sandboxes_cpu_usage", UNSET))
493
548
  for sandboxes_cpu_usage_item_data in _sandboxes_cpu_usage or []:
494
549
  sandboxes_cpu_usage_item = JobsChartValue.from_dict(sandboxes_cpu_usage_item_data)
495
550
 
496
551
  sandboxes_cpu_usage.append(sandboxes_cpu_usage_item)
497
552
 
498
553
  sandboxes_ram_usage = []
499
- _sandboxes_ram_usage = d.pop("sandboxesRamUsage", UNSET)
554
+ _sandboxes_ram_usage = d.pop("sandboxesRamUsage", d.pop("sandboxes_ram_usage", UNSET))
500
555
  for sandboxes_ram_usage_item_data in _sandboxes_ram_usage or []:
501
556
  sandboxes_ram_usage_item = SandboxMetrics.from_dict(sandboxes_ram_usage_item_data)
502
557
 
503
558
  sandboxes_ram_usage.append(sandboxes_ram_usage_item)
504
559
 
505
- _token_rate = d.pop("tokenRate", UNSET)
560
+ _token_rate = d.pop("tokenRate", d.pop("token_rate", UNSET))
506
561
  token_rate: Union[Unset, TokenRateMetrics]
507
562
  if isinstance(_token_rate, Unset):
508
563
  token_rate = UNSET
509
564
  else:
510
565
  token_rate = TokenRateMetrics.from_dict(_token_rate)
511
566
 
512
- _token_total = d.pop("tokenTotal", UNSET)
567
+ _token_total = d.pop("tokenTotal", d.pop("token_total", UNSET))
513
568
  token_total: Union[Unset, TokenTotalMetric]
514
569
  if isinstance(_token_total, Unset):
515
570
  token_total = UNSET
@@ -19,7 +19,7 @@ class ResourceMetricsRequestTotalPerCode:
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 ResourceMetricsRequestTotalPerCodePrevious:
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 ResourceMetricsRpsPerCode:
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 ResourceMetricsRpsPerCodePrevious:
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()
@@ -55,19 +55,19 @@ class ResourceTrace:
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()
62
62
  duration = d.pop("duration", UNSET)
63
63
 
64
- has_error = d.pop("hasError", UNSET)
64
+ has_error = d.pop("hasError", d.pop("has_error", UNSET))
65
65
 
66
- start_time = d.pop("startTime", UNSET)
66
+ start_time = d.pop("startTime", d.pop("start_time", UNSET))
67
67
 
68
- status_code = d.pop("statusCode", UNSET)
68
+ status_code = d.pop("statusCode", d.pop("status_code", UNSET))
69
69
 
70
- trace_id = d.pop("traceID", UNSET)
70
+ trace_id = d.pop("traceID", d.pop("trace_id", UNSET))
71
71
 
72
72
  resource_trace = cls(
73
73
  duration=duration,
@@ -55,7 +55,7 @@ class RevisionConfiguration:
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()
@@ -63,9 +63,9 @@ class RevisionConfiguration:
63
63
 
64
64
  canary = d.pop("canary", UNSET)
65
65
 
66
- canary_percent = d.pop("canaryPercent", UNSET)
66
+ canary_percent = d.pop("canaryPercent", d.pop("canary_percent", UNSET))
67
67
 
68
- sticky_session_ttl = d.pop("stickySessionTtl", UNSET)
68
+ sticky_session_ttl = d.pop("stickySessionTtl", d.pop("sticky_session_ttl", UNSET))
69
69
 
70
70
  traffic = d.pop("traffic", UNSET)
71
71
 
@@ -73,7 +73,7 @@ class RevisionMetadata:
73
73
  return field_dict
74
74
 
75
75
  @classmethod
76
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
76
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
77
77
  if not src_dict:
78
78
  return None
79
79
  d = src_dict.copy()
@@ -81,17 +81,17 @@ class RevisionMetadata:
81
81
 
82
82
  canary = d.pop("canary", UNSET)
83
83
 
84
- created_at = d.pop("createdAt", UNSET)
84
+ created_at = d.pop("createdAt", d.pop("created_at", UNSET))
85
85
 
86
- created_by = d.pop("createdBy", UNSET)
86
+ created_by = d.pop("createdBy", d.pop("created_by", UNSET))
87
87
 
88
88
  id = d.pop("id", UNSET)
89
89
 
90
- previous_active = d.pop("previousActive", UNSET)
90
+ previous_active = d.pop("previousActive", d.pop("previous_active", UNSET))
91
91
 
92
92
  status = d.pop("status", UNSET)
93
93
 
94
- traffic_percent = d.pop("trafficPercent", UNSET)
94
+ traffic_percent = d.pop("trafficPercent", d.pop("traffic_percent", UNSET))
95
95
 
96
96
  revision_metadata = cls(
97
97
  active=active,