blaxel 0.2.32__tar.gz → 0.2.34__tar.gz
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.
- {blaxel-0.2.32 → blaxel-0.2.34}/PKG-INFO +1 -2
- {blaxel-0.2.32 → blaxel-0.2.34}/pyproject.toml +1 -3
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/__init__.py +2 -2
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/__init__.py +2 -1
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/common/__init__.py +5 -1
- blaxel-0.2.34/src/blaxel/core/common/autoload.py +49 -0
- blaxel-0.2.34/src/blaxel/core/common/sentry.py +319 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/process.py +144 -29
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/sandbox.py +34 -10
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/process.py +150 -24
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/sandbox.py +34 -10
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/types.py +5 -0
- blaxel-0.2.34/src/blaxel/core/volume/__init__.py +5 -0
- blaxel-0.2.34/src/blaxel/core/volume/volume.py +367 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/small.py +6 -0
- blaxel-0.2.32/src/blaxel/core/common/autoload.py +0 -174
- blaxel-0.2.32/src/blaxel/core/volume/__init__.py +0 -5
- blaxel-0.2.32/src/blaxel/core/volume/volume.py +0 -173
- {blaxel-0.2.32 → blaxel-0.2.34}/.github/workflows/dev.yaml +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/.github/workflows/prod.yaml +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/.github/workflows/test.yaml +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/.gitignore +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/.vscode/extensions.json +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/.vscode/settings.json +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/LICENSE +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/Makefile +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/README.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/agents/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/authentication/apikey.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/authentication/clientcredentials.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/authentication/devicemode.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/authentication/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/authentication/oauth.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/authentication/types.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/cache/cache.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/cache/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/agents/create_agent.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/agents/delete_agent.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/agents/get_agent.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/agents/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/agents/list_agent_revisions.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/agents/list_agents.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/agents/update_agent.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/create_sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/create_sandbox_preview.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/create_sandbox_preview_token.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/delete_sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/delete_sandbox_preview.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/delete_sandbox_preview_token.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/get_sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/get_sandbox_preview.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/list_sandbox_preview_tokens.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/list_sandbox_previews.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/list_sandboxes.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/start_sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/stop_sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/update_sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/compute/update_sandbox_preview.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/configurations/get_configuration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/configurations/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/customdomains/create_custom_domain.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/customdomains/delete_custom_domain.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/customdomains/get_custom_domain.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/customdomains/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/customdomains/list_custom_domains.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/customdomains/update_custom_domain.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/customdomains/verify_custom_domain.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/default/get_template.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/default/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/default/list_mcp_hub_definitions.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/default/list_sandbox_hub_definitions.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/functions/create_function.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/functions/delete_function.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/functions/get_function.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/functions/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/functions/list_function_revisions.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/functions/list_functions.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/functions/update_function.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/create_integration_connection.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/delete_integration_connection.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/get_integration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/get_integration_connection.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/get_integration_connection_model.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/get_integration_connection_model_endpoint_configurations.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/list_integration_connection_models.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/list_integration_connections.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/integrations/update_integration_connection.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/invitations/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/invitations/list_all_pending_invitations.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/create_job.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/create_job_execution.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/delete_job.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/delete_job_execution.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/get_job.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/get_job_execution.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/list_job_executions.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/list_job_revisions.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/list_jobs.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/jobs/update_job.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/locations/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/locations/list_locations.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/models/create_model.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/models/delete_model.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/models/get_model.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/models/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/models/list_model_revisions.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/models/list_models.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/models/update_model.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/policies/create_policy.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/policies/delete_policy.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/policies/get_policy.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/policies/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/policies/list_policies.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/policies/update_policy.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/privateclusters/create_private_cluster.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/privateclusters/delete_private_cluster.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/privateclusters/get_private_cluster.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/privateclusters/get_private_cluster_health.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/privateclusters/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/privateclusters/list_private_clusters.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/privateclusters/update_private_cluster.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/privateclusters/update_private_cluster_health.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/public_ipslist/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/public_ipslist/list_public_ips.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/service_accounts/create_api_key_for_service_account.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/service_accounts/create_workspace_service_account.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/service_accounts/delete_api_key_for_service_account.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/service_accounts/delete_workspace_service_account.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/service_accounts/get_workspace_service_accounts.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/service_accounts/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/service_accounts/list_api_keys_for_service_account.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/service_accounts/update_workspace_service_account.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/templates/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/templates/list_templates.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/volumes/create_volume.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/volumes/delete_volume.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/volumes/get_volume.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/volumes/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/volumes/list_volumes.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/accept_workspace_invitation.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/check_workspace_availability.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/create_workspace.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/decline_workspace_invitation.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/delete_workspace.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/get_workspace.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/invite_workspace_user.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/leave_workspace.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/list_workspace_users.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/list_workspaces.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/remove_workspace_user.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/update_workspace.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/api/workspaces/update_workspace_user_role.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/client.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/errors.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/acl.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/agent.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/agent_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/api_key.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/billable_time_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/check_workspace_availability_body.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/configuration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/continent.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/core_event.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/core_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/core_spec_configurations.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/country.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/create_api_key_for_service_account_body.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/create_job_execution_request.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/create_job_execution_request_tasks_item.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/create_job_execution_response.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/create_job_execution_response_tasks_item.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/create_workspace_service_account_body.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/create_workspace_service_account_response_200.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/custom_domain.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/custom_domain_metadata.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/custom_domain_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/custom_domain_spec_txt_records.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/delete_sandbox_preview_token_response_200.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/delete_workspace_service_account_response_200.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/entrypoint.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/entrypoint_env.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/expiration_policy.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/flavor.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/form.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/form_config.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/form_oauth.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/form_secrets.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/function.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/function_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/get_workspace_service_accounts_response_200_item.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/histogram_bucket.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/histogram_stats.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_additional_infos.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_connection.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_connection_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_connection_spec_config.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_connection_spec_secret.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_endpoint.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_endpoint_token.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_endpoints.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_headers.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_model.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_organization.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_query_params.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/integration_repository.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/invite_workspace_user_body.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution_config.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution_metadata.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution_stats.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution_task.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution_task_condition.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution_task_metadata.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_execution_task_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_metrics.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_metrics_executions_chart.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_metrics_executions_total.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_metrics_tasks_chart.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_metrics_tasks_total.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/job_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/jobs_chart_value.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/jobs_network_chart.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/jobs_success_failed_chart.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/jobs_total.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/last_n_requests_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/latency_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/location_response.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/logs_response.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/logs_response_data.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/mcp_definition.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/mcp_definition_entrypoint.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/mcp_definition_form.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/memory_allocation_by_name.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/memory_allocation_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/metadata.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/metadata_labels.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/metrics.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/metrics_models.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/metrics_request_total_per_code.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/metrics_rps_per_code.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/model.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/model_private_cluster.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/model_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/o_auth.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/owner_fields.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/pending_invitation.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/pending_invitation_accept.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/pending_invitation_render.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/pending_invitation_render_invited_by.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/pending_invitation_render_workspace.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/pending_invitation_workspace_details.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/pod_template_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/policy.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/policy_location.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/policy_max_tokens.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/policy_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/port.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/preview.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/preview_metadata.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/preview_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/preview_spec_request_headers.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/preview_spec_response_headers.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/preview_token.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/preview_token_metadata.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/preview_token_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/private_cluster.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/private_location.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/public_ip.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/public_ips.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/region.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/repository.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_duration_over_time_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_duration_over_time_metrics.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_total_by_origin_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_total_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_total_metric_request_total_per_code.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_total_metric_rps_per_code.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/request_total_response_data.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_log.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_log_chart.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_log_response.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_metrics.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_metrics_request_total_per_code.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_metrics_request_total_per_code_previous.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_metrics_rps_per_code.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_metrics_rps_per_code_previous.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/resource_trace.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/revision_configuration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/revision_metadata.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/runtime.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/runtime_configuration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/runtime_startup_probe.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/sandbox_definition.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/sandbox_lifecycle.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/sandbox_metrics.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/sandbox_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/serverless_config.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/serverless_config_configuration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/spec_configuration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/start_sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/stop_sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/store_agent.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/store_agent_labels.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/store_configuration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/store_configuration_option.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/template.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/template_variable.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/time_fields.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/time_to_first_token_over_time_metrics.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/token_rate_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/token_rate_metrics.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/token_total_metric.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/trace_ids_response.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/trigger.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/trigger_configuration.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/trigger_configuration_task.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/update_workspace_service_account_body.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/update_workspace_service_account_response_200.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/update_workspace_user_role_body.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/volume.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/volume_attachment.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/volume_spec.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/volume_state.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/websocket_channel.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/websocket_message.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/workspace.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/workspace_labels.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/workspace_runtime.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/models/workspace_user.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/client/types.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/common/env.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/common/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/common/internal.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/common/logger.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/common/settings.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/jobs/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/mcp/client.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/mcp/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/mcp/server.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/models/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/action.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/filesystem/delete_filesystem_path.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/filesystem/get_filesystem_path.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/filesystem/get_watch_filesystem_path.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/filesystem/get_ws_watch_filesystem_path.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/filesystem/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/filesystem/put_filesystem_path.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/network/delete_network_process_pid_monitor.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/network/get_network_process_pid_ports.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/network/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/network/post_network_process_pid_monitor.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/delete_process_identifier.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/delete_process_identifier_kill.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/get_process.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/get_process_identifier.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/get_process_identifier_logs.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/get_process_identifier_logs_stream.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/get_ws_process_identifier_logs_stream.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/api/process/post_process.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/client.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/errors.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/delete_network_process_pid_monitor_response_200.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/directory.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/error_response.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/file.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/file_request.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/file_with_content.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/get_network_process_pid_ports_response_200.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/port_monitor_request.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/post_network_process_pid_monitor_response_200.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/process_logs.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/process_request.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/process_request_env.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/process_response.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/process_response_status.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/subdirectory.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/models/success_response.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/client/types.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/filesystem.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/network.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/preview.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/process.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/sandbox.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/session.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/sandbox/types.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/tools/common.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/tools/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/tools/types.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/volume/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/core/volume/volume.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/crewai.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/googleadk.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/index.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/langgraph.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/livekit.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/llamaindex.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/openai.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/pydantic.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/docs/blaxel/telemetry.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/openapi-python-client.yml +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/pytest.ini +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/agents/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/authentication/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/authentication/apikey.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/authentication/clientcredentials.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/authentication/devicemode.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/authentication/oauth.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/authentication/types.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/cache/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/cache/cache.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/agents/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/agents/create_agent.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/agents/delete_agent.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/agents/get_agent.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/agents/list_agent_revisions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/agents/list_agents.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/agents/update_agent.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/create_sandbox.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/create_sandbox_preview.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/create_sandbox_preview_token.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/delete_sandbox.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/delete_sandbox_preview.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/delete_sandbox_preview_token.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/get_sandbox.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/get_sandbox_preview.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/list_sandbox_preview_tokens.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/list_sandbox_previews.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/list_sandboxes.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/update_sandbox.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/compute/update_sandbox_preview.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/configurations/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/configurations/get_configuration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/customdomains/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/customdomains/create_custom_domain.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/customdomains/delete_custom_domain.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/customdomains/get_custom_domain.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/customdomains/list_custom_domains.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/customdomains/update_custom_domain.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/customdomains/verify_custom_domain.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/default/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/default/get_template.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/default/list_mcp_hub_definitions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/default/list_sandbox_hub_definitions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/functions/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/functions/create_function.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/functions/delete_function.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/functions/get_function.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/functions/list_function_revisions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/functions/list_functions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/functions/update_function.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/images/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/images/cleanup_images.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/images/delete_image.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/images/delete_image_tag.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/images/get_image.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/images/list_images.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/create_integration_connection.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/delete_integration_connection.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/get_integration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/get_integration_connection.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/get_integration_connection_model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/get_integration_connection_model_endpoint_configurations.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/list_integration_connection_models.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/list_integration_connections.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/integrations/update_integration_connection.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/invitations/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/invitations/list_all_pending_invitations.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/create_job.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/create_job_execution.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/delete_job.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/delete_job_execution.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/get_job.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/get_job_execution.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/list_job_executions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/list_job_revisions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/list_jobs.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/jobs/update_job.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/locations/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/locations/list_locations.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/models/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/models/create_model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/models/delete_model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/models/get_model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/models/list_model_revisions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/models/list_models.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/models/update_model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/policies/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/policies/create_policy.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/policies/delete_policy.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/policies/get_policy.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/policies/list_policies.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/policies/update_policy.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/public_ipslist/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/public_ipslist/list_public_ips.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/service_accounts/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/service_accounts/create_api_key_for_service_account.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/service_accounts/create_workspace_service_account.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/service_accounts/delete_api_key_for_service_account.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/service_accounts/delete_workspace_service_account.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/service_accounts/get_workspace_service_accounts.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/service_accounts/list_api_keys_for_service_account.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/service_accounts/update_workspace_service_account.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/templates/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/templates/list_templates.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volume_templates/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volume_templates/create_volume_template.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volume_templates/delete_volume_template.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volume_templates/delete_volume_template_version.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volume_templates/get_volume_template.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volume_templates/list_volume_templates.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volume_templates/update_volume_template.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volumes/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volumes/create_volume.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volumes/delete_volume.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volumes/get_volume.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/volumes/list_volumes.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/accept_workspace_invitation.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/check_workspace_availability.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/create_workspace.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/decline_workspace_invitation.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/delete_workspace.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/get_workspace.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/invite_workspace_user.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/leave_workspace.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/list_workspace_users.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/list_workspaces.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/remove_workspace_user.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/update_workspace.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/api/workspaces/update_workspace_user_role.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/client.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/errors.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/acl.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/agent.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/agent_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/api_key.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/billable_time_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/check_workspace_availability_body.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/cleanup_images_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/configuration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/continent.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/core_event.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/core_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/core_spec_configurations.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/country.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/create_api_key_for_service_account_body.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/create_job_execution_request.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/create_job_execution_request_tasks_item.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/create_job_execution_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/create_job_execution_response_tasks_item.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/create_workspace_service_account_body.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/create_workspace_service_account_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/custom_domain.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/custom_domain_metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/custom_domain_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/custom_domain_spec_txt_records.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/delete_sandbox_preview_token_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/delete_volume_template_version_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/delete_workspace_service_account_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/entrypoint.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/entrypoint_env.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/expiration_policy.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/flavor.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/form.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/form_config.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/form_oauth.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/form_secrets.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/function.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/function_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/get_workspace_service_accounts_response_200_item.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/histogram_bucket.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/histogram_stats.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/image.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/image_metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/image_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/image_tag.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_additional_infos.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_connection.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_connection_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_connection_spec_config.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_connection_spec_secret.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_endpoint.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_endpoint_token.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_endpoints.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_headers.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_organization.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_query_params.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/integration_repository.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/invite_workspace_user_body.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution_config.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution_metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution_stats.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution_task.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution_task_condition.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution_task_metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_execution_task_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_metrics.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_metrics_executions_total.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_metrics_tasks_total.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/job_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/jobs_chart_value.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/jobs_network_chart.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/jobs_success_failed_chart.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/jobs_total.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/last_n_requests_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/latency_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/location_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/logs_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/logs_response_data.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/mcp_definition.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/mcp_definition_entrypoint.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/mcp_definition_form.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/memory_allocation_by_name.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/memory_allocation_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/metadata_labels.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/metrics.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/metrics_models.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/metrics_request_total_per_code.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/metrics_rps_per_code.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/model_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/o_auth.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/owner_fields.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/pending_invitation.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/pending_invitation_accept.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/pending_invitation_render.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/pending_invitation_render_invited_by.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/pending_invitation_render_workspace.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/pending_invitation_workspace_details.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/pod_template_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/policy.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/policy_location.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/policy_max_tokens.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/policy_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/port.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/preview.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/preview_metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/preview_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/preview_spec_request_headers.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/preview_spec_response_headers.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/preview_token.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/preview_token_metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/preview_token_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/private_location.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/public_ip.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/public_ips.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/region.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/repository.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_duration_over_time_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_duration_over_time_metrics.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_total_by_origin_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_total_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_total_metric_request_total_per_code.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_total_metric_rps_per_code.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/request_total_response_data.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_log.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_log_chart.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_log_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_metrics.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_metrics_request_total_per_code.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_metrics_request_total_per_code_previous.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_metrics_rps_per_code.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_metrics_rps_per_code_previous.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/resource_trace.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/revision_configuration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/revision_metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/runtime.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/runtime_configuration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/runtime_startup_probe.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/sandbox.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/sandbox_definition.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/sandbox_lifecycle.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/sandbox_metrics.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/sandbox_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/serverless_config.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/serverless_config_configuration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/spec_configuration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/start_sandbox.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/stop_sandbox.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/store_agent.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/store_agent_labels.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/store_configuration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/store_configuration_option.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/template.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/template_variable.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/time_fields.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/time_to_first_token_over_time_metrics.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/token_rate_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/token_rate_metrics.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/token_total_metric.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/trace_ids_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/trigger.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/trigger_configuration.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/trigger_configuration_task.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/update_workspace_service_account_body.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/update_workspace_service_account_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/update_workspace_user_role_body.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/volume.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/volume_attachment.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/volume_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/volume_state.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/volume_template.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/volume_template_spec.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/volume_template_state.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/volume_template_version.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/websocket_channel.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/websocket_message.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/workspace.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/workspace_labels.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/workspace_runtime.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/models/workspace_user.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/response_interceptor.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/client/types.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/common/env.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/common/internal.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/common/logger.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/common/settings.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/common/webhook.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/jobs/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/mcp/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/mcp/client.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/mcp/server.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/models/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/codegen/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/codegen/get_codegen_reranking_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/fastapply/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/fastapply/put_codegen_fastapply_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/delete_filesystem_multipart_upload_id_abort.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/delete_filesystem_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/delete_filesystem_tree_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/get_filesystem_content_search_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/get_filesystem_find_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/get_filesystem_multipart.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/get_filesystem_multipart_upload_id_parts.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/get_filesystem_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/get_filesystem_search_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/get_filesystem_tree_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/get_watch_filesystem_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/post_filesystem_multipart_initiate_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/post_filesystem_multipart_upload_id_complete.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/put_filesystem_multipart_upload_id_part.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/put_filesystem_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/filesystem/put_filesystem_tree_path.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/network/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/network/delete_network_process_pid_monitor.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/network/get_network_process_pid_ports.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/network/post_network_process_pid_monitor.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/process/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/process/delete_process_identifier.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/process/delete_process_identifier_kill.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/process/get_process.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/process/get_process_identifier.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/process/get_process_identifier_logs.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/process/get_process_identifier_logs_stream.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/process/post_process.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/root/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/root/delete.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/root/get.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/root/options.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/root/patch.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/root/post.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/api/root/put.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/client.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/errors.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/apply_edit_request.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/apply_edit_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/content_search_match.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/content_search_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/delete_network_process_pid_monitor_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/directory.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/error_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/file.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/file_request.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/file_with_content.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/filesystem_multipart_upload.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/filesystem_multipart_upload_parts.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/filesystem_uploaded_part.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/find_match.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/find_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/fuzzy_search_match.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/fuzzy_search_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/get_network_process_pid_ports_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/multipart_complete_request.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/multipart_initiate_request.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/multipart_initiate_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/multipart_list_parts_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/multipart_list_uploads_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/multipart_part_info.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/multipart_upload_part_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/port_monitor_request.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/post_network_process_pid_monitor_response_200.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/process_logs.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/process_request.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/process_request_env.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/process_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/process_response_status.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/put_filesystem_multipart_upload_id_part_body.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/ranked_file.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/reranking_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/subdirectory.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/success_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/tree_request.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/tree_request_files.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/models/welcome_response.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/client/types.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/action.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/codegen.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/filesystem.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/interpreter.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/network.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/preview.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/default/session.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/action.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/codegen.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/filesystem.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/interpreter.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/network.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/preview.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/sandbox/sync/session.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/tools/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/tools/common.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/core/tools/types.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/crewai/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/crewai/model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/crewai/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/crewai/tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/googleadk/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/googleadk/model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/googleadk/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/googleadk/tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/langgraph/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/langgraph/custom/gemini.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/langgraph/model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/langgraph/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/langgraph/tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/livekit/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/livekit/model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/livekit/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/livekit/tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/llamaindex/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/llamaindex/custom/cohere.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/llamaindex/model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/llamaindex/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/llamaindex/tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/openai/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/openai/model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/openai/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/openai/tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/pydantic/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/pydantic/custom/gemini.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/pydantic/model.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/pydantic/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/pydantic/tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/__init__.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/exporters.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/instrumentation/blaxel_core.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/instrumentation/blaxel_langgraph.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/instrumentation/blaxel_langgraph_gemini.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/instrumentation/blaxel_llamaindex.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/instrumentation/map.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/instrumentation/utils.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/log/log.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/log/logger.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/manager.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/py.typed +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/src/blaxel/telemetry/span.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/.gitignore.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/README.md.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/api_init.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/client.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/endpoint_init.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/endpoint_macros.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/endpoint_module.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/errors.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/helpers.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/int_enum.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/literal_enum.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/model.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/models_init.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/package_init.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/any_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/boolean_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/const_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/date_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/datetime_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/enum_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/file_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/float_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/helpers.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/int_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/list_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/literal_enum_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/model_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/property_macros.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/union_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/property_templates/uuid_property.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/pyproject.toml.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/pyproject_ruff.toml.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/setup.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/str_enum.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/templates/types.py.jinja +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/README.md +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/conftest.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/core/test_agents.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/core/test_environment.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/core/test_hash.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/core/test_jobs.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/core/test_models.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/core/test_sandbox.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/core/test_snake_case.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/core/test_tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/agents/agent_crewai.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/agents/agent_googleadk.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/agents/agent_langgraph.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/agents/agent_livekit.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/agents/agent_llamaindex.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/agents/agent_openai.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/agents/agent_pydantic.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/api/api_crewai.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/api/api_google_adk.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/api/api_langgraph.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/api/api_llamaindex.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/api/api_openai.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/bl_agents.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/bl_jobs.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/bl_models.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/bl_models_authentication.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/bl_tools.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/client.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/mcp_client.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/mcp_server.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/test_job_executions.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/core/webhook_ngrok.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/archive.zip +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/async.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/bench_find.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/binary_write.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/codegen.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/comprehensive.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/create.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/custom_domain.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/execfirst.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/expiration_policies.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/fs_binary.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/fs_ls_benchmark.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/fs_multipart_upload.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/fs_read.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/interpreter_async.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/interpreter_sync.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/preview.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/process.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/process_kill.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/read_multiple_files.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/region.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/session.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/snapshot.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/stream_logs.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/sync.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/test_lifecycle.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/test_lifecycle_quick.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/ttl.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/update_metadata.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/utils.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/volume_persistence.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/watch_folder.py +0 -0
- {blaxel-0.2.32 → blaxel-0.2.34}/tests/integration/sandbox/write_tree.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: blaxel
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.34
|
|
4
4
|
Summary: Blaxel - AI development platform SDK
|
|
5
5
|
Project-URL: Homepage, https://blaxel.ai
|
|
6
6
|
Project-URL: Documentation, https://docs.blaxel.ai
|
|
@@ -17,7 +17,6 @@ Requires-Dist: pyjwt>=2.0.0
|
|
|
17
17
|
Requires-Dist: python-dateutil>=2.8.0
|
|
18
18
|
Requires-Dist: pyyaml>=6.0.0
|
|
19
19
|
Requires-Dist: requests>=2.32.3
|
|
20
|
-
Requires-Dist: sentry-sdk>=2.46.0
|
|
21
20
|
Requires-Dist: tomli>=2.2.1
|
|
22
21
|
Requires-Dist: websockets<16.0.0
|
|
23
22
|
Provides-Extra: all
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "blaxel"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.34"
|
|
4
4
|
description = "Blaxel - AI development platform SDK"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [{ name = "cploujoux", email = "cploujoux@blaxel.ai" }]
|
|
@@ -17,7 +17,6 @@ dependencies = [
|
|
|
17
17
|
"attrs>=21.3.0",
|
|
18
18
|
"httpx>=0.27.0",
|
|
19
19
|
"mcp>=1.9.4",
|
|
20
|
-
"sentry-sdk>=2.46.0",
|
|
21
20
|
]
|
|
22
21
|
|
|
23
22
|
[project.optional-dependencies]
|
|
@@ -133,7 +132,6 @@ dev = [
|
|
|
133
132
|
"nest-asyncio>=1.6.0",
|
|
134
133
|
"asgi-correlation-id>=4.3.4,<5.0.0",
|
|
135
134
|
"fastapi>=0.115.12",
|
|
136
|
-
"nest-asyncio>=1.6.0",
|
|
137
135
|
"pdoc3>=0.11.5",
|
|
138
136
|
"python-dotenv>=1.1.0",
|
|
139
137
|
"ruff>=0.8.2",
|
|
@@ -4,8 +4,8 @@ from .core.common.autoload import autoload
|
|
|
4
4
|
from .core.common.env import env
|
|
5
5
|
from .core.common.settings import settings
|
|
6
6
|
|
|
7
|
-
__version__ = "0.2.
|
|
8
|
-
__commit__ = "
|
|
7
|
+
__version__ = "0.2.34"
|
|
8
|
+
__commit__ = "84fc1c14e48dec727c7de1966c51022e09f7c80f"
|
|
9
9
|
__sentry_dsn__ = "https://9711de13cd02b285ca4378c01de8dc30@o4508714045276160.ingest.us.sentry.io/4510461121462272"
|
|
10
10
|
__all__ = ["autoload", "settings", "env"]
|
|
11
11
|
|
|
@@ -30,7 +30,7 @@ from .sandbox import (
|
|
|
30
30
|
)
|
|
31
31
|
from .sandbox.types import Sandbox
|
|
32
32
|
from .tools import BlTools, bl_tools, convert_mcp_tool_to_blaxel_tool
|
|
33
|
-
from .volume import VolumeCreateConfiguration, VolumeInstance
|
|
33
|
+
from .volume import SyncVolumeInstance, VolumeCreateConfiguration, VolumeInstance
|
|
34
34
|
|
|
35
35
|
__all__ = [
|
|
36
36
|
"BlAgent",
|
|
@@ -65,6 +65,7 @@ __all__ = [
|
|
|
65
65
|
"convert_mcp_tool_to_blaxel_tool",
|
|
66
66
|
"websocket_client",
|
|
67
67
|
"VolumeInstance",
|
|
68
|
+
"SyncVolumeInstance",
|
|
68
69
|
"VolumeCreateConfiguration",
|
|
69
70
|
"verify_webhook_signature",
|
|
70
71
|
"verify_webhook_from_request",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
from .autoload import autoload
|
|
1
|
+
from .autoload import autoload
|
|
2
2
|
from .env import env
|
|
3
|
+
from .sentry import capture_exception, flush_sentry, init_sentry, is_sentry_initialized
|
|
3
4
|
from .internal import get_alphanumeric_limited_hash, get_global_unique_hash
|
|
4
5
|
from .settings import Settings, settings
|
|
5
6
|
from .webhook import (
|
|
@@ -12,6 +13,9 @@ from .webhook import (
|
|
|
12
13
|
__all__ = [
|
|
13
14
|
"autoload",
|
|
14
15
|
"capture_exception",
|
|
16
|
+
"flush_sentry",
|
|
17
|
+
"init_sentry",
|
|
18
|
+
"is_sentry_initialized",
|
|
15
19
|
"Settings",
|
|
16
20
|
"settings",
|
|
17
21
|
"env",
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
|
|
3
|
+
from ..client import client
|
|
4
|
+
from ..client.response_interceptor import (
|
|
5
|
+
response_interceptors_async,
|
|
6
|
+
response_interceptors_sync,
|
|
7
|
+
)
|
|
8
|
+
from ..sandbox.client import client as client_sandbox
|
|
9
|
+
from .sentry import init_sentry
|
|
10
|
+
from .settings import settings
|
|
11
|
+
|
|
12
|
+
logger = logging.getLogger(__name__)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def telemetry() -> None:
|
|
16
|
+
from blaxel.telemetry import telemetry_manager
|
|
17
|
+
|
|
18
|
+
telemetry_manager.initialize(settings)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def autoload() -> None:
|
|
22
|
+
client.with_base_url(settings.base_url)
|
|
23
|
+
client.with_auth(settings.auth)
|
|
24
|
+
|
|
25
|
+
# Register response interceptors for authentication error handling
|
|
26
|
+
# Access the underlying httpx clients and add event hooks
|
|
27
|
+
# Use sync interceptors for sync clients and async interceptors for async clients
|
|
28
|
+
httpx_client = client.get_httpx_client()
|
|
29
|
+
httpx_client.event_hooks["response"] = response_interceptors_sync
|
|
30
|
+
|
|
31
|
+
httpx_async_client = client.get_async_httpx_client()
|
|
32
|
+
httpx_async_client.event_hooks["response"] = response_interceptors_async
|
|
33
|
+
|
|
34
|
+
httpx_sandbox_client = client_sandbox.get_httpx_client()
|
|
35
|
+
httpx_sandbox_client.event_hooks["response"] = response_interceptors_sync
|
|
36
|
+
|
|
37
|
+
httpx_sandbox_async_client = client_sandbox.get_async_httpx_client()
|
|
38
|
+
httpx_sandbox_async_client.event_hooks["response"] = response_interceptors_async
|
|
39
|
+
|
|
40
|
+
if settings.tracking:
|
|
41
|
+
try:
|
|
42
|
+
init_sentry()
|
|
43
|
+
except Exception:
|
|
44
|
+
pass
|
|
45
|
+
|
|
46
|
+
try:
|
|
47
|
+
telemetry()
|
|
48
|
+
except Exception:
|
|
49
|
+
pass
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import atexit
|
|
2
|
+
import json
|
|
3
|
+
import logging
|
|
4
|
+
import sys
|
|
5
|
+
import threading
|
|
6
|
+
import traceback
|
|
7
|
+
import uuid
|
|
8
|
+
from asyncio import CancelledError
|
|
9
|
+
from datetime import datetime, timezone
|
|
10
|
+
from typing import Any
|
|
11
|
+
from urllib.parse import urlparse
|
|
12
|
+
|
|
13
|
+
import httpx
|
|
14
|
+
|
|
15
|
+
from .settings import settings
|
|
16
|
+
|
|
17
|
+
logger = logging.getLogger(__name__)
|
|
18
|
+
|
|
19
|
+
# Lightweight Sentry client using httpx - only captures SDK errors
|
|
20
|
+
_sentry_initialized = False
|
|
21
|
+
_captured_exceptions: set = set() # Track already captured exceptions to avoid duplicates
|
|
22
|
+
|
|
23
|
+
# Parsed DSN components
|
|
24
|
+
_sentry_config: dict[str, str] | None = None
|
|
25
|
+
|
|
26
|
+
# Queue for pending events
|
|
27
|
+
_pending_events: list[dict[str, Any]] = []
|
|
28
|
+
_flush_lock = threading.Lock()
|
|
29
|
+
_handlers_registered = False
|
|
30
|
+
|
|
31
|
+
# Exceptions that are part of normal control flow and should not be captured
|
|
32
|
+
_IGNORED_EXCEPTIONS = (
|
|
33
|
+
StopIteration, # Iterator exhaustion
|
|
34
|
+
StopAsyncIteration, # Async iterator exhaustion
|
|
35
|
+
GeneratorExit, # Generator cleanup
|
|
36
|
+
KeyboardInterrupt, # User interrupt (Ctrl+C)
|
|
37
|
+
SystemExit, # Program exit
|
|
38
|
+
CancelledError, # Async task cancellation
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# Optional dependencies that may not be installed - import errors for these are expected
|
|
42
|
+
_OPTIONAL_DEPENDENCIES = ("opentelemetry",)
|
|
43
|
+
|
|
44
|
+
# SDK path patterns to identify errors originating from our SDK
|
|
45
|
+
_SDK_PATTERNS = [
|
|
46
|
+
"blaxel/",
|
|
47
|
+
"blaxel\\",
|
|
48
|
+
"site-packages/blaxel",
|
|
49
|
+
"site-packages\\blaxel",
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def _is_from_sdk(error: Exception) -> bool:
|
|
54
|
+
"""Check if an error originated from SDK code based on stack trace."""
|
|
55
|
+
tb = error.__traceback__
|
|
56
|
+
if not tb:
|
|
57
|
+
return False
|
|
58
|
+
|
|
59
|
+
# Walk through the traceback
|
|
60
|
+
while tb:
|
|
61
|
+
filename = tb.tb_frame.f_code.co_filename
|
|
62
|
+
if any(pattern in filename for pattern in _SDK_PATTERNS):
|
|
63
|
+
return True
|
|
64
|
+
tb = tb.tb_next
|
|
65
|
+
|
|
66
|
+
return False
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def _parse_dsn(dsn: str) -> dict[str, str] | None:
|
|
70
|
+
"""
|
|
71
|
+
Parse a Sentry DSN into its components.
|
|
72
|
+
DSN format: https://{public_key}@{host}/{project_id}
|
|
73
|
+
"""
|
|
74
|
+
try:
|
|
75
|
+
parsed = urlparse(dsn)
|
|
76
|
+
public_key = parsed.username
|
|
77
|
+
host = parsed.hostname
|
|
78
|
+
project_id = parsed.path.lstrip("/")
|
|
79
|
+
|
|
80
|
+
if not public_key or not host or not project_id:
|
|
81
|
+
return None
|
|
82
|
+
|
|
83
|
+
return {"public_key": public_key, "host": host, "project_id": project_id}
|
|
84
|
+
except Exception:
|
|
85
|
+
return None
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
def _generate_event_id() -> str:
|
|
89
|
+
"""Generate a UUID v4 for event ID."""
|
|
90
|
+
return uuid.uuid4().hex
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def _parse_stack_trace(exc: Exception) -> list[dict[str, Any]]:
|
|
94
|
+
"""Parse exception traceback into Sentry-compatible frames."""
|
|
95
|
+
frames: list[dict[str, Any]] = []
|
|
96
|
+
tb = traceback.extract_tb(exc.__traceback__)
|
|
97
|
+
|
|
98
|
+
for frame in tb:
|
|
99
|
+
frames.append(
|
|
100
|
+
{
|
|
101
|
+
"filename": frame.filename,
|
|
102
|
+
"function": frame.name or "<anonymous>",
|
|
103
|
+
"lineno": frame.lineno,
|
|
104
|
+
"colno": 0,
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
return frames
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def _error_to_sentry_event(error: Exception) -> dict[str, Any]:
|
|
112
|
+
"""Convert an Exception to a Sentry event payload."""
|
|
113
|
+
frames = _parse_stack_trace(error)
|
|
114
|
+
|
|
115
|
+
return {
|
|
116
|
+
"event_id": _generate_event_id(),
|
|
117
|
+
"timestamp": datetime.now(timezone.utc).timestamp(),
|
|
118
|
+
"platform": "python",
|
|
119
|
+
"level": "error",
|
|
120
|
+
"environment": settings.env,
|
|
121
|
+
"release": f"sdk-python@{settings.version}",
|
|
122
|
+
"tags": {
|
|
123
|
+
"blaxel.workspace": settings.workspace,
|
|
124
|
+
"blaxel.version": settings.version,
|
|
125
|
+
"blaxel.commit": settings.commit,
|
|
126
|
+
},
|
|
127
|
+
"exception": {
|
|
128
|
+
"values": [
|
|
129
|
+
{
|
|
130
|
+
"type": type(error).__name__,
|
|
131
|
+
"value": str(error),
|
|
132
|
+
"stacktrace": {"frames": frames},
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def _send_to_sentry(event: dict[str, Any]) -> None:
|
|
140
|
+
"""Send an event to Sentry using httpx."""
|
|
141
|
+
if not _sentry_config:
|
|
142
|
+
return
|
|
143
|
+
|
|
144
|
+
public_key = _sentry_config["public_key"]
|
|
145
|
+
host = _sentry_config["host"]
|
|
146
|
+
project_id = _sentry_config["project_id"]
|
|
147
|
+
envelope_url = f"https://{host}/api/{project_id}/envelope/"
|
|
148
|
+
|
|
149
|
+
# Create envelope header
|
|
150
|
+
envelope_header = json.dumps(
|
|
151
|
+
{
|
|
152
|
+
"event_id": event["event_id"],
|
|
153
|
+
"sent_at": datetime.now(timezone.utc).isoformat(),
|
|
154
|
+
"dsn": f"https://{public_key}@{host}/{project_id}",
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
# Create item header
|
|
159
|
+
item_header = json.dumps({"type": "event", "content_type": "application/json"})
|
|
160
|
+
|
|
161
|
+
# Create envelope body
|
|
162
|
+
envelope = f"{envelope_header}\n{item_header}\n{json.dumps(event)}"
|
|
163
|
+
|
|
164
|
+
try:
|
|
165
|
+
httpx.post(
|
|
166
|
+
envelope_url,
|
|
167
|
+
headers={
|
|
168
|
+
"Content-Type": "application/x-sentry-envelope",
|
|
169
|
+
"X-Sentry-Auth": f"Sentry sentry_version=7, sentry_client=blaxel-sdk/{settings.version}, sentry_key={public_key}",
|
|
170
|
+
},
|
|
171
|
+
content=envelope,
|
|
172
|
+
timeout=5.0,
|
|
173
|
+
)
|
|
174
|
+
except Exception:
|
|
175
|
+
# Silently fail - error reporting should never break the SDK
|
|
176
|
+
pass
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
def _get_exception_key(exc_type, exc_value, frame) -> str:
|
|
180
|
+
"""Generate a unique key for an exception based on type, message, and origin."""
|
|
181
|
+
exc_name = exc_type.__name__ if exc_type else "Unknown"
|
|
182
|
+
exc_msg = str(exc_value) if exc_value else ""
|
|
183
|
+
tb = getattr(exc_value, "__traceback__", None)
|
|
184
|
+
if tb:
|
|
185
|
+
while tb.tb_next:
|
|
186
|
+
tb = tb.tb_next
|
|
187
|
+
origin = f"{tb.tb_frame.f_code.co_filename}:{tb.tb_lineno}"
|
|
188
|
+
else:
|
|
189
|
+
origin = f"{frame.f_code.co_filename}:{frame.f_lineno}"
|
|
190
|
+
return f"{exc_name}:{exc_msg}:{origin}"
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
def _is_optional_dependency_error(exc_type, exc_value) -> bool:
|
|
194
|
+
"""Check if the exception is an import error for an optional dependency."""
|
|
195
|
+
if exc_type and issubclass(exc_type, ImportError):
|
|
196
|
+
msg = str(exc_value).lower()
|
|
197
|
+
return any(dep in msg for dep in _OPTIONAL_DEPENDENCIES)
|
|
198
|
+
return False
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
def _trace_blaxel_exceptions(frame, event, arg):
|
|
202
|
+
"""Trace function that captures exceptions from blaxel SDK code."""
|
|
203
|
+
if event == "exception":
|
|
204
|
+
exc_type, exc_value, exc_tb = arg
|
|
205
|
+
|
|
206
|
+
# Skip control flow exceptions (not actual errors)
|
|
207
|
+
if exc_type and issubclass(exc_type, _IGNORED_EXCEPTIONS):
|
|
208
|
+
return _trace_blaxel_exceptions
|
|
209
|
+
|
|
210
|
+
# Skip import errors for optional dependencies (expected when not installed)
|
|
211
|
+
if _is_optional_dependency_error(exc_type, exc_value):
|
|
212
|
+
return _trace_blaxel_exceptions
|
|
213
|
+
|
|
214
|
+
filename = frame.f_code.co_filename
|
|
215
|
+
|
|
216
|
+
# Only capture if it's from blaxel in site-packages
|
|
217
|
+
if "site-packages/blaxel" in filename:
|
|
218
|
+
# Avoid capturing the same exception multiple times using a content-based key
|
|
219
|
+
exc_key = _get_exception_key(exc_type, exc_value, frame)
|
|
220
|
+
if exc_key not in _captured_exceptions:
|
|
221
|
+
_captured_exceptions.add(exc_key)
|
|
222
|
+
capture_exception(exc_value)
|
|
223
|
+
# Clean up old exception keys to prevent memory leak
|
|
224
|
+
if len(_captured_exceptions) > 1000:
|
|
225
|
+
_captured_exceptions.clear()
|
|
226
|
+
|
|
227
|
+
return _trace_blaxel_exceptions
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
def init_sentry() -> None:
|
|
231
|
+
"""Initialize the lightweight Sentry client for SDK error tracking."""
|
|
232
|
+
global _sentry_initialized, _sentry_config, _handlers_registered
|
|
233
|
+
try:
|
|
234
|
+
dsn = settings.sentry_dsn
|
|
235
|
+
if not dsn:
|
|
236
|
+
return
|
|
237
|
+
|
|
238
|
+
# Parse DSN
|
|
239
|
+
_sentry_config = _parse_dsn(dsn)
|
|
240
|
+
if not _sentry_config:
|
|
241
|
+
return
|
|
242
|
+
|
|
243
|
+
# Only allow dev/prod environments
|
|
244
|
+
if settings.env not in ("dev", "prod"):
|
|
245
|
+
return
|
|
246
|
+
|
|
247
|
+
_sentry_initialized = True
|
|
248
|
+
|
|
249
|
+
# Register handlers only once
|
|
250
|
+
if not _handlers_registered:
|
|
251
|
+
_handlers_registered = True
|
|
252
|
+
|
|
253
|
+
# Install trace function to automatically capture SDK exceptions
|
|
254
|
+
sys.settrace(_trace_blaxel_exceptions)
|
|
255
|
+
threading.settrace(_trace_blaxel_exceptions)
|
|
256
|
+
|
|
257
|
+
# Register atexit handler to flush pending events
|
|
258
|
+
atexit.register(flush_sentry)
|
|
259
|
+
|
|
260
|
+
except Exception as e:
|
|
261
|
+
logger.debug(f"Error initializing Sentry: {e}")
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
def capture_exception(exception: Exception | None = None) -> None:
|
|
265
|
+
"""Capture an exception to Sentry.
|
|
266
|
+
Only errors originating from SDK code will be captured.
|
|
267
|
+
"""
|
|
268
|
+
if not _sentry_initialized or not _sentry_config or exception is None:
|
|
269
|
+
return
|
|
270
|
+
|
|
271
|
+
try:
|
|
272
|
+
# Generate unique key to prevent duplicate captures
|
|
273
|
+
exc_key = f"{type(exception).__name__}:{str(exception)}"
|
|
274
|
+
if exc_key in _captured_exceptions:
|
|
275
|
+
return
|
|
276
|
+
|
|
277
|
+
_captured_exceptions.add(exc_key)
|
|
278
|
+
|
|
279
|
+
# Clean up old exception keys to prevent memory leak
|
|
280
|
+
if len(_captured_exceptions) > 1000:
|
|
281
|
+
_captured_exceptions.clear()
|
|
282
|
+
|
|
283
|
+
# Convert error to Sentry event and queue it
|
|
284
|
+
event = _error_to_sentry_event(exception)
|
|
285
|
+
with _flush_lock:
|
|
286
|
+
_pending_events.append(event)
|
|
287
|
+
|
|
288
|
+
# Send immediately (fire and forget)
|
|
289
|
+
_send_to_sentry(event)
|
|
290
|
+
|
|
291
|
+
except Exception:
|
|
292
|
+
# Silently fail - error capturing should never break the SDK
|
|
293
|
+
pass
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
def flush_sentry(timeout: float = 2.0) -> None:
|
|
297
|
+
"""Flush pending Sentry events."""
|
|
298
|
+
if not _sentry_initialized:
|
|
299
|
+
return
|
|
300
|
+
|
|
301
|
+
with _flush_lock:
|
|
302
|
+
if not _pending_events:
|
|
303
|
+
return
|
|
304
|
+
|
|
305
|
+
events_to_send = _pending_events.copy()
|
|
306
|
+
_pending_events.clear()
|
|
307
|
+
|
|
308
|
+
# Send all pending events
|
|
309
|
+
for event in events_to_send:
|
|
310
|
+
try:
|
|
311
|
+
_send_to_sentry(event)
|
|
312
|
+
except Exception:
|
|
313
|
+
# Silently fail
|
|
314
|
+
pass
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
def is_sentry_initialized() -> bool:
|
|
318
|
+
"""Check if Sentry is initialized and available."""
|
|
319
|
+
return _sentry_initialized
|
|
@@ -184,55 +184,170 @@ class SandboxProcess(SandboxAction):
|
|
|
184
184
|
) -> Union[ProcessResponse, ProcessResponseWithLog]:
|
|
185
185
|
"""Execute a process in the sandbox."""
|
|
186
186
|
on_log = None
|
|
187
|
+
on_stdout = None
|
|
188
|
+
on_stderr = None
|
|
189
|
+
|
|
187
190
|
if isinstance(process, ProcessRequestWithLog):
|
|
188
191
|
on_log = process.on_log
|
|
192
|
+
on_stdout = process.on_stdout
|
|
193
|
+
on_stderr = process.on_stderr
|
|
189
194
|
process = process.to_dict()
|
|
190
195
|
|
|
191
196
|
if isinstance(process, dict):
|
|
192
197
|
if "on_log" in process:
|
|
193
198
|
on_log = process["on_log"]
|
|
194
199
|
del process["on_log"]
|
|
200
|
+
if "on_stdout" in process:
|
|
201
|
+
on_stdout = process["on_stdout"]
|
|
202
|
+
del process["on_stdout"]
|
|
203
|
+
if "on_stderr" in process:
|
|
204
|
+
on_stderr = process["on_stderr"]
|
|
205
|
+
del process["on_stderr"]
|
|
195
206
|
process = ProcessRequest.from_dict(process)
|
|
196
207
|
|
|
197
208
|
# Store original wait_for_completion setting
|
|
198
209
|
should_wait_for_completion = process.wait_for_completion
|
|
199
210
|
|
|
200
|
-
#
|
|
201
|
-
if should_wait_for_completion and on_log
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
self.handle_response_error(response)
|
|
209
|
-
import json
|
|
210
|
-
|
|
211
|
-
response_data = json.loads(content_bytes) if content_bytes else None
|
|
212
|
-
result = ProcessResponse.from_dict(response_data)
|
|
213
|
-
finally:
|
|
214
|
-
await response.aclose()
|
|
215
|
-
|
|
216
|
-
# Handle wait_for_completion with parallel log streaming
|
|
217
|
-
if should_wait_for_completion and on_log is not None:
|
|
218
|
-
stream_control = self._stream_logs(result.pid, {"on_log": on_log})
|
|
211
|
+
# When waiting for completion with streaming callbacks, use streaming endpoint
|
|
212
|
+
if should_wait_for_completion and (on_log or on_stdout or on_stderr):
|
|
213
|
+
return await self._exec_with_streaming(
|
|
214
|
+
process, on_log=on_log, on_stdout=on_stdout, on_stderr=on_stderr
|
|
215
|
+
)
|
|
216
|
+
else:
|
|
217
|
+
client = self.get_client()
|
|
218
|
+
response = await client.post("/process", json=process.to_dict())
|
|
219
219
|
try:
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
content_bytes = await response.aread()
|
|
221
|
+
self.handle_response_error(response)
|
|
222
|
+
import json
|
|
223
|
+
|
|
224
|
+
response_data = json.loads(content_bytes) if content_bytes else None
|
|
225
|
+
result = ProcessResponse.from_dict(response_data)
|
|
222
226
|
finally:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
stream_control = self._stream_logs(result.pid, {"on_log": on_log})
|
|
227
|
+
await response.aclose()
|
|
228
|
+
|
|
229
|
+
if on_log or on_stdout or on_stderr:
|
|
230
|
+
stream_control = self._stream_logs(
|
|
231
|
+
result.pid, {"on_log": on_log, "on_stdout": on_stdout, "on_stderr": on_stderr}
|
|
232
|
+
)
|
|
230
233
|
return ProcessResponseWithLog(
|
|
231
234
|
result,
|
|
232
235
|
lambda: stream_control["close"]() if stream_control else None,
|
|
233
236
|
)
|
|
234
237
|
|
|
235
|
-
|
|
238
|
+
return result
|
|
239
|
+
|
|
240
|
+
async def _exec_with_streaming(
|
|
241
|
+
self,
|
|
242
|
+
process_request: ProcessRequest,
|
|
243
|
+
on_log: Callable[[str], None] | None = None,
|
|
244
|
+
on_stdout: Callable[[str], None] | None = None,
|
|
245
|
+
on_stderr: Callable[[str], None] | None = None,
|
|
246
|
+
) -> ProcessResponseWithLog:
|
|
247
|
+
"""Execute a process with streaming response handling for NDJSON."""
|
|
248
|
+
import json
|
|
249
|
+
|
|
250
|
+
headers = (
|
|
251
|
+
self.sandbox_config.headers
|
|
252
|
+
if self.sandbox_config.force_url
|
|
253
|
+
else {**settings.headers, **self.sandbox_config.headers}
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
async with httpx.AsyncClient() as client_instance:
|
|
257
|
+
async with client_instance.stream(
|
|
258
|
+
"POST",
|
|
259
|
+
f"{self.url}/process",
|
|
260
|
+
headers={
|
|
261
|
+
**headers,
|
|
262
|
+
"Content-Type": "application/json",
|
|
263
|
+
"Accept": "text/event-stream",
|
|
264
|
+
},
|
|
265
|
+
json=process_request.to_dict(),
|
|
266
|
+
timeout=None,
|
|
267
|
+
) as response:
|
|
268
|
+
if response.status_code >= 400:
|
|
269
|
+
error_text = await response.aread()
|
|
270
|
+
raise Exception(f"Failed to execute process: {error_text}")
|
|
271
|
+
|
|
272
|
+
content_type = response.headers.get("Content-Type", "")
|
|
273
|
+
is_streaming = "application/x-ndjson" in content_type
|
|
274
|
+
|
|
275
|
+
# Fallback: server doesn't support streaming, use legacy approach
|
|
276
|
+
if not is_streaming:
|
|
277
|
+
content = await response.aread()
|
|
278
|
+
data = json.loads(content)
|
|
279
|
+
result = ProcessResponse.from_dict(data)
|
|
280
|
+
|
|
281
|
+
# If process already completed (server waited), emit logs through callbacks
|
|
282
|
+
if result.status == "completed" or result.status == "failed":
|
|
283
|
+
if result.stdout:
|
|
284
|
+
for line in result.stdout.split("\n"):
|
|
285
|
+
if line:
|
|
286
|
+
if on_stdout:
|
|
287
|
+
on_stdout(line)
|
|
288
|
+
if result.stderr:
|
|
289
|
+
for line in result.stderr.split("\n"):
|
|
290
|
+
if line:
|
|
291
|
+
if on_stderr:
|
|
292
|
+
on_stderr(line)
|
|
293
|
+
if result.logs:
|
|
294
|
+
for line in result.logs.split("\n"):
|
|
295
|
+
if line:
|
|
296
|
+
if on_log:
|
|
297
|
+
on_log(line)
|
|
298
|
+
|
|
299
|
+
return ProcessResponseWithLog(result, lambda: None)
|
|
300
|
+
|
|
301
|
+
# Streaming response handling
|
|
302
|
+
buffer = ""
|
|
303
|
+
result = None
|
|
304
|
+
|
|
305
|
+
async for chunk in response.aiter_text():
|
|
306
|
+
buffer += chunk
|
|
307
|
+
lines = buffer.split("\n")
|
|
308
|
+
buffer = lines.pop()
|
|
309
|
+
|
|
310
|
+
for line in lines:
|
|
311
|
+
if not line.strip():
|
|
312
|
+
continue
|
|
313
|
+
try:
|
|
314
|
+
parsed = json.loads(line)
|
|
315
|
+
parsed_type = parsed.get("type", "")
|
|
316
|
+
parsed_data = parsed.get("data", "")
|
|
317
|
+
|
|
318
|
+
if parsed_type == "stdout":
|
|
319
|
+
if parsed_data:
|
|
320
|
+
if on_stdout:
|
|
321
|
+
on_stdout(parsed_data)
|
|
322
|
+
if on_log:
|
|
323
|
+
on_log(parsed_data)
|
|
324
|
+
elif parsed_type == "stderr":
|
|
325
|
+
if parsed_data:
|
|
326
|
+
if on_stderr:
|
|
327
|
+
on_stderr(parsed_data)
|
|
328
|
+
if on_log:
|
|
329
|
+
on_log(parsed_data)
|
|
330
|
+
elif parsed_type == "result":
|
|
331
|
+
try:
|
|
332
|
+
result = ProcessResponse.from_dict(json.loads(parsed_data))
|
|
333
|
+
except Exception:
|
|
334
|
+
raise Exception(f"Failed to parse result JSON: {parsed_data}")
|
|
335
|
+
except json.JSONDecodeError:
|
|
336
|
+
continue
|
|
337
|
+
|
|
338
|
+
# Process any remaining buffer
|
|
339
|
+
if buffer.strip():
|
|
340
|
+
if buffer.startswith("result:"):
|
|
341
|
+
json_str = buffer[7:]
|
|
342
|
+
try:
|
|
343
|
+
result = ProcessResponse.from_dict(json.loads(json_str))
|
|
344
|
+
except Exception:
|
|
345
|
+
raise Exception(f"Failed to parse result JSON: {json_str}")
|
|
346
|
+
|
|
347
|
+
if not result:
|
|
348
|
+
raise Exception("No result received from streaming response")
|
|
349
|
+
|
|
350
|
+
return ProcessResponseWithLog(result, lambda: None)
|
|
236
351
|
|
|
237
352
|
async def wait(
|
|
238
353
|
self, identifier: str, max_wait: int = 60000, interval: int = 1000
|