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
@@ -31,7 +31,6 @@ class LatencyMetric:
31
31
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
32
32
 
33
33
  def to_dict(self) -> dict[str, Any]:
34
-
35
34
  global_histogram: Union[Unset, list[dict[str, Any]]] = UNSET
36
35
  if not isinstance(self.global_histogram, Unset):
37
36
  global_histogram = []
@@ -43,7 +42,11 @@ class LatencyMetric:
43
42
  global_histogram.append(global_histogram_item)
44
43
 
45
44
  global_stats: Union[Unset, dict[str, Any]] = UNSET
46
- if self.global_stats and not isinstance(self.global_stats, Unset) and not isinstance(self.global_stats, dict):
45
+ if (
46
+ self.global_stats
47
+ and not isinstance(self.global_stats, Unset)
48
+ and not isinstance(self.global_stats, dict)
49
+ ):
47
50
  global_stats = self.global_stats.to_dict()
48
51
  elif self.global_stats and isinstance(self.global_stats, dict):
49
52
  global_stats = self.global_stats
@@ -83,7 +86,7 @@ class LatencyMetric:
83
86
  return field_dict
84
87
 
85
88
  @classmethod
86
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
89
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
87
90
  from ..models.histogram_bucket import HistogramBucket
88
91
  from ..models.histogram_stats import HistogramStats
89
92
 
@@ -91,27 +94,27 @@ class LatencyMetric:
91
94
  return None
92
95
  d = src_dict.copy()
93
96
  global_histogram = []
94
- _global_histogram = d.pop("globalHistogram", UNSET)
97
+ _global_histogram = d.pop("globalHistogram", d.pop("global_histogram", UNSET))
95
98
  for global_histogram_item_data in _global_histogram or []:
96
99
  global_histogram_item = HistogramBucket.from_dict(global_histogram_item_data)
97
100
 
98
101
  global_histogram.append(global_histogram_item)
99
102
 
100
- _global_stats = d.pop("globalStats", UNSET)
103
+ _global_stats = d.pop("globalStats", d.pop("global_stats", UNSET))
101
104
  global_stats: Union[Unset, HistogramStats]
102
105
  if isinstance(_global_stats, Unset):
103
106
  global_stats = UNSET
104
107
  else:
105
108
  global_stats = HistogramStats.from_dict(_global_stats)
106
109
 
107
- _histogram_per_code = d.pop("histogramPerCode", UNSET)
110
+ _histogram_per_code = d.pop("histogramPerCode", d.pop("histogram_per_code", UNSET))
108
111
  histogram_per_code: Union[Unset, HistogramBucket]
109
112
  if isinstance(_histogram_per_code, Unset):
110
113
  histogram_per_code = UNSET
111
114
  else:
112
115
  histogram_per_code = HistogramBucket.from_dict(_histogram_per_code)
113
116
 
114
- _stats_per_code = d.pop("statsPerCode", UNSET)
117
+ _stats_per_code = d.pop("statsPerCode", d.pop("stats_per_code", UNSET))
115
118
  stats_per_code: Union[Unset, HistogramStats]
116
119
  if isinstance(_stats_per_code, Unset):
117
120
  stats_per_code = UNSET
@@ -34,7 +34,6 @@ class LocationResponse:
34
34
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
35
35
 
36
36
  def to_dict(self) -> dict[str, Any]:
37
-
38
37
  continent = self.continent
39
38
 
40
39
  country = self.country
@@ -74,7 +73,7 @@ class LocationResponse:
74
73
  return field_dict
75
74
 
76
75
  @classmethod
77
- 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:
78
77
  from ..models.flavor import Flavor
79
78
 
80
79
  if not src_dict:
@@ -33,7 +33,7 @@ class LogsResponse:
33
33
  return field_dict
34
34
 
35
35
  @classmethod
36
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
36
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
37
37
  if not src_dict:
38
38
  return None
39
39
  d = src_dict.copy()
@@ -57,19 +57,19 @@ class LogsResponseData:
57
57
  return field_dict
58
58
 
59
59
  @classmethod
60
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
60
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
61
61
  if not src_dict:
62
62
  return None
63
63
  d = src_dict.copy()
64
64
  body = d.pop("body", UNSET)
65
65
 
66
- log_attributes = cast(list[Any], d.pop("logAttributes", UNSET))
66
+ log_attributes = cast(list[Any], d.pop("logAttributes", d.pop("log_attributes", UNSET)))
67
67
 
68
- severity_number = d.pop("severityNumber", UNSET)
68
+ severity_number = d.pop("severityNumber", d.pop("severity_number", UNSET))
69
69
 
