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
@@ -48,17 +48,17 @@ class FilesystemUploadedPart:
48
48
  return field_dict
49
49
 
50
50
  @classmethod
51
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
51
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
52
52
  if not src_dict:
53
53
  return None
54
54
  d = src_dict.copy()
55
55
  etag = d.pop("etag", UNSET)
56
56
 
57
- part_number = d.pop("partNumber", UNSET)
57
+ part_number = d.pop("partNumber", d.pop("part_number", UNSET))
58
58
 
59
59
  size = d.pop("size", UNSET)
60
60
 
61
- uploaded_at = d.pop("uploadedAt", UNSET)
61
+ uploaded_at = d.pop("uploadedAt", d.pop("uploaded_at", UNSET))
62
62
 
63
63
  filesystem_uploaded_part = cls(
64
64
  etag=etag,
@@ -36,13 +36,13 @@ class FindMatch:
36
36
  return field_dict
37
37
 
38
38
  @classmethod
39
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
39
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
40
40
  if not src_dict:
41
41
  return None
42
42
  d = src_dict.copy()
43
43
  path = d.pop("path", UNSET)
44
44
 
45
- type_ = d.pop("type", UNSET)
45
+ type_ = d.pop("type", d.pop("type_", UNSET))
46
46
 
47
47
  find_match = cls(
48
48
  path=path,
@@ -48,7 +48,7 @@ class FindResponse:
48
48
  return field_dict
49
49
 
50
50
  @classmethod
51
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
51
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
52
52
  from ..models.find_match import FindMatch
53
53
 
54
54
  if not src_dict:
@@ -42,7 +42,7 @@ class FuzzySearchMatch:
42
42
  return field_dict
43
43
 
44
44
  @classmethod
45
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
45
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
46
46
  if not src_dict:
47
47
  return None
48
48
  d = src_dict.copy()
@@ -50,7 +50,7 @@ class FuzzySearchMatch:
50
50
 
51
51
  score = d.pop("score", UNSET)
52
52
 
53
- type_ = d.pop("type", UNSET)
53
+ type_ = d.pop("type", d.pop("type_", UNSET))
54
54
 
55
55
  fuzzy_search_match = cls(
56
56
  path=path,
@@ -48,7 +48,7 @@ class FuzzySearchResponse:
48
48
  return field_dict
49
49
 
50
50
  @classmethod
51
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
51
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
52
52
  from ..models.fuzzy_search_match import FuzzySearchMatch
53
53
 
54
54
  if not src_dict:
@@ -19,7 +19,7 @@ class GetNetworkProcessPidPortsResponse200:
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()
@@ -42,7 +42,7 @@ class MultipartCompleteRequest:
42
42
  return field_dict
43
43
 
44
44
  @classmethod
45
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
45
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
46
46
  from ..models.multipart_part_info import MultipartPartInfo
47
47
 
48
48
  if not src_dict:
@@ -30,7 +30,7 @@ class MultipartInitiateRequest:
30
30
  return field_dict
31
31
 
32
32
  @classmethod
33
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
33
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
34
34
  if not src_dict:
35
35
  return None
36
36
  d = src_dict.copy()
@@ -36,13 +36,13 @@ class MultipartInitiateResponse:
36
36
  return field_dict
37
37
 
38
38
  @classmethod
39
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
39
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
40
40
  if not src_dict:
41
41
  return None
42
42
  d = src_dict.copy()
43
43
  path = d.pop("path", UNSET)
44
44
 
45
- upload_id = d.pop("uploadId", UNSET)
45
+ upload_id = d.pop("uploadId", d.pop("upload_id", UNSET))
46
46
 
47
47
  multipart_initiate_response = cls(
48
48
  path=path,
@@ -48,7 +48,7 @@ class MultipartListPartsResponse:
48
48
  return field_dict
49
49
 
50
50
  @classmethod
51
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
51
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
52
52
  from ..models.filesystem_uploaded_part import FilesystemUploadedPart
53
53
 
54
54
  if not src_dict:
@@ -61,7 +61,7 @@ class MultipartListPartsResponse:
61
61
 
62
62
  parts.append(parts_item)
63
63
 
64
- upload_id = d.pop("uploadId", UNSET)
64
+ upload_id = d.pop("uploadId", d.pop("upload_id", UNSET))
65
65
 
66
66
  multipart_list_parts_response = cls(
67
67
  parts=parts,
@@ -42,7 +42,7 @@ class MultipartListUploadsResponse:
42
42
  return field_dict
43
43
 
44
44
  @classmethod
45
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
45
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
46
46
  from ..models.filesystem_multipart_upload import FilesystemMultipartUpload
47
47
 
48
48
  if not src_dict:
@@ -36,13 +36,13 @@ class MultipartPartInfo:
36
36
  return field_dict
37
37
 
38
38
  @classmethod
39
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
39
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
40
40
  if not src_dict:
41
41
  return None
42
42
  d = src_dict.copy()
43
43
  etag = d.pop("etag", UNSET)
44
44
 
45
- part_number = d.pop("partNumber", UNSET)
45
+ part_number = d.pop("partNumber", d.pop("part_number", UNSET))
46
46
 
47
47
  multipart_part_info = cls(
48
48
  etag=etag,
@@ -42,13 +42,13 @@ class MultipartUploadPartResponse:
42
42
  return field_dict
43
43
 
44
44
  @classmethod
45
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
45
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
46
46
  if not src_dict:
47
47
  return None
48
48
  d = src_dict.copy()
49
49
  etag = d.pop("etag", UNSET)
50
50
 
51
- part_number = d.pop("partNumber", UNSET)
51
+ part_number = d.pop("partNumber", d.pop("part_number", UNSET))
52
52
 
53
53
  size = d.pop("size", UNSET)
54
54
 
@@ -30,7 +30,7 @@ class PortMonitorRequest:
30
30
  return field_dict
31
31
 
32
32
  @classmethod
33
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
33
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
34
34
  if not src_dict:
35
35
  return None
36
36
  d = src_dict.copy()
@@ -19,7 +19,7 @@ class PostNetworkProcessPidMonitorResponse200:
19
19
  return field_dict
20
20
 
21
21
  @classmethod
22
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
22
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
23
23
  if not src_dict:
24
24
  return None
25
25
  d = src_dict.copy()
@@ -40,7 +40,7 @@ class ProcessLogs:
40
40
  return field_dict
41
41
 
42
42
  @classmethod
43
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
43
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
44
44
  if not src_dict:
45
45
  return None
46
46
  d = src_dict.copy()
@@ -90,7 +90,7 @@ class ProcessRequest:
90
90
  return field_dict
91
91
 
92
92
  @classmethod
93
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
93
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
94
94
  from ..models.process_request_env import ProcessRequestEnv
95
95
 
96
96
  if not src_dict:
@@ -105,19 +105,19 @@ class ProcessRequest:
105
105
  else:
106
106
  env = ProcessRequestEnv.from_dict(_env)
107
107
 
108
- max_restarts = d.pop("maxRestarts", UNSET)
108
+ max_restarts = d.pop("maxRestarts", d.pop("max_restarts", UNSET))
109
109
 
110
110
  name = d.pop("name", UNSET)
111
111
 
112
- restart_on_failure = d.pop("restartOnFailure", UNSET)
112
+ restart_on_failure = d.pop("restartOnFailure", d.pop("restart_on_failure", UNSET))
113
113
 
114
114
  timeout = d.pop("timeout", UNSET)
115
115
 
116
- wait_for_completion = d.pop("waitForCompletion", UNSET)
116
+ wait_for_completion = d.pop("waitForCompletion", d.pop("wait_for_completion", UNSET))
117
117
 
118
- wait_for_ports = cast(list[int], d.pop("waitForPorts", UNSET))
118
+ wait_for_ports = cast(list[int], d.pop("waitForPorts", d.pop("wait_for_ports", UNSET)))
119
119
 
120
- working_dir = d.pop("workingDir", UNSET)
120
+ working_dir = d.pop("workingDir", d.pop("working_dir", UNSET))
121
121
 
122
122
  process_request = cls(
123
123
  command=command,
@@ -23,7 +23,7 @@ class ProcessRequestEnv:
23
23
  return field_dict
24
24
 
25
25
  @classmethod
26
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
26
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
27
27
  if not src_dict:
28
28
  return None
29
29
  d = src_dict.copy()
@@ -91,15 +91,15 @@ class ProcessResponse:
91
91
  return field_dict
92
92
 
93
93
  @classmethod
94
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
94
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
95
95
  if not src_dict:
96
96
  return None
97
97
  d = src_dict.copy()
98
98
  command = d.pop("command")
99
99
 
100
- completed_at = d.pop("completedAt")
100
+ completed_at = d.pop("completedAt") if "completedAt" in d else d.pop("completed_at")
101
101
 
102
- exit_code = d.pop("exitCode")
102
+ exit_code = d.pop("exitCode") if "exitCode" in d else d.pop("exit_code")
103
103
 
104
104
  logs = d.pop("logs")
105
105
 
@@ -107,17 +107,17 @@ class ProcessResponse:
107
107
 
108
108
  pid = d.pop("pid")
109
109
 
110
- started_at = d.pop("startedAt")
110
+ started_at = d.pop("startedAt") if "startedAt" in d else d.pop("started_at")
111
111
 
112
112
  status = ProcessResponseStatus(d.pop("status"))
113
113
 
114
- working_dir = d.pop("workingDir")
114
+ working_dir = d.pop("workingDir") if "workingDir" in d else d.pop("working_dir")
115
115
 
116
- max_restarts = d.pop("maxRestarts", UNSET)
116
+ max_restarts = d.pop("maxRestarts", d.pop("max_restarts", UNSET))
117
117
 
118
- restart_count = d.pop("restartCount", UNSET)
118
+ restart_count = d.pop("restartCount", d.pop("restart_count", UNSET))
119
119
 
120
- restart_on_failure = d.pop("restartOnFailure", UNSET)
120
+ restart_on_failure = d.pop("restartOnFailure", d.pop("restart_on_failure", UNSET))
121
121
 
122
122
  process_response = cls(
123
123
  command=command,
@@ -48,7 +48,7 @@ class PutFilesystemMultipartUploadIdPartBody:
48
48
  return field_dict
49
49
 
50
50
  @classmethod
51
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
51
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
52
52
  if not src_dict:
53
53
  return None
54
54
  d = src_dict.copy()
@@ -42,7 +42,7 @@ class RankedFile:
42
42
  return field_dict
43
43
 
44
44
  @classmethod
45
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
45
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
46
46
  if not src_dict:
47
47
  return None
48
48
  d = src_dict.copy()
@@ -54,7 +54,7 @@ class RerankingResponse:
54
54
  return field_dict
55
55
 
56
56
  @classmethod
57
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
57
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
58
58
  from ..models.ranked_file import RankedFile
59
59
 
60
60
  if not src_dict:
@@ -35,7 +35,7 @@ class Subdirectory:
35
35
  return field_dict
36
36
 
37
37
  @classmethod
38
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
38
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
39
39
  if not src_dict:
40
40
  return None
41
41
  d = src_dict.copy()
@@ -38,7 +38,7 @@ class SuccessResponse:
38
38
  return field_dict
39
39
 
40
40
  @classmethod
41
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
41
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
42
42
  if not src_dict:
43
43
  return None
44
44
  d = src_dict.copy()
@@ -39,7 +39,7 @@ class TreeRequest:
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
  from ..models.tree_request_files import TreeRequestFiles
44
44
 
45
45
  if not src_dict:
@@ -23,7 +23,7 @@ class TreeRequestFiles:
23
23
  return field_dict
24
24
 
25
25
  @classmethod
26
- def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T:
26
+ def from_dict(cls: type[T], src_dict: dict[str, Any]) -> T | None:
27
27
  if not src_dict:
28
28
  return None
29
29
  d = src_dict.copy()
@@ -43,7 +43,7 @@ class WelcomeResponse:
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()
@@ -1,4 +1,3 @@
1
-
2
1
  from .interpreter import CodeInterpreter
3
2
  from .sandbox import (
4
3
  SandboxCodegen,
@@ -1,6 +1,4 @@
1
-
2
1
  import httpx
3
- from contextlib import asynccontextmanager
4
2
 
5
3
  from ...common.internal import get_forced_url, get_global_unique_hash
6
4
  from ...common.settings import settings
@@ -61,7 +59,9 @@ class SandboxAction:
61
59
  base_url = self.sandbox_config.force_url or self.url
62
60
  self._client = httpx.AsyncClient(
63
61
  base_url=base_url,
64
- headers=self.sandbox_config.headers if self.sandbox_config.force_url else {**settings.headers, **self.sandbox_config.headers},
62
+ headers=self.sandbox_config.headers
63
+ if self.sandbox_config.force_url
64
+ else {**settings.headers, **self.sandbox_config.headers},
65
65
  http2=False,
66
66
  limits=httpx.Limits(max_connections=100, max_keepalive_connections=20),
67
67
  timeout=httpx.Timeout(300.0, connect=10.0),
@@ -1,4 +1,3 @@
1
-
2
1
  from ...common.settings import settings
3
2
  from ..client.api.codegen.get_codegen_reranking_path import (
4
3
  asyncio as get_codegen_reranking_path,
@@ -39,7 +38,7 @@ class SandboxCodegen(SandboxAction):
39
38
  # Create a Client instance with the sandbox URL and headers
40
39
  client = Client(
41
40
  base_url=self.url,
42
- headers={**settings.headers, **self.sandbox_config.headers}
41
+ headers={**settings.headers, **self.sandbox_config.headers},
43
42
  )
44
43
 
45
44
  async with client:
@@ -77,7 +76,7 @@ class SandboxCodegen(SandboxAction):
77
76
  # Create a Client instance with the sandbox URL and headers
78
77
  client = Client(
79
78
  base_url=self.url,
80
- headers={**settings.headers, **self.sandbox_config.headers}
79
+ headers={**settings.headers, **self.sandbox_config.headers},
81
80
  )
82
81
 
83
82
  async with client:
@@ -94,4 +93,3 @@ class SandboxCodegen(SandboxAction):
94
93
  if isinstance(response, ErrorResponse):
95
94
  raise Exception(f"Reranking failed: {response}")
96
95
  return response
97
-