blaxel 0.1.9rc37__tar.gz → 0.1.10__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.1.9rc37 → blaxel-0.1.10}/.gitignore +2 -1
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/Makefile +16 -1
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/PKG-INFO +1 -1
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/fastapi_langchain.py +1 -1
- blaxel-0.1.10/integrationtest/load_test.py +53 -0
- blaxel-0.1.10/integrationtest/mcp_creation.py +97 -0
- blaxel-0.1.10/integrationtest/sandbox.py +80 -0
- blaxel-0.1.10/integrationtest/sandbox_502.py +83 -0
- blaxel-0.1.10/integrationtest/sandbox_small.py +18 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/pyproject.toml +1 -1
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/authentication/__init__.py +11 -2
- blaxel-0.1.10/src/blaxel/client/api/compute/create_sandbox_preview.py +179 -0
- blaxel-0.1.10/src/blaxel/client/api/compute/create_sandbox_preview_token.py +192 -0
- blaxel-0.1.10/src/blaxel/client/api/compute/delete_sandbox_preview.py +167 -0
- blaxel-0.1.10/src/blaxel/client/api/compute/delete_sandbox_preview_token.py +180 -0
- blaxel-0.1.10/src/blaxel/client/api/compute/get_sandbox_preview.py +167 -0
- blaxel-0.1.10/src/blaxel/client/api/compute/list_sandbox_preview_tokens.py +172 -0
- blaxel-0.1.10/src/blaxel/client/api/compute/list_sandbox_previews.py +159 -0
- blaxel-0.1.10/src/blaxel/client/api/compute/update_sandbox_preview.py +192 -0
- blaxel-0.1.10/src/blaxel/client/api/integrations/get_integration.py +154 -0
- blaxel-0.1.10/src/blaxel/client/api/workspaces/check_workspace_availability.py +165 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/__init__.py +32 -2
- blaxel-0.1.10/src/blaxel/client/models/check_workspace_availability_body.py +60 -0
- blaxel-0.1.10/src/blaxel/client/models/delete_sandbox_preview_token_response_200.py +60 -0
- blaxel-0.1.10/src/blaxel/client/models/integration.py +197 -0
- blaxel-0.1.10/src/blaxel/client/models/integration_additional_infos.py +45 -0
- blaxel-0.1.10/src/blaxel/client/models/integration_endpoint.py +143 -0
- blaxel-0.1.10/src/blaxel/client/models/integration_endpoint_token.py +79 -0
- blaxel-0.1.10/src/blaxel/client/models/integration_endpoints.py +61 -0
- blaxel-0.1.10/src/blaxel/client/models/integration_headers.py +45 -0
- blaxel-0.1.10/src/blaxel/client/models/integration_organization.py +88 -0
- blaxel-0.1.10/src/blaxel/client/models/integration_query_params.py +45 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/metrics.py +9 -0
- blaxel-0.1.10/src/blaxel/client/models/preview.py +96 -0
- blaxel-0.1.10/src/blaxel/client/models/preview_metadata.py +133 -0
- blaxel-0.1.10/src/blaxel/client/models/preview_spec.py +79 -0
- blaxel-0.1.10/src/blaxel/client/models/preview_token.py +96 -0
- blaxel-0.1.10/src/blaxel/client/models/preview_token_metadata.py +97 -0
- blaxel-0.1.10/src/blaxel/client/models/preview_token_spec.py +88 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/common/autoload.py +1 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/common/internal.py +5 -5
- blaxel-0.1.10/src/blaxel/sandbox/base.py +68 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/__init__.py +8 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/__init__.py +1 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/filesystem/delete_filesystem_path.py +184 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/filesystem/get_filesystem_path.py +184 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/filesystem/put_filesystem_path.py +189 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/network/__init__.py +0 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/network/delete_network_process_pid_monitor.py +169 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/network/get_network_process_pid_ports.py +169 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/network/post_network_process_pid_monitor.py +195 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/process/__init__.py +0 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/process/delete_process_identifier.py +163 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/process/delete_process_identifier_kill.py +189 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/process/get_process.py +135 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/process/get_process_identifier.py +159 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/process/get_process_identifier_logs.py +188 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/process/get_process_identifier_logs_stream.py +190 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/api/process/post_process.py +176 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/client.py +162 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/errors.py +16 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/__init__.py +41 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/delete_network_process_pid_monitor_response_200.py +45 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/directory.py +112 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/error_response.py +60 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/file.py +105 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/file_request.py +78 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/file_with_content.py +114 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/get_network_process_pid_ports_response_200.py +45 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/get_process_identifier_logs_response_200.py +45 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/get_process_identifier_logs_stream_response_200.py +45 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/port_monitor_request.py +60 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/post_network_process_pid_monitor_response_200.py +45 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/process_kill_request.py +60 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/process_request.py +118 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/process_response.py +123 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/subdirectory.py +60 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/models/success_response.py +69 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/py.typed +1 -0
- blaxel-0.1.10/src/blaxel/sandbox/client/types.py +46 -0
- blaxel-0.1.10/src/blaxel/sandbox/filesystem.py +104 -0
- blaxel-0.1.10/src/blaxel/sandbox/process.py +57 -0
- blaxel-0.1.10/src/blaxel/sandbox/sandbox.py +92 -0
- blaxel-0.1.10/templates/endpoint_init.py.jinja +0 -0
- blaxel-0.1.9rc37/definition.yml +0 -3569
- blaxel-0.1.9rc37/src/blaxel/client/api/integrations/get_integration.py +0 -97
- blaxel-0.1.9rc37/src/blaxel/client/models/sandboxes.py +0 -129
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/.github/workflows/dev.yaml +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/.github/workflows/prod.yaml +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/LICENSE +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/README.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/blaxel.toml +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/doc.sh +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/agents.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/agents/create_agent.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/agents/delete_agent.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/agents/get_agent.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/agents/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/agents/list_agent_revisions.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/agents/list_agents.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/agents/update_agent.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/configurations/get_configuration.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/configurations/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/default/get_template.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/default/get_template_contents.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/default/get_template_file_contents.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/default/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/default/list_mcp_hub_definitions.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/functions/create_function.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/functions/delete_function.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/functions/get_function.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/functions/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/functions/list_function_revisions.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/functions/list_functions.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/functions/update_function.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/create_integration_connection.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/delete_integration_connection.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/get_integration.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/get_integration_connection.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/get_integration_connection_model.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/get_integration_connection_model_endpoint_configurations.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/list_integration_connection_models.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/list_integration_connections.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/integrations/update_integration_connection.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/invitations/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/invitations/list_all_pending_invitations.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/knowledgebases/create_knowledgebase.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/knowledgebases/delete_knowledgebase.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/knowledgebases/get_knowledgebase.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/knowledgebases/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/knowledgebases/list_knowledgebase_revisions.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/knowledgebases/list_knowledgebases.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/knowledgebases/update_knowledgebase.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/locations/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/locations/list_locations.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/models/create_model.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/models/delete_model.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/models/get_model.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/models/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/models/list_model_revisions.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/models/list_models.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/models/update_model.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/policies/create_policy.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/policies/delete_policy.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/policies/get_policy.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/policies/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/policies/list_policies.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/policies/update_policy.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/privateclusters/create_private_cluster.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/privateclusters/delete_private_cluster.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/privateclusters/get_private_cluster.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/privateclusters/get_private_cluster_health.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/privateclusters/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/privateclusters/list_private_clusters.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/privateclusters/update_private_cluster.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/privateclusters/update_private_cluster_health.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/service_accounts/create_api_key_for_service_account.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/service_accounts/create_workspace_service_account.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/service_accounts/delete_api_key_for_service_account.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/service_accounts/delete_workspace_service_account.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/service_accounts/get_workspace_service_accounts.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/service_accounts/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/service_accounts/list_api_keys_for_service_account.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/service_accounts/update_workspace_service_account.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/templates/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/templates/list_templates.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/accept_workspace_invitation.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/create_worspace.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/decline_workspace_invitation.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/delete_workspace.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/get_workspace.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/invite_workspace_user.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/leave_workspace.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/list_workspace_users.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/list_workspaces.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/remove_workspace_user.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/update_workspace.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/api/workspaces/update_workspace_user_role.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/authentication/apikey.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/authentication/authentication.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/authentication/clientcredentials.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/authentication/credentials.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/authentication/device_mode.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/authentication/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/client.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/common/error.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/common/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/common/instrumentation.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/common/logger.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/common/secrets.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/common/settings.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/common/utils.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/deploy/deploy.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/deploy/format.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/deploy/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/deploy/parser.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/errors.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/functions.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/knowledgebases/chroma.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/knowledgebases/embeddings.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/knowledgebases/factory.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/knowledgebases/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/knowledgebases/pinecone.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/knowledgebases/qdrant.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/knowledgebases/types.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/acl.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/agent.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/agent_chain.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/agent_spec.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/api_key.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/configuration.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/continent.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/core_event.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/core_spec.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/core_spec_configurations.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/country.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/create_api_key_for_service_account_body.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/create_workspace_service_account_body.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/create_workspace_service_account_response_200.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/delete_workspace_service_account_response_200.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/entrypoint.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/entrypoint_env.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/flavor.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/form.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/form_config.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/form_oauth.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/form_secrets.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/function.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/function_kit.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/function_schema.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/function_schema_not.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/function_schema_or_bool.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/function_schema_properties.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/function_spec.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/get_workspace_service_accounts_response_200_item.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/histogram_bucket.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/histogram_stats.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/integration_connection.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/integration_connection_spec.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/integration_connection_spec_config.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/integration_connection_spec_secret.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/integration_model.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/integration_repository.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/invite_workspace_user_body.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/knowledgebase.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/knowledgebase_spec.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/knowledgebase_spec_options.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/last_n_requests_metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/latency_metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/location_response.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/mcp_definition.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/mcp_definition_entrypoint.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/mcp_definition_form.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/memory_allocation_metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/metadata.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/metadata_labels.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/metrics.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/metrics_models.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/metrics_request_total_per_code.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/metrics_rps_per_code.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/model.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/model_private_cluster.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/model_spec.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/o_auth.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/owner_fields.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/pending_invitation.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/pending_invitation_accept.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/pending_invitation_render.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/pending_invitation_render_invited_by.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/pending_invitation_render_workspace.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/pending_invitation_workspace_details.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/pod_template_spec.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/policy.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/policy_location.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/policy_max_tokens.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/policy_spec.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/private_cluster.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/private_location.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/repository.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/request_duration_over_time_metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/request_duration_over_time_metrics.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/request_total_by_origin_metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/request_total_by_origin_metric_request_total_by_origin.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/request_total_by_origin_metric_request_total_by_origin_and_code.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/request_total_metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/request_total_metric_request_total_per_code.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/request_total_metric_rps_per_code.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/resource_log.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/resource_metrics.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/resource_metrics_request_total_per_code.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/resource_metrics_rps_per_code.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/revision_configuration.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/revision_metadata.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/runtime.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/runtime_startup_probe.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/serverless_config.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/spec_configuration.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/store_agent.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/store_agent_labels.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/store_configuration.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/store_configuration_option.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/template.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/template_variable.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/time_fields.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/time_to_first_token_over_time_metrics.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/token_rate_metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/token_rate_metrics.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/token_total_metric.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/trace_ids_response.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/update_workspace_service_account_body.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/update_workspace_service_account_response_200.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/update_workspace_user_role_body.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/websocket_channel.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/workspace.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/workspace_labels.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/models/workspace_user.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/run.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/serve/app.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/serve/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/serve/middlewares/accesslog.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/serve/middlewares/index.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/serve/middlewares/processtime.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel/types.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/docs/blaxel-docs.md +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/agent_crewai.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/agent_googleadk.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/agent_langchain.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/agent_langgraph.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/agent_livekit.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/agent_llamaindex.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/agent_openai.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/agent_pydantic.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/bl_agents.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/bl_models.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/bl_tools.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/client.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/env.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/fastapi_crewai.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/fastapi_google_adk.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/fastapi_llamaindex.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/fastapi_openai.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/fastapi_pydantic.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/global_hash.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/mcp_client.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/integrationtest/mcp_server.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/openapi-python-client.yml +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/agents/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/authentication/apikey.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/authentication/clientcredentials.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/authentication/devicemode.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/authentication/oauth.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/authentication/types.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/cache/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/cache/cache.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/agents/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/agents/create_agent.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/agents/delete_agent.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/agents/get_agent.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/agents/list_agent_revisions.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/agents/list_agents.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/agents/update_agent.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/compute/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/compute/create_sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/compute/delete_sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/compute/get_sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/compute/list_sandboxes.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/compute/start_sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/compute/stop_sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/compute/update_sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/configurations/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/configurations/get_configuration.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/default/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/default/get_template.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/default/get_template_contents.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/default/get_template_file_contents.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/default/list_mcp_hub_definitions.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/default/list_sandbox_hub_definitions.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/functions/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/functions/create_function.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/functions/delete_function.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/functions/get_function.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/functions/list_function_revisions.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/functions/list_functions.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/functions/update_function.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/create_integration_connection.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/delete_integration_connection.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/get_integration_connection.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/get_integration_connection_model.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/get_integration_connection_model_endpoint_configurations.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/list_integration_connection_models.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/list_integration_connections.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/integrations/update_integration_connection.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/invitations/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/invitations/list_all_pending_invitations.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/knowledgebases/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/knowledgebases/create_knowledgebase.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/knowledgebases/delete_knowledgebase.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/knowledgebases/get_knowledgebase.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/knowledgebases/list_knowledgebase_revisions.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/knowledgebases/list_knowledgebases.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/knowledgebases/update_knowledgebase.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/locations/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/locations/list_locations.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/models/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/models/create_model.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/models/delete_model.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/models/get_model.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/models/list_model_revisions.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/models/list_models.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/models/update_model.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/policies/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/policies/create_policy.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/policies/delete_policy.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/policies/get_policy.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/policies/list_policies.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/policies/update_policy.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/privateclusters/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/privateclusters/create_private_cluster.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/privateclusters/delete_private_cluster.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/privateclusters/get_private_cluster.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/privateclusters/get_private_cluster_health.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/privateclusters/list_private_clusters.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/privateclusters/update_private_cluster.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/privateclusters/update_private_cluster_health.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/service_accounts/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/service_accounts/create_api_key_for_service_account.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/service_accounts/create_workspace_service_account.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/service_accounts/delete_api_key_for_service_account.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/service_accounts/delete_workspace_service_account.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/service_accounts/get_workspace_service_accounts.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/service_accounts/list_api_keys_for_service_account.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/service_accounts/update_workspace_service_account.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/templates/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/templates/list_templates.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/accept_workspace_invitation.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/create_worspace.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/decline_workspace_invitation.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/delete_workspace.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/get_workspace.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/invite_workspace_user.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/leave_workspace.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/list_workspace_users.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/list_workspaces.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/remove_workspace_user.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/update_workspace.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/api/workspaces/update_workspace_user_role.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/client.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/errors.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/acl.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/agent.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/agent_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/api_key.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/configuration.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/continent.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/core_event.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/core_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/core_spec_configurations.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/country.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/create_api_key_for_service_account_body.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/create_workspace_service_account_body.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/create_workspace_service_account_response_200.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/delete_workspace_service_account_response_200.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/entrypoint.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/entrypoint_env.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/flavor.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/form.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/form_config.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/form_oauth.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/form_secrets.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/function.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/function_kit.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/function_schema.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/function_schema_not.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/function_schema_or_bool.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/function_schema_properties.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/function_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/get_workspace_service_accounts_response_200_item.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/histogram_bucket.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/histogram_stats.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/integration_connection.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/integration_connection_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/integration_connection_spec_config.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/integration_connection_spec_secret.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/integration_model.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/integration_repository.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/invite_workspace_user_body.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/knowledgebase.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/knowledgebase_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/knowledgebase_spec_options.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/last_n_requests_metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/latency_metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/location_response.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/mcp_definition.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/mcp_definition_entrypoint.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/mcp_definition_form.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/memory_allocation_metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/metadata.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/metadata_labels.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/metrics_models.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/metrics_request_total_per_code.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/metrics_rps_per_code.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/model.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/model_private_cluster.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/model_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/o_auth.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/owner_fields.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/pending_invitation.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/pending_invitation_accept.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/pending_invitation_render.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/pending_invitation_render_invited_by.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/pending_invitation_render_workspace.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/pending_invitation_workspace_details.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/pod_template_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/policy.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/policy_location.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/policy_max_tokens.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/policy_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/port.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/private_cluster.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/private_location.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/repository.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_duration_over_time_metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_duration_over_time_metrics.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_total_by_origin_metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_total_by_origin_metric_request_total_by_origin.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_total_metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_total_metric_request_total_per_code.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_total_metric_rps_per_code.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/request_total_response_data.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/resource_log.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/resource_metrics.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/resource_metrics_request_total_per_code.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/resource_metrics_request_total_per_code_previous.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/resource_metrics_rps_per_code.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/resource_metrics_rps_per_code_previous.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/revision_configuration.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/revision_metadata.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/runtime.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/runtime_configuration.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/runtime_startup_probe.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/sandbox_definition.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/sandbox_spec.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/serverless_config.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/serverless_config_configuration.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/spec_configuration.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/start_sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/stop_sandbox.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/store_agent.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/store_agent_labels.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/store_configuration.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/store_configuration_option.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/template.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/template_variable.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/time_fields.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/time_to_first_token_over_time_metrics.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/token_rate_metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/token_rate_metrics.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/token_total_metric.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/trace_ids_response.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/trigger.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/trigger_configuration.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/update_workspace_service_account_body.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/update_workspace_service_account_response_200.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/update_workspace_user_role_body.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/websocket_channel.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/workspace.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/workspace_labels.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/workspace_runtime.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/models/workspace_user.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/py.typed +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/client/types.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/common/env.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/common/logger.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/common/settings.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/instrumentation/exporters.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/instrumentation/log.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/instrumentation/manager.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/instrumentation/map.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/instrumentation/span.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/mcp/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/mcp/client.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/mcp/server.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/crewai.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/custom/langchain/gemini.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/custom/llamaindex/cohere.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/custom/pydantic/gemini.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/googleadk.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/langchain.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/livekit.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/llamaindex.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/openai.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/models/pydantic.py +0 -0
- blaxel-0.1.9rc37/templates/endpoint_init.py.jinja → blaxel-0.1.10/src/blaxel/sandbox/client/api/filesystem/__init__.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/__init__.py +1 -1
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/common.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/crewai.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/googleadk.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/langchain.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/livekit.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/llamaindex.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/openai.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/pydantic.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/src/blaxel/tools/types.py +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/.gitignore.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/README.md.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/api_init.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/client.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/endpoint_macros.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/endpoint_module.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/errors.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/helpers.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/int_enum.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/literal_enum.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/model.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/models_init.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/package_init.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/any_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/boolean_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/const_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/date_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/datetime_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/enum_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/file_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/float_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/helpers.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/int_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/list_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/literal_enum_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/model_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/property_macros.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/union_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/property_templates/uuid_property.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/pyproject.toml.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/pyproject_ruff.toml.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/setup.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/str_enum.py.jinja +0 -0
- {blaxel-0.1.9rc37 → blaxel-0.1.10}/templates/types.py.jinja +0 -0
@@ -1,6 +1,19 @@
|
|
1
1
|
ARGS:= $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
|
2
2
|
|
3
|
-
sdk:
|
3
|
+
sdk-sandbox:
|
4
|
+
cp ../sandbox/sandbox-api/docs/openapi.yml ./definition.yml
|
5
|
+
rm -rf src/blaxel/sandbox/client/api src/blaxel/sandbox/client/models
|
6
|
+
openapi-python-client generate \
|
7
|
+
--path=definition.yml \
|
8
|
+
--output-path=./tmp-sdk-sandbox \
|
9
|
+
--overwrite \
|
10
|
+
--custom-template-path=./templates \
|
11
|
+
--config=./openapi-python-client.yml
|
12
|
+
cp -r ./tmp-sdk-sandbox/blaxel/* ./src/blaxel/sandbox/client
|
13
|
+
rm -rf ./tmp-sdk-sandbox
|
14
|
+
uv run ruff check --fix
|
15
|
+
|
16
|
+
sdk-controlplane:
|
4
17
|
cp ../controlplane/api/api/definitions/controlplane.yml ./definition.yml
|
5
18
|
rm -rf src/blaxel/client/api src/blaxel/client/models
|
6
19
|
openapi-python-client generate \
|
@@ -13,6 +26,8 @@ sdk:
|
|
13
26
|
rm -rf ./tmp-sdk-python
|
14
27
|
uv run ruff check --fix
|
15
28
|
|
29
|
+
sdk: sdk-sandbox sdk-controlplane
|
30
|
+
|
16
31
|
doc:
|
17
32
|
rm -rf docs
|
18
33
|
uv run pdoc blaxel-docs src/blaxel -o docs --force --skip-errors
|
@@ -67,7 +67,7 @@ async def validation_exception_handler(request: Request, e: Exception):
|
|
67
67
|
@app.post("/")
|
68
68
|
async def handle_request(request: Request):
|
69
69
|
start = time()
|
70
|
-
tools = await bl_tools(["blaxel-search"
|
70
|
+
tools = await bl_tools(["blaxel-search"]).to_langchain()
|
71
71
|
logger.info(f"Loaded tools in {round(time() - start, 4)} seconds")
|
72
72
|
start = time()
|
73
73
|
logger.info(f"Converted tools to langchain in {round(time() - start, 4)} seconds")
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import asyncio
|
2
|
+
import time
|
3
|
+
from collections import Counter
|
4
|
+
|
5
|
+
from blaxel.client import client
|
6
|
+
from blaxel.common.settings import settings
|
7
|
+
|
8
|
+
|
9
|
+
async def request_agent(name):
|
10
|
+
response = await client.get_async_httpx_client().get(
|
11
|
+
f"{settings.run_url}/{settings.workspace}/agents/{name}"
|
12
|
+
)
|
13
|
+
if response.status_code != 200:
|
14
|
+
raise Exception(f"Agent {name} returned status code {response.status_code} with body {response.text}")
|
15
|
+
return response.status_code
|
16
|
+
|
17
|
+
async def main():
|
18
|
+
number_of_calls = 500
|
19
|
+
batch_size = 100
|
20
|
+
agent_name = "agent-telemetry-ts"
|
21
|
+
|
22
|
+
total_start_time = time.time()
|
23
|
+
batch_times = []
|
24
|
+
|
25
|
+
for batch_start in range(0, number_of_calls, batch_size):
|
26
|
+
batch_end = min(batch_start + batch_size, number_of_calls)
|
27
|
+
batch_tasks = [request_agent(agent_name) for _ in range(batch_start, batch_end)]
|
28
|
+
print(f"Processing batch {batch_start//batch_size + 1} ({batch_start}-{batch_end-1})")
|
29
|
+
|
30
|
+
batch_start_time = time.time()
|
31
|
+
status_codes = await asyncio.gather(*batch_tasks)
|
32
|
+
batch_time = time.time() - batch_start_time
|
33
|
+
batch_times.append(batch_time)
|
34
|
+
|
35
|
+
status_counts = Counter(status_codes)
|
36
|
+
print(f"Completed batch {batch_start//batch_size + 1}")
|
37
|
+
print(f"Status codes: {dict(status_counts)}")
|
38
|
+
print(f"Batch time: {batch_time:.2f}s")
|
39
|
+
print(f"Mean time per request in batch: {batch_time/batch_size:.3f}s")
|
40
|
+
print("-" * 50)
|
41
|
+
|
42
|
+
total_time = time.time() - total_start_time
|
43
|
+
mean_time_per_request = total_time / number_of_calls
|
44
|
+
|
45
|
+
print("\nSummary:")
|
46
|
+
print(f"Total execution time: {total_time:.2f}s")
|
47
|
+
print(f"Mean time per request: {mean_time_per_request:.3f}s")
|
48
|
+
print(f"Fastest batch: {min(batch_times):.2f}s")
|
49
|
+
print(f"Slowest batch: {max(batch_times):.2f}s")
|
50
|
+
print(f"Average batch time: {sum(batch_times)/len(batch_times):.2f}s")
|
51
|
+
|
52
|
+
if __name__ == "__main__":
|
53
|
+
asyncio.run(main())
|
@@ -0,0 +1,97 @@
|
|
1
|
+
import logging
|
2
|
+
import os
|
3
|
+
import time
|
4
|
+
|
5
|
+
from blaxel.client import client
|
6
|
+
from blaxel.client.api.functions import (create_function, delete_function,
|
7
|
+
get_function)
|
8
|
+
from blaxel.client.api.integrations import (create_integration_connection,
|
9
|
+
delete_integration_connection)
|
10
|
+
from blaxel.client.models import (Function, FunctionSpec,
|
11
|
+
IntegrationConnection,
|
12
|
+
IntegrationConnectionSpec, Metadata, Runtime)
|
13
|
+
from blaxel.tools import bl_tools
|
14
|
+
|
15
|
+
logger = logging.getLogger(__name__)
|
16
|
+
|
17
|
+
async def wait_mcp_ready(name, max_wait: int = 60000, interval: int = 1000):
|
18
|
+
start_time = time.time() * 1000
|
19
|
+
mcp: Function = await get_function.asyncio(
|
20
|
+
name,
|
21
|
+
client=client,
|
22
|
+
)
|
23
|
+
while mcp.status != "DEPLOYED":
|
24
|
+
await asyncio.sleep(1)
|
25
|
+
logger.info(f"Waiting for MCP to be deployed, status: {mcp.status}")
|
26
|
+
mcp = await get_function.asyncio(
|
27
|
+
name,
|
28
|
+
client=client,
|
29
|
+
)
|
30
|
+
if (time.time() * 1000) - start_time > max_wait:
|
31
|
+
raise Exception("MCP did not deploy in time")
|
32
|
+
|
33
|
+
async def main():
|
34
|
+
try:
|
35
|
+
team_id = os.getenv("SLACK_TEAM_ID")
|
36
|
+
bot_token = os.getenv("SLACK_BOT_TOKEN")
|
37
|
+
mcp_name = "my-slack-mcp"
|
38
|
+
integration_connection_name = "my-slack-integration"
|
39
|
+
|
40
|
+
if not team_id or not bot_token:
|
41
|
+
raise Exception("SLACK_TEAM_ID and SLACK_BOT_TOKEN must be set")
|
42
|
+
|
43
|
+
# Create integration connection
|
44
|
+
integration_connection: IntegrationConnection = await create_integration_connection.asyncio(
|
45
|
+
client=client,
|
46
|
+
body=IntegrationConnection(
|
47
|
+
metadata=Metadata(
|
48
|
+
name=integration_connection_name
|
49
|
+
),
|
50
|
+
spec=IntegrationConnectionSpec(
|
51
|
+
integration="slack",
|
52
|
+
config={
|
53
|
+
"teamId": team_id
|
54
|
+
},
|
55
|
+
secret={
|
56
|
+
"botToken": bot_token
|
57
|
+
}
|
58
|
+
)
|
59
|
+
)
|
60
|
+
)
|
61
|
+
|
62
|
+
# Create MCP
|
63
|
+
await create_function.asyncio(
|
64
|
+
client=client,
|
65
|
+
body=Function(
|
66
|
+
metadata=Metadata(
|
67
|
+
name=mcp_name
|
68
|
+
),
|
69
|
+
spec=FunctionSpec(
|
70
|
+
integration_connections=[integration_connection.metadata.name],
|
71
|
+
runtime=Runtime(
|
72
|
+
type_="mcp"
|
73
|
+
)
|
74
|
+
)
|
75
|
+
)
|
76
|
+
)
|
77
|
+
await wait_mcp_ready(mcp_name)
|
78
|
+
|
79
|
+
### DO SOME STUFF WITH MCP
|
80
|
+
tools = await bl_tools([mcp_name]).initialize()
|
81
|
+
print(await tools.get_tools()[0].coroutine())
|
82
|
+
except Exception as e:
|
83
|
+
logger.error(f"There was an error while creating/using MCP, {e}")
|
84
|
+
finally:
|
85
|
+
### CLEANUP
|
86
|
+
await delete_function.asyncio(
|
87
|
+
mcp_name,
|
88
|
+
client=client,
|
89
|
+
)
|
90
|
+
await delete_integration_connection.asyncio(
|
91
|
+
integration_connection_name,
|
92
|
+
client=client,
|
93
|
+
)
|
94
|
+
|
95
|
+
if __name__ == "__main__":
|
96
|
+
import asyncio
|
97
|
+
asyncio.run(main())
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import asyncio
|
2
|
+
import logging
|
3
|
+
import os
|
4
|
+
|
5
|
+
from blaxel.client.models import Metadata, Port, Runtime, Sandbox, SandboxSpec
|
6
|
+
from blaxel.sandbox.base import ResponseError
|
7
|
+
from blaxel.sandbox.client.models import ProcessRequest
|
8
|
+
from blaxel.sandbox.sandbox import SandboxInstance
|
9
|
+
|
10
|
+
logger = logging.getLogger(__name__)
|
11
|
+
|
12
|
+
|
13
|
+
async def create_sandbox(sandbox_name: str):
|
14
|
+
# Create sandbox
|
15
|
+
image = "blaxel/prod-base:14769328323"
|
16
|
+
logger.info(f"Creating sandbox {sandbox_name} with image {image}")
|
17
|
+
sandbox = await SandboxInstance.create(Sandbox(
|
18
|
+
metadata=Metadata(name=sandbox_name),
|
19
|
+
spec=SandboxSpec(
|
20
|
+
runtime=Runtime(
|
21
|
+
image=image,
|
22
|
+
memory=2048,
|
23
|
+
cpu=2,
|
24
|
+
ports=[
|
25
|
+
Port(name="sandbox-api", target=8080, protocol="HTTP")
|
26
|
+
]
|
27
|
+
)
|
28
|
+
)
|
29
|
+
))
|
30
|
+
logger.info("Waiting for sandbox to be deployed")
|
31
|
+
await sandbox.wait(max_wait=120000, interval=1000)
|
32
|
+
logger.info("Sandbox deployed")
|
33
|
+
return sandbox
|
34
|
+
|
35
|
+
async def main():
|
36
|
+
user = os.environ.get("USER")
|
37
|
+
sandbox_name = "sandbox-test-3"
|
38
|
+
sandbox = None
|
39
|
+
try:
|
40
|
+
sandbox = await create_sandbox(sandbox_name)
|
41
|
+
sandbox = await SandboxInstance.get(sandbox_name)
|
42
|
+
|
43
|
+
# Filesystem tests
|
44
|
+
await sandbox.fs.write(f"/Users/{user}/Downloads/test", "Hello world")
|
45
|
+
content = await sandbox.fs.read(f"/Users/{user}/Downloads/test")
|
46
|
+
assert content == "Hello world", "File content is not correct"
|
47
|
+
dir = await sandbox.fs.ls(f"/Users/{user}/Downloads")
|
48
|
+
assert dir.files and len(dir.files) >= 1, "Directory is empty"
|
49
|
+
assert any(f.path == f"/Users/{user}/Downloads/test" for f in dir.files), "File not found in directory"
|
50
|
+
await sandbox.fs.mkdir(f"/Users/{user}/Downloads/test2")
|
51
|
+
after_mkdir = await sandbox.fs.ls(f"/Users/{user}/Downloads/test2")
|
52
|
+
assert not after_mkdir.files or len(after_mkdir.files) == 0, "Directory is not empty after mkdir"
|
53
|
+
await sandbox.fs.cp(f"/Users/{user}/Downloads/test", f"/Users/{user}/Downloads/test2/test")
|
54
|
+
after_cp_ls = await sandbox.fs.ls(f"/Users/{user}/Downloads/test2")
|
55
|
+
assert after_cp_ls.files and any(f.path == f"/Users/{user}/Downloads/test2/test" for f in after_cp_ls.files), "File not found in directory after cp"
|
56
|
+
await sandbox.fs.rm(f"/Users/{user}/Downloads/test")
|
57
|
+
try:
|
58
|
+
await sandbox.fs.rm(f"/Users/{user}/Downloads/test2")
|
59
|
+
except ResponseError as e:
|
60
|
+
logger.info(f"That is expected => {e.error}")
|
61
|
+
await sandbox.fs.rm(f"/Users/{user}/Downloads/test2", True)
|
62
|
+
|
63
|
+
# Process tests
|
64
|
+
process = await sandbox.process.exec(ProcessRequest(name="test", command="echo 'Hello world'"))
|
65
|
+
assert getattr(process, "status", None) != "completed", "Process did complete without waiting"
|
66
|
+
await asyncio.sleep(0.01)
|
67
|
+
completed_process = await sandbox.process.get("test")
|
68
|
+
assert getattr(completed_process, "status", None) == "completed", "Process did not complete"
|
69
|
+
logs = await sandbox.process.logs("test")
|
70
|
+
assert logs == 'Hello world\n', "Logs are not correct"
|
71
|
+
try:
|
72
|
+
await sandbox.process.kill("test")
|
73
|
+
except ResponseError as e:
|
74
|
+
logger.info(f"That is expected => {e.error}")
|
75
|
+
finally:
|
76
|
+
logger.info("Deleting sandbox")
|
77
|
+
await SandboxInstance.delete(sandbox_name)
|
78
|
+
|
79
|
+
if __name__ == "__main__":
|
80
|
+
asyncio.run(main())
|
@@ -0,0 +1,83 @@
|
|
1
|
+
import asyncio
|
2
|
+
import logging
|
3
|
+
import random
|
4
|
+
import string
|
5
|
+
|
6
|
+
from blaxel.client.models import Metadata, Port, Runtime, Sandbox, SandboxSpec
|
7
|
+
from blaxel.common.settings import settings
|
8
|
+
from blaxel.sandbox.client import client
|
9
|
+
from blaxel.sandbox.client.models import ProcessRequest
|
10
|
+
from blaxel.sandbox.sandbox import SandboxInstance
|
11
|
+
|
12
|
+
logger = logging.getLogger(__name__)
|
13
|
+
|
14
|
+
|
15
|
+
def random_string(length: int):
|
16
|
+
return ''.join(random.choices(string.ascii_letters + string.digits, k=length)).lower()
|
17
|
+
|
18
|
+
|
19
|
+
async def create_sandbox(sandbox_name: str):
|
20
|
+
# Create sandbox
|
21
|
+
image = "blaxel/prod-base:latest"
|
22
|
+
logger.info(f"Creating sandbox {sandbox_name} with image {image}")
|
23
|
+
sandbox = await SandboxInstance.create(Sandbox(
|
24
|
+
metadata=Metadata(name=sandbox_name),
|
25
|
+
spec=SandboxSpec(
|
26
|
+
runtime=Runtime(
|
27
|
+
image=image,
|
28
|
+
memory=2048,
|
29
|
+
cpu=2,
|
30
|
+
ports=[
|
31
|
+
Port(name="sandbox-api", target=8080, protocol="HTTP")
|
32
|
+
]
|
33
|
+
)
|
34
|
+
)
|
35
|
+
))
|
36
|
+
logger.info("Waiting for sandbox to be deployed")
|
37
|
+
await sandbox.wait(max_wait=120000, interval=1000)
|
38
|
+
logger.info("Sandbox deployed")
|
39
|
+
return sandbox
|
40
|
+
|
41
|
+
async def run_process_with_retry(sandbox: SandboxInstance, command: str):
|
42
|
+
for _ in range(2):
|
43
|
+
try:
|
44
|
+
# new_client = client.with_base_url(sandbox.process.url).with_headers(settings.headers)
|
45
|
+
# response = await new_client.get_async_httpx_client().get(f"/health")
|
46
|
+
# print(response.text)
|
47
|
+
dir = await sandbox.fs.ls("/")
|
48
|
+
print(dir)
|
49
|
+
process = await sandbox.process.exec(ProcessRequest(name="test", command=command))
|
50
|
+
print(f"Process {process.name} started with pid {process.pid}")
|
51
|
+
return process
|
52
|
+
except Exception as e:
|
53
|
+
print("Failed to run process, retrying...", e)
|
54
|
+
await asyncio.sleep(1)
|
55
|
+
|
56
|
+
async def main():
|
57
|
+
sandbox_name = random_string(10)
|
58
|
+
try:
|
59
|
+
print(f"Creating sandbox {sandbox_name}")
|
60
|
+
sandbox = await create_sandbox(sandbox_name)
|
61
|
+
sandbox = await SandboxInstance.get(sandbox_name)
|
62
|
+
await run_process_with_retry(sandbox, 'pwd')
|
63
|
+
await SandboxInstance.delete(sandbox_name)
|
64
|
+
except Exception as e:
|
65
|
+
print(e)
|
66
|
+
finally:
|
67
|
+
await SandboxInstance.delete(sandbox_name)
|
68
|
+
|
69
|
+
sandbox_name = random_string(10)
|
70
|
+
try:
|
71
|
+
print(f"Creating sandbox {sandbox_name}")
|
72
|
+
sandbox = await create_sandbox(sandbox_name)
|
73
|
+
sandbox = await SandboxInstance.get(sandbox_name)
|
74
|
+
await run_process_with_retry(sandbox, 'pwd')
|
75
|
+
await SandboxInstance.delete(sandbox_name)
|
76
|
+
except Exception as e:
|
77
|
+
print(e)
|
78
|
+
finally:
|
79
|
+
await SandboxInstance.delete(sandbox_name)
|
80
|
+
|
81
|
+
|
82
|
+
if __name__ == "__main__":
|
83
|
+
asyncio.run(main())
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import asyncio
|
2
|
+
import json
|
3
|
+
import logging
|
4
|
+
|
5
|
+
from blaxel.sandbox.sandbox import SandboxInstance
|
6
|
+
|
7
|
+
logger = logging.getLogger(__name__)
|
8
|
+
|
9
|
+
|
10
|
+
async def main():
|
11
|
+
sandbox_name = "spinup-test5"
|
12
|
+
sandbox = await SandboxInstance.get(sandbox_name)
|
13
|
+
result = await sandbox.fs.ls("/root")
|
14
|
+
print(json.dumps(result.to_dict(), indent=4))
|
15
|
+
# Filesystem tests
|
16
|
+
|
17
|
+
if __name__ == "__main__":
|
18
|
+
asyncio.run(main())
|
@@ -19,16 +19,25 @@ def get_credentials() -> Optional[CredentialsType]:
|
|
19
19
|
Returns:
|
20
20
|
Optional[CredentialsType]: The credentials or None if not found
|
21
21
|
"""
|
22
|
+
def get_workspace():
|
23
|
+
if os.environ.get("BL_WORKSPACE"):
|
24
|
+
return os.environ.get("BL_WORKSPACE")
|
25
|
+
home_dir = Path.home()
|
26
|
+
config_path = home_dir / '.blaxel' / 'config.yaml'
|
27
|
+
with open(config_path, encoding='utf-8') as f:
|
28
|
+
config_json = yaml.safe_load(f)
|
29
|
+
return config_json.get("context", {}).get("workspace")
|
30
|
+
|
22
31
|
if os.environ.get("BL_API_KEY"):
|
23
32
|
return CredentialsType(
|
24
33
|
api_key=os.environ.get("BL_API_KEY"),
|
25
|
-
workspace=
|
34
|
+
workspace=get_workspace()
|
26
35
|
)
|
27
36
|
|
28
37
|
if os.environ.get("BL_CLIENT_CREDENTIALS"):
|
29
38
|
return CredentialsType(
|
30
39
|
client_credentials=os.environ.get("BL_CLIENT_CREDENTIALS"),
|
31
|
-
workspace=
|
40
|
+
workspace=get_workspace()
|
32
41
|
)
|
33
42
|
|
34
43
|
try:
|
@@ -0,0 +1,179 @@
|
|
1
|
+
from http import HTTPStatus
|
2
|
+
from typing import Any, Optional, Union
|
3
|
+
|
4
|
+
import httpx
|
5
|
+
|
6
|
+
from ... import errors
|
7
|
+
from ...client import Client
|
8
|
+
from ...models.preview import Preview
|
9
|
+
from ...types import Response
|
10
|
+
|
11
|
+
|
12
|
+
def _get_kwargs(
|
13
|
+
sandbox_name: str,
|
14
|
+
*,
|
15
|
+
body: Preview,
|
16
|
+
) -> dict[str, Any]:
|
17
|
+
headers: dict[str, Any] = {}
|
18
|
+
|
19
|
+
_kwargs: dict[str, Any] = {
|
20
|
+
"method": "post",
|
21
|
+
"url": f"/sandboxes/{sandbox_name}/previews",
|
22
|
+
}
|
23
|
+
|
24
|
+
if type(body) == dict:
|
25
|
+
_body = body
|
26
|
+
else:
|
27
|
+
_body = body.to_dict()
|
28
|
+
|
29
|
+
_kwargs["json"] = _body
|
30
|
+
headers["Content-Type"] = "application/json"
|
31
|
+
|
32
|
+
_kwargs["headers"] = headers
|
33
|
+
return _kwargs
|
34
|
+
|
35
|
+
|
36
|
+
def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Preview]:
|
37
|
+
if response.status_code == 200:
|
38
|
+
response_200 = Preview.from_dict(response.json())
|
39
|
+
|
40
|
+
return response_200
|
41
|
+
if client.raise_on_unexpected_status:
|
42
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
43
|
+
else:
|
44
|
+
return None
|
45
|
+
|
46
|
+
|
47
|
+
def _build_response(*, client: Client, response: httpx.Response) -> Response[Preview]:
|
48
|
+
return Response(
|
49
|
+
status_code=HTTPStatus(response.status_code),
|
50
|
+
content=response.content,
|
51
|
+
headers=response.headers,
|
52
|
+
parsed=_parse_response(client=client, response=response),
|
53
|
+
)
|
54
|
+
|
55
|
+
|
56
|
+
def sync_detailed(
|
57
|
+
sandbox_name: str,
|
58
|
+
*,
|
59
|
+
client: Union[Client],
|
60
|
+
body: Preview,
|
61
|
+
) -> Response[Preview]:
|
62
|
+
"""Create Sandbox Preview
|
63
|
+
|
64
|
+
Create a preview
|
65
|
+
|
66
|
+
Args:
|
67
|
+
sandbox_name (str):
|
68
|
+
body (Preview): Preview of a Resource
|
69
|
+
|
70
|
+
Raises:
|
71
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
72
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
73
|
+
|
74
|
+
Returns:
|
75
|
+
Response[Preview]
|
76
|
+
"""
|
77
|
+
|
78
|
+
kwargs = _get_kwargs(
|
79
|
+
sandbox_name=sandbox_name,
|
80
|
+
body=body,
|
81
|
+
)
|
82
|
+
|
83
|
+
response = client.get_httpx_client().request(
|
84
|
+
**kwargs,
|
85
|
+
)
|
86
|
+
|
87
|
+
return _build_response(client=client, response=response)
|
88
|
+
|
89
|
+
|
90
|
+
def sync(
|
91
|
+
sandbox_name: str,
|
92
|
+
*,
|
93
|
+
client: Union[Client],
|
94
|
+
body: Preview,
|
95
|
+
) -> Optional[Preview]:
|
96
|
+
"""Create Sandbox Preview
|
97
|
+
|
98
|
+
Create a preview
|
99
|
+
|
100
|
+
Args:
|
101
|
+
sandbox_name (str):
|
102
|
+
body (Preview): Preview of a Resource
|
103
|
+
|
104
|
+
Raises:
|
105
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
106
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
107
|
+
|
108
|
+
Returns:
|
109
|
+
Preview
|
110
|
+
"""
|
111
|
+
|
112
|
+
return sync_detailed(
|
113
|
+
sandbox_name=sandbox_name,
|
114
|
+
client=client,
|
115
|
+
body=body,
|
116
|
+
).parsed
|
117
|
+
|
118
|
+
|
119
|
+
async def asyncio_detailed(
|
120
|
+
sandbox_name: str,
|
121
|
+
*,
|
122
|
+
client: Union[Client],
|
123
|
+
body: Preview,
|
124
|
+
) -> Response[Preview]:
|
125
|
+
"""Create Sandbox Preview
|
126
|
+
|
127
|
+
Create a preview
|
128
|
+
|
129
|
+
Args:
|
130
|
+
sandbox_name (str):
|
131
|
+
body (Preview): Preview of a Resource
|
132
|
+
|
133
|
+
Raises:
|
134
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
135
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
136
|
+
|
137
|
+
Returns:
|
138
|
+
Response[Preview]
|
139
|
+
"""
|
140
|
+
|
141
|
+
kwargs = _get_kwargs(
|
142
|
+
sandbox_name=sandbox_name,
|
143
|
+
body=body,
|
144
|
+
)
|
145
|
+
|
146
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
147
|
+
|
148
|
+
return _build_response(client=client, response=response)
|
149
|
+
|
150
|
+
|
151
|
+
async def asyncio(
|
152
|
+
sandbox_name: str,
|
153
|
+
*,
|
154
|
+
client: Union[Client],
|
155
|
+
body: Preview,
|
156
|
+
) -> Optional[Preview]:
|
157
|
+
"""Create Sandbox Preview
|
158
|
+
|
159
|
+
Create a preview
|
160
|
+
|
161
|
+
Args:
|
162
|
+
sandbox_name (str):
|
163
|
+
body (Preview): Preview of a Resource
|
164
|
+
|
165
|
+
Raises:
|
166
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
167
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
168
|
+
|
169
|
+
Returns:
|
170
|
+
Preview
|
171
|
+
"""
|
172
|
+
|
173
|
+
return (
|
174
|
+
await asyncio_detailed(
|
175
|
+
sandbox_name=sandbox_name,
|
176
|
+
client=client,
|
177
|
+
body=body,
|
178
|
+
)
|
179
|
+
).parsed
|