70
70
  timestamp = d.pop("timestamp", UNSET)
71
71
 
72
- trace_id = d.pop("traceId", UNSET)
72
+ trace_id = d.pop("traceId", d.pop("trace_id", UNSET))
73
73
 
74
74
  logs_response_data = cls(
75
75
  body=body,
@@ -59,7 +59,6 @@ class MCPDefinition:
59
59
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
60
60
 
61
61
  def to_dict(self) -> dict[str, Any]:
62
-
63
62
  created_at = self.created_at
64
63
 
65
64
  updated_at = self.updated_at
@@ -77,7 +76,11 @@ class MCPDefinition:
77
76
  enterprise = self.enterprise
78
77
 
79
78
  entrypoint: Union[Unset, dict[str, Any]] = UNSET
80
- if self.entrypoint and not isinstance(self.entrypoint, Unset) and not isinstance(self.entrypoint, dict):
79
+ if (
80
+ self.entrypoint
81
+ and not isinstance(self.entrypoint, Unset)
82
+ and not isinstance(self.entrypoint, dict)
83
+ ):
81
84
  entrypoint = self.entrypoint.to_dict()
82
85
  elif self.entrypoint and isinstance(self.entrypoint, dict):
83
86
  entrypoint = self.entrypoint
@@ -151,16 +154,16 @@ class MCPDefinition:
151
154
  return field_dict
152
155
 
153
156
  @classmethod
154
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
157
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
155
158
  from ..models.mcp_definition_entrypoint import MCPDefinitionEntrypoint
156
159
  from ..models.mcp_definition_form import MCPDefinitionForm
157
160
 
158
161
  if not src_dict:
159
162
  return None
160
163
  d = src_dict.copy()
161
- created_at = d.pop("createdAt", UNSET)
164
+ created_at = d.pop("createdAt", d.pop("created_at", UNSET))
162
165
 
163
- updated_at = d.pop("updatedAt", UNSET)
166
+ updated_at = d.pop("updatedAt", d.pop("updated_at", UNSET))
164
167
 
165
168
  categories = cast(list[Any], d.pop("categories", UNSET))
166
169
 
@@ -168,7 +171,7 @@ class MCPDefinition:
168
171
 
169
172
  description = d.pop("description", UNSET)
170
173
 
171
- display_name = d.pop("displayName", UNSET)
174
+ display_name = d.pop("displayName", d.pop("display_name", UNSET))
172
175
 
173
176
  enterprise = d.pop("enterprise", UNSET)
174
177
 
@@ -188,7 +191,7 @@ class MCPDefinition:
188
191
 
189
192
  hidden = d.pop("hidden", UNSET)
190
193
 
191
- hidden_secrets = cast(list[str], d.pop("hiddenSecrets", UNSET))
194
+ hidden_secrets = cast(list[str], d.pop("hiddenSecrets", d.pop("hidden_secrets", UNSET)))
192
195
 
193
196
  icon = d.pop("icon", UNSET)
194
197
 
@@ -196,7 +199,7 @@ class MCPDefinition:
196
199
 
197
200
  integration = d.pop("integration", UNSET)
198
201
 
199
- long_description = d.pop("longDescription", UNSET)
202
+ long_description = d.pop("longDescription", d.pop("long_description", UNSET))
200
203
 
201
204
  name = d.pop("name", UNSET)
202
205
 
@@ -19,7 +19,7 @@ class MCPDefinitionEntrypoint:
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 MCPDefinitionForm:
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 MemoryAllocationByName:
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()
@@ -31,11 +31,11 @@ class MemoryAllocationMetric:
31
31
  return field_dict
32
32
 
33
33
  @classmethod
34
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
34
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
35
35
  if not src_dict:
36
36
  return None
37
37
  d = src_dict.copy()
38
- total_allocation = d.pop("totalAllocation", UNSET)
38
+ total_allocation = d.pop("totalAllocation", d.pop("total_allocation", UNSET))
39
39
 
40
40
  memory_allocation_metric = cls(
41
41
  total_allocation=total_allocation,
@@ -42,7 +42,6 @@ class Metadata:
42
42
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
43
43
 
44
44
  def to_dict(self) -> dict[str, Any]:
45
-
46
45
  created_at = self.created_at
47
46
 
48
47
  updated_at = self.updated_at
@@ -94,21 +93,21 @@ class Metadata:
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.metadata_labels import MetadataLabels
99
98
 
100
99
  if not src_dict:
101
100
  return None
102
101
  d = src_dict.copy()
103
- created_at = d.pop("createdAt", UNSET)
102
+ created_at = d.pop("createdAt", d.pop("created_at", UNSET))
104
103
 
105
- updated_at = d.pop("updatedAt", UNSET)
104
+ updated_at = d.pop("updatedAt", d.pop("updated_at", UNSET))
106
105
 
107
- created_by = d.pop("createdBy", UNSET)
106
+ created_by = d.pop("createdBy", d.pop("created_by", UNSET))
108
107
 
109
- updated_by = d.pop("updatedBy", UNSET)
108
+ updated_by = d.pop("updatedBy", d.pop("updated_by", UNSET))
110
109
 
111
- display_name = d.pop("displayName", UNSET)
110
+ display_name = d.pop("displayName", d.pop("display_name", UNSET))
112
111
 
113
112
  _labels = d.pop("labels", UNSET)
114
113
  labels: Union[Unset, MetadataLabels]
@@ -19,7 +19,7 @@ class MetadataLabels:
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()
@@ -43,13 +43,13 @@ class Metric:
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
50
  rate = d.pop("rate", UNSET)
51
51
 
52
- request_total = d.pop("requestTotal", UNSET)
52
+ request_total = d.pop("requestTotal", d.pop("request_total", UNSET))
53
53
 
54
54
  timestamp = d.pop("timestamp", UNSET)
55
55
 
@@ -55,7 +55,6 @@ class Metrics:
55
55
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
56
56
 
57
57
  def to_dict(self) -> dict[str, Any]:
58
-
59
58
  agents = self.agents
60
59
 
61
60
  functions = self.functions
@@ -67,7 +66,9 @@ class Metrics:
67
66
  if type(componentsschemas_array_metric_item_data) is dict:
68
67
  componentsschemas_array_metric_item = componentsschemas_array_metric_item_data
69
68
  else:
70
- componentsschemas_array_metric_item = componentsschemas_array_metric_item_data.to_dict()
69
+ componentsschemas_array_metric_item = (
70
+ componentsschemas_array_metric_item_data.to_dict()
71
+ )
71
72
  inference_error_global.append(componentsschemas_array_metric_item)
72
73
 
73
74
  inference_global: Union[Unset, list[Any]] = UNSET
@@ -117,7 +118,11 @@ class Metrics:
117
118
  rps = self.rps
118
119
 
119
120
  rps_per_code: Union[Unset, dict[str, Any]] = UNSET
120
- if self.rps_per_code and not isinstance(self.rps_per_code, Unset) and not isinstance(self.rps_per_code, dict):
121
+ if (
122
+ self.rps_per_code
123
+ and not isinstance(self.rps_per_code, Unset)
124
+ and not isinstance(self.rps_per_code, dict)
125
+ ):
121
126
  rps_per_code = self.rps_per_code.to_dict()
122
127
  elif self.rps_per_code and isinstance(self.rps_per_code, dict):
123
128
  rps_per_code = self.rps_per_code
@@ -157,7 +162,7 @@ class Metrics:
157
162
  return field_dict
158
163
 
159
164
  @classmethod
160
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
165
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
161
166
  from ..models.last_n_requests_metric import LastNRequestsMetric
162
167
  from ..models.metric import Metric
163
168
  from ..models.metrics_models import MetricsModels
@@ -173,13 +178,19 @@ class Metrics:
173
178
  functions = d.pop("functions", UNSET)
174
179
 
175
180
  inference_error_global = []
176
- _inference_error_global = d.pop("inferenceErrorGlobal", UNSET)
181
+ _inference_error_global = d.pop(
182
+ "inferenceErrorGlobal", d.pop("inference_error_global", UNSET)
183
+ )
177
184
  for componentsschemas_array_metric_item_data in _inference_error_global or []:
178
- componentsschemas_array_metric_item = Metric.from_dict(componentsschemas_array_metric_item_data)
185
+ componentsschemas_array_metric_item = Metric.from_dict(
186
+ componentsschemas_array_metric_item_data
187
+ )
179
188
 
180
189
  inference_error_global.append(componentsschemas_array_metric_item)
181
190
 
182
- inference_global = cast(list[Any], d.pop("inferenceGlobal", UNSET))
191
+ inference_global = cast(
192
+ list[Any], d.pop("inferenceGlobal", d.pop("inference_global", UNSET))
193
+ )
183
194
 
184
195
  items = []
185
196
  _items = d.pop("items", UNSET)
@@ -191,7 +202,7 @@ class Metrics:
191
202
  jobs = d.pop("jobs", UNSET)
192
203
 
193
204
  last_n_requests = []
194
- _last_n_requests = d.pop("lastNRequests", UNSET)
205
+ _last_n_requests = d.pop("lastNRequests", d.pop("last_n_requests", UNSET))
195
206
  for last_n_requests_item_data in _last_n_requests or []:
196
207
  last_n_requests_item = LastNRequestsMetric.from_dict(last_n_requests_item_data)
197
208
 
@@ -204,9 +215,11 @@ class Metrics:
204
215
  else:
205
216
  models = MetricsModels.from_dict(_models)
206
217
 
207
- request_total = d.pop("requestTotal", UNSET)
218
+ request_total = d.pop("requestTotal", d.pop("request_total", UNSET))
208
219
 
209
- _request_total_per_code = d.pop("requestTotalPerCode", UNSET)
220
+ _request_total_per_code = d.pop(
221
+ "requestTotalPerCode", d.pop("request_total_per_code", UNSET)
222
+ )
210
223
  request_total_per_code: Union[Unset, MetricsRequestTotalPerCode]
211
224
  if isinstance(_request_total_per_code, Unset):
212
225
  request_total_per_code = UNSET
@@ -215,7 +228,7 @@ class Metrics:
215
228
 
216
229
  rps = d.pop("rps", UNSET)
217
230
 
218
- _rps_per_code = d.pop("rpsPerCode", UNSET)
231
+ _rps_per_code = d.pop("rpsPerCode", d.pop("rps_per_code", UNSET))
219
232
  rps_per_code: Union[Unset, MetricsRpsPerCode]
220
233
  if isinstance(_rps_per_code, Unset):
221
234
  rps_per_code = UNSET
@@ -19,7 +19,7 @@ class MetricsModels:
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 MetricsRequestTotalPerCode:
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 MetricsRpsPerCode:
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()
@@ -32,7 +32,6 @@ class Model:
32
32
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
33
33
 
34
34
  def to_dict(self) -> dict[str, Any]:
35
-
36
35
  events: Union[Unset, list[dict[str, Any]]] = UNSET
37
36
  if not isinstance(self.events, Unset):
38
37
  events = []
@@ -40,11 +39,17 @@ class Model:
40
39
  if type(componentsschemas_core_events_item_data) is dict:
41
40
  componentsschemas_core_events_item = componentsschemas_core_events_item_data
42
41
  else:
43
- componentsschemas_core_events_item = componentsschemas_core_events_item_data.to_dict()
42
+ componentsschemas_core_events_item = (
43
+ componentsschemas_core_events_item_data.to_dict()
44
+ )
44
45
  events.append(componentsschemas_core_events_item)
45
46
 
46
47
  metadata: Union[Unset, dict[str, Any]] = UNSET
47
- if self.metadata and not isinstance(self.metadata, Unset) and not isinstance(self.metadata, dict):
48
+ if (
49
+ self.metadata
50
+ and not isinstance(self.metadata, Unset)
51
+ and not isinstance(self.metadata, dict)
52
+ ):
48
53
  metadata = self.metadata.to_dict()
49
54
  elif self.metadata and isinstance(self.metadata, dict):
50
55
  metadata = self.metadata
@@ -72,7 +77,7 @@ class Model:
72
77
  return field_dict
73
78
 
74
79
  @classmethod
75
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
80
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
76
81
  from ..models.core_event import CoreEvent
77
82
  from ..models.metadata import Metadata
78
83
  from ..models.model_spec import ModelSpec
@@ -83,7 +88,9 @@ class Model:
83
88
  events = []
84
89
  _events = d.pop("events", UNSET)
85
90
  for componentsschemas_core_events_item_data in _events or []:
86
- componentsschemas_core_events_item = CoreEvent.from_dict(componentsschemas_core_events_item_data)
91
+ componentsschemas_core_events_item = CoreEvent.from_dict(
92
+ componentsschemas_core_events_item_data
93
+ )
87
94
 
88
95
  events.append(componentsschemas_core_events_item)
89
96
 
@@ -41,7 +41,6 @@ class ModelSpec:
41
41
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
42
42
 
43
43
  def to_dict(self) -> dict[str, Any]:
44
-
45
44
  configurations: Union[Unset, dict[str, Any]] = UNSET
46
45
  if (
47
46
  self.configurations
@@ -73,13 +72,21 @@ class ModelSpec:
73
72
  policies = self.policies
74
73
 
75
74
  revision: Union[Unset, dict[str, Any]] = UNSET
76
- if self.revision and not isinstance(self.revision, Unset) and not isinstance(self.revision, dict):
75
+ if (
76
+ self.revision
77
+ and not isinstance(self.revision, Unset)
78
+ and not isinstance(self.revision, dict)
79
+ ):
77
80
  revision = self.revision.to_dict()
78
81
  elif self.revision and isinstance(self.revision, dict):
79
82
  revision = self.revision
80
83
 
81
84
  runtime: Union[Unset, dict[str, Any]] = UNSET
82
- if self.runtime and not isinstance(self.runtime, Unset) and not isinstance(self.runtime, dict):
85
+ if (
86
+ self.runtime
87
+ and not isinstance(self.runtime, Unset)
88
+ and not isinstance(self.runtime, dict)
89
+ ):
83
90
  runtime = self.runtime.to_dict()
84
91
  elif self.runtime and isinstance(self.runtime, dict):
85
92
  runtime = self.runtime
@@ -109,7 +116,7 @@ class ModelSpec:
109
116
  return field_dict
110
117
 
111
118
  @classmethod
112
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
119
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
113
120
  from ..models.core_spec_configurations import CoreSpecConfigurations
114
121
  from ..models.flavor import Flavor
115
122
  from ..models.revision_configuration import RevisionConfiguration
@@ -134,7 +141,9 @@ class ModelSpec:
134
141
 
135
142
  flavors.append(componentsschemas_flavors_item)
136
143
 
137
- integration_connections = cast(list[str], d.pop("integrationConnections", UNSET))
144
+ integration_connections = cast(
145
+ list[str], d.pop("integrationConnections", d.pop("integration_connections", UNSET))
146
+ )
138
147
 
139
148
  policies = cast(list[str], d.pop("policies", UNSET))
140
149
 
@@ -39,13 +39,13 @@ class OAuth:
39
39
  return field_dict
40
40
 
41
41
  @classmethod
42
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
42
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
43
43
  if not src_dict:
44
44
  return None
45
45
  d = src_dict.copy()
46
46
  scope = cast(list[Any], d.pop("scope", UNSET))
47
47
 
48
- type_ = d.pop("type", UNSET)
48
+ type_ = d.pop("type", d.pop("type_", UNSET))
49
49
 
50
50
  o_auth = cls(
51
51
  scope=scope,
@@ -37,13 +37,13 @@ class OwnerFields:
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_by = d.pop("createdBy", UNSET)
44
+ created_by = d.pop("createdBy", d.pop("created_by", UNSET))
45
45
 
46
- updated_by = d.pop("updatedBy", UNSET)
46
+ updated_by = d.pop("updatedBy", d.pop("updated_by", UNSET))
47
47
 
48
48
  owner_fields = cls(
49
49
  created_by=created_by,
@@ -73,21 +73,21 @@ class PendingInvitation:
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()
80
- created_at = d.pop("createdAt", UNSET)
80
+ created_at = d.pop("createdAt", d.pop("created_at", UNSET))
81
81
 
82
- updated_at = d.pop("updatedAt", UNSET)
82
+ updated_at = d.pop("updatedAt", d.pop("updated_at", UNSET))
83
83
 
84
- created_by = d.pop("createdBy", UNSET)
84
+ created_by = d.pop("createdBy", d.pop("created_by", UNSET))
85
85
 
86
- updated_by = d.pop("updatedBy", UNSET)
86
+ updated_by = d.pop("updatedBy", d.pop("updated_by", UNSET))
87
87
 
88
88
  email = d.pop("email", UNSET)
89
89
 
90
- invited_by = d.pop("invitedBy", UNSET)
90
+ invited_by = d.pop("invitedBy", d.pop("invited_by", UNSET))
91
91
 
92
92
  role = d.pop("role", UNSET)
93
93
 
@@ -26,11 +26,14 @@ class PendingInvitationAccept:
26
26
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
27
27
 
28
28
  def to_dict(self) -> dict[str, Any]:
29
-
30
29
  email = self.email
31
30
 
32
31
  workspace: Union[Unset, dict[str, Any]] = UNSET
33
- if self.workspace and not isinstance(self.workspace, Unset) and not isinstance(self.workspace, dict):
32
+ if (
33
+ self.workspace
34
+ and not isinstance(self.workspace, Unset)
35
+ and not isinstance(self.workspace, dict)
36
+ ):
34
37
  workspace = self.workspace.to_dict()
35
38
  elif self.workspace and isinstance(self.workspace, dict):
36
39
  workspace = self.workspace
@@ -46,7 +49,7 @@ class PendingInvitationAccept:
46
49
  return field_dict
47
50
 
48
51
  @classmethod
49
- 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:
50
53
  from ..models.workspace import Workspace
51
54
 
52
55
  if not src_dict: