blaxel 0.1.13__tar.gz → 0.1.14__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.13 → blaxel-0.1.14}/PKG-INFO +2 -2
- blaxel-0.1.14/integrationtest/bl_jobs.py +12 -0
- blaxel-0.1.14/integrationtest/global_hash.py +3 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/pyproject.toml +2 -2
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/authentication/clientcredentials.py +25 -4
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/common/internal.py +19 -15
- blaxel-0.1.14/src/blaxel/common/logger.py +107 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/common/settings.py +8 -3
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/instrumentation/log.py +0 -1
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/instrumentation/manager.py +10 -8
- blaxel-0.1.14/src/blaxel/jobs/__init__.py +188 -0
- blaxel-0.1.13/integrationtest/global_hash.py +0 -3
- blaxel-0.1.13/src/blaxel/common/logger.py +0 -55
- {blaxel-0.1.13 → blaxel-0.1.14}/.github/workflows/dev.yaml +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/.github/workflows/prod.yaml +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/.gitignore +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/LICENSE +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/Makefile +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/README.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/blaxel.toml +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/doc.sh +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/agents.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/agents/create_agent.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/agents/delete_agent.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/agents/get_agent.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/agents/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/agents/list_agent_revisions.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/agents/list_agents.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/agents/update_agent.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/configurations/get_configuration.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/configurations/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/default/get_template.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/default/get_template_contents.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/default/get_template_file_contents.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/default/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/default/list_mcp_hub_definitions.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/functions/create_function.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/functions/delete_function.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/functions/get_function.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/functions/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/functions/list_function_revisions.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/functions/list_functions.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/functions/update_function.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/create_integration_connection.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/delete_integration_connection.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/get_integration.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/get_integration_connection.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/get_integration_connection_model.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/get_integration_connection_model_endpoint_configurations.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/list_integration_connection_models.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/list_integration_connections.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/update_integration_connection.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/invitations/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/invitations/list_all_pending_invitations.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/knowledgebases/create_knowledgebase.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/knowledgebases/delete_knowledgebase.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/knowledgebases/get_knowledgebase.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/knowledgebases/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/knowledgebases/list_knowledgebase_revisions.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/knowledgebases/list_knowledgebases.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/knowledgebases/update_knowledgebase.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/locations/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/locations/list_locations.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/models/create_model.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/models/delete_model.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/models/get_model.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/models/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/models/list_model_revisions.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/models/list_models.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/models/update_model.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/policies/create_policy.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/policies/delete_policy.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/policies/get_policy.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/policies/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/policies/list_policies.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/policies/update_policy.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/privateclusters/create_private_cluster.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/privateclusters/delete_private_cluster.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/privateclusters/get_private_cluster.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/privateclusters/get_private_cluster_health.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/privateclusters/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/privateclusters/list_private_clusters.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/privateclusters/update_private_cluster.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/privateclusters/update_private_cluster_health.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/service_accounts/create_api_key_for_service_account.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/service_accounts/create_workspace_service_account.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/service_accounts/delete_api_key_for_service_account.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/service_accounts/delete_workspace_service_account.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/service_accounts/get_workspace_service_accounts.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/service_accounts/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/service_accounts/list_api_keys_for_service_account.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/service_accounts/update_workspace_service_account.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/templates/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/templates/list_templates.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/accept_workspace_invitation.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/create_worspace.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/decline_workspace_invitation.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/delete_workspace.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/get_workspace.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/invite_workspace_user.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/leave_workspace.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/list_workspace_users.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/list_workspaces.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/remove_workspace_user.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/update_workspace.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/workspaces/update_workspace_user_role.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/authentication/apikey.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/authentication/authentication.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/authentication/clientcredentials.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/authentication/credentials.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/authentication/device_mode.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/authentication/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/client.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/common/error.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/common/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/common/instrumentation.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/common/logger.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/common/secrets.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/common/settings.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/common/utils.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/deploy/deploy.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/deploy/format.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/deploy/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/deploy/parser.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/errors.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/functions.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/knowledgebases/chroma.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/knowledgebases/embeddings.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/knowledgebases/factory.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/knowledgebases/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/knowledgebases/pinecone.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/knowledgebases/qdrant.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/knowledgebases/types.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/acl.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/agent.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/agent_chain.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/agent_spec.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/api_key.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/configuration.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/continent.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/core_event.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/core_spec.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/core_spec_configurations.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/country.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/create_api_key_for_service_account_body.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/create_workspace_service_account_body.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/create_workspace_service_account_response_200.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/delete_workspace_service_account_response_200.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/entrypoint.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/entrypoint_env.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/flavor.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/form.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/form_config.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/form_oauth.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/form_secrets.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/function.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/function_kit.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/function_schema.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/function_schema_not.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/function_schema_or_bool.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/function_schema_properties.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/function_spec.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/get_workspace_service_accounts_response_200_item.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/histogram_bucket.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/histogram_stats.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/integration_connection.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/integration_connection_spec.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/integration_connection_spec_config.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/integration_connection_spec_secret.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/integration_model.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/integration_repository.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/invite_workspace_user_body.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/knowledgebase.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/knowledgebase_spec.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/knowledgebase_spec_options.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/last_n_requests_metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/latency_metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/location_response.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/mcp_definition.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/mcp_definition_entrypoint.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/mcp_definition_form.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/memory_allocation_metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/metadata.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/metadata_labels.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/metrics.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/metrics_models.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/metrics_request_total_per_code.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/metrics_rps_per_code.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/model.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/model_private_cluster.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/model_spec.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/o_auth.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/owner_fields.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/pending_invitation.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/pending_invitation_accept.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/pending_invitation_render.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/pending_invitation_render_invited_by.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/pending_invitation_render_workspace.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/pending_invitation_workspace_details.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/pod_template_spec.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/policy.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/policy_location.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/policy_max_tokens.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/policy_spec.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/private_cluster.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/private_location.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/repository.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/request_duration_over_time_metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/request_duration_over_time_metrics.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/request_total_by_origin_metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/request_total_by_origin_metric_request_total_by_origin.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/request_total_by_origin_metric_request_total_by_origin_and_code.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/request_total_metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/request_total_metric_request_total_per_code.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/request_total_metric_rps_per_code.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/resource_log.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/resource_metrics.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/resource_metrics_request_total_per_code.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/resource_metrics_rps_per_code.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/revision_configuration.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/revision_metadata.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/runtime.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/runtime_startup_probe.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/serverless_config.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/spec_configuration.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/store_agent.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/store_agent_labels.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/store_configuration.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/store_configuration_option.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/template.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/template_variable.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/time_fields.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/time_to_first_token_over_time_metrics.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/token_rate_metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/token_rate_metrics.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/token_total_metric.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/trace_ids_response.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/update_workspace_service_account_body.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/update_workspace_service_account_response_200.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/update_workspace_user_role_body.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/websocket_channel.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/workspace.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/workspace_labels.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/models/workspace_user.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/run.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/serve/app.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/serve/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/serve/middlewares/accesslog.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/serve/middlewares/index.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/serve/middlewares/processtime.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/types.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel-docs.md +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/agent_crewai.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/agent_googleadk.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/agent_langchain.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/agent_langgraph.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/agent_livekit.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/agent_llamaindex.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/agent_openai.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/agent_pydantic.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/bl_agents.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/bl_models.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/bl_tools.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/client.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/env.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/fastapi_crewai.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/fastapi_google_adk.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/fastapi_langchain.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/fastapi_llamaindex.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/fastapi_openai.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/fastapi_pydantic.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/load_test.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/mcp_client.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/mcp_creation.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/mcp_server.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/sandbox_502.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/sandbox_preview.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/integrationtest/sandbox_small.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/openapi-python-client.yml +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/agents/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/authentication/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/authentication/apikey.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/authentication/devicemode.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/authentication/oauth.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/authentication/types.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/cache/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/cache/cache.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/agents/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/agents/create_agent.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/agents/delete_agent.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/agents/get_agent.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/agents/list_agent_revisions.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/agents/list_agents.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/agents/update_agent.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/create_sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/create_sandbox_preview.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/create_sandbox_preview_token.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/delete_sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/delete_sandbox_preview.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/delete_sandbox_preview_token.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/get_sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/get_sandbox_preview.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/list_sandbox_preview_tokens.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/list_sandbox_previews.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/list_sandboxes.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/start_sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/stop_sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/update_sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/compute/update_sandbox_preview.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/configurations/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/configurations/get_configuration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/default/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/default/get_template.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/default/get_template_contents.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/default/get_template_file_contents.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/default/list_mcp_hub_definitions.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/default/list_sandbox_hub_definitions.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/functions/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/functions/create_function.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/functions/delete_function.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/functions/get_function.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/functions/list_function_revisions.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/functions/list_functions.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/functions/update_function.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/create_integration_connection.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/delete_integration_connection.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/get_integration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/get_integration_connection.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/get_integration_connection_model.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/get_integration_connection_model_endpoint_configurations.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/list_integration_connection_models.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/list_integration_connections.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/integrations/update_integration_connection.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/invitations/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/invitations/list_all_pending_invitations.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/knowledgebases/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/knowledgebases/create_knowledgebase.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/knowledgebases/delete_knowledgebase.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/knowledgebases/get_knowledgebase.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/knowledgebases/list_knowledgebase_revisions.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/knowledgebases/list_knowledgebases.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/knowledgebases/update_knowledgebase.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/locations/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/locations/list_locations.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/models/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/models/create_model.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/models/delete_model.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/models/get_model.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/models/list_model_revisions.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/models/list_models.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/models/update_model.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/policies/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/policies/create_policy.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/policies/delete_policy.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/policies/get_policy.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/policies/list_policies.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/policies/update_policy.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/privateclusters/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/privateclusters/create_private_cluster.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/privateclusters/delete_private_cluster.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/privateclusters/get_private_cluster.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/privateclusters/get_private_cluster_health.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/privateclusters/list_private_clusters.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/privateclusters/update_private_cluster.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/privateclusters/update_private_cluster_health.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/service_accounts/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/service_accounts/create_api_key_for_service_account.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/service_accounts/create_workspace_service_account.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/service_accounts/delete_api_key_for_service_account.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/service_accounts/delete_workspace_service_account.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/service_accounts/get_workspace_service_accounts.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/service_accounts/list_api_keys_for_service_account.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/service_accounts/update_workspace_service_account.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/templates/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/templates/list_templates.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/accept_workspace_invitation.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/check_workspace_availability.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/create_worspace.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/decline_workspace_invitation.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/delete_workspace.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/get_workspace.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/invite_workspace_user.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/leave_workspace.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/list_workspace_users.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/list_workspaces.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/remove_workspace_user.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/update_workspace.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/api/workspaces/update_workspace_user_role.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/client.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/errors.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/acl.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/agent.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/agent_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/api_key.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/check_workspace_availability_body.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/configuration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/continent.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/core_event.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/core_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/core_spec_configurations.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/country.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/create_api_key_for_service_account_body.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/create_workspace_service_account_body.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/create_workspace_service_account_response_200.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/delete_sandbox_preview_token_response_200.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/delete_workspace_service_account_response_200.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/entrypoint.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/entrypoint_env.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/flavor.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/form.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/form_config.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/form_oauth.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/form_secrets.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/function.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/function_kit.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/function_schema.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/function_schema_not.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/function_schema_or_bool.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/function_schema_properties.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/function_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/get_workspace_service_accounts_response_200_item.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/histogram_bucket.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/histogram_stats.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_additional_infos.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_connection.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_connection_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_connection_spec_config.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_connection_spec_secret.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_endpoint.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_endpoint_token.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_endpoints.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_headers.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_model.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_organization.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_query_params.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/integration_repository.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/invite_workspace_user_body.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/knowledgebase.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/knowledgebase_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/knowledgebase_spec_options.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/last_n_requests_metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/latency_metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/location_response.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/mcp_definition.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/mcp_definition_entrypoint.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/mcp_definition_form.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/memory_allocation_metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/metadata.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/metadata_labels.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/metrics.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/metrics_models.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/metrics_request_total_per_code.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/metrics_rps_per_code.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/model.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/model_private_cluster.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/model_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/o_auth.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/owner_fields.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/pending_invitation.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/pending_invitation_accept.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/pending_invitation_render.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/pending_invitation_render_invited_by.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/pending_invitation_render_workspace.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/pending_invitation_workspace_details.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/pod_template_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/policy.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/policy_location.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/policy_max_tokens.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/policy_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/port.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/preview.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/preview_metadata.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/preview_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/preview_token.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/preview_token_metadata.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/preview_token_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/private_cluster.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/private_location.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/repository.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_duration_over_time_metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_duration_over_time_metrics.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_total_by_origin_metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_total_by_origin_metric_request_total_by_origin.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_total_metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_total_metric_request_total_per_code.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_total_metric_rps_per_code.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/request_total_response_data.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/resource_log.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/resource_metrics.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/resource_metrics_request_total_per_code.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/resource_metrics_request_total_per_code_previous.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/resource_metrics_rps_per_code.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/resource_metrics_rps_per_code_previous.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/revision_configuration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/revision_metadata.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/runtime.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/runtime_configuration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/runtime_startup_probe.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/sandbox_definition.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/sandbox_spec.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/serverless_config.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/serverless_config_configuration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/spec_configuration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/start_sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/stop_sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/store_agent.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/store_agent_labels.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/store_configuration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/store_configuration_option.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/template.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/template_variable.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/time_fields.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/time_to_first_token_over_time_metrics.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/token_rate_metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/token_rate_metrics.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/token_total_metric.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/trace_ids_response.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/trigger.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/trigger_configuration.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/update_workspace_service_account_body.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/update_workspace_service_account_response_200.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/update_workspace_user_role_body.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/websocket_channel.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/workspace.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/workspace_labels.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/workspace_runtime.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/models/workspace_user.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/py.typed +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/client/types.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/common/autoload.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/common/env.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/instrumentation/exporters.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/instrumentation/map.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/instrumentation/span.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/mcp/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/mcp/client.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/mcp/server.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/crewai.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/custom/langchain/gemini.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/custom/llamaindex/cohere.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/custom/pydantic/gemini.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/googleadk.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/langchain.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/livekit.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/llamaindex.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/openai.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/models/pydantic.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/base.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/filesystem/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/filesystem/delete_filesystem_path.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/filesystem/get_filesystem_path.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/filesystem/get_watch_filesystem_path.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/filesystem/get_ws_watch_filesystem_path.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/filesystem/put_filesystem_path.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/network/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/network/delete_network_process_pid_monitor.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/network/get_network_process_pid_ports.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/network/post_network_process_pid_monitor.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/delete_process_identifier.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/delete_process_identifier_kill.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/get_process.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/get_process_identifier.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/get_process_identifier_logs.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/get_process_identifier_logs_stream.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/get_ws_process_identifier_logs_stream.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/api/process/post_process.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/client.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/errors.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/delete_network_process_pid_monitor_response_200.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/directory.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/error_response.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/file.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/file_request.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/file_with_content.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/get_network_process_pid_ports_response_200.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/get_process_identifier_logs_response_200.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/port_monitor_request.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/post_network_process_pid_monitor_response_200.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/process_kill_request.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/process_request.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/process_response.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/subdirectory.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/models/success_response.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/py.typed +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/client/types.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/filesystem.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/preview.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/process.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/sandbox/sandbox.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/__init__.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/common.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/crewai.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/googleadk.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/langchain.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/livekit.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/llamaindex.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/openai.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/pydantic.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/src/blaxel/tools/types.py +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/.gitignore.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/README.md.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/api_init.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/client.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/endpoint_init.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/endpoint_macros.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/endpoint_module.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/errors.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/helpers.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/int_enum.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/literal_enum.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/model.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/models_init.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/package_init.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/any_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/boolean_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/const_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/date_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/datetime_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/enum_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/file_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/float_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/helpers.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/int_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/list_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/literal_enum_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/model_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/property_macros.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/union_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/property_templates/uuid_property.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/pyproject.toml.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/pyproject_ruff.toml.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/setup.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/str_enum.py.jinja +0 -0
- {blaxel-0.1.13 → blaxel-0.1.14}/templates/types.py.jinja +0 -0
@@ -1,13 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: blaxel
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.14
|
4
4
|
Summary: Add your description here
|
5
5
|
Author-email: cploujoux <cploujoux@blaxel.ai>
|
6
6
|
License-File: LICENSE
|
7
7
|
Requires-Python: >=3.10
|
8
8
|
Requires-Dist: attrs>=21.3.0
|
9
9
|
Requires-Dist: httpx>=0.27.0
|
10
|
-
Requires-Dist: mcp
|
10
|
+
Requires-Dist: mcp<=1.7.1
|
11
11
|
Requires-Dist: opentelemetry-api>=1.28.0
|
12
12
|
Requires-Dist: opentelemetry-exporter-otlp>=1.28.0
|
13
13
|
Requires-Dist: opentelemetry-instrumentation-anthropic==0.35.0
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import asyncio
|
2
|
+
|
3
|
+
from blaxel.jobs import bl_job
|
4
|
+
|
5
|
+
|
6
|
+
async def main():
|
7
|
+
job = bl_job("myjob")
|
8
|
+
print(await job.arun([{"name": "charlou", "age": 25}]))
|
9
|
+
print(job.run([{"name": "charlou", "age": 25}]))
|
10
|
+
|
11
|
+
if __name__ == "__main__":
|
12
|
+
asyncio.run(main())
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "blaxel"
|
3
|
-
version = "0.1.
|
3
|
+
version = "0.1.14"
|
4
4
|
description = "Add your description here"
|
5
5
|
readme = "README.md"
|
6
6
|
authors = [{ name = "cploujoux", email = "cploujoux@blaxel.ai" }]
|
@@ -8,7 +8,7 @@ requires-python = ">=3.10"
|
|
8
8
|
dependencies = [
|
9
9
|
"attrs>=21.3.0",
|
10
10
|
"httpx>=0.27.0",
|
11
|
-
"mcp
|
11
|
+
"mcp<=1.7.1",
|
12
12
|
# OpenTelemetry dependencies
|
13
13
|
"opentelemetry-api>=1.28.0",
|
14
14
|
"opentelemetry-exporter-otlp>=1.28.0",
|
@@ -7,6 +7,7 @@ client credentials and refresh tokens.
|
|
7
7
|
from dataclasses import dataclass
|
8
8
|
from datetime import datetime, timedelta
|
9
9
|
from typing import Generator, Optional
|
10
|
+
import time
|
10
11
|
|
11
12
|
import requests
|
12
13
|
from httpx import Request, Response
|
@@ -46,14 +47,17 @@ class ClientCredentials(BlaxelAuth):
|
|
46
47
|
"X-Blaxel-Workspace": self.workspace_name,
|
47
48
|
}
|
48
49
|
|
49
|
-
def
|
50
|
+
def _request_token(self, remaining_retries: int = 3) -> Optional[Exception]:
|
50
51
|
"""
|
51
|
-
|
52
|
+
Makes the token request with recursive retry logic.
|
53
|
+
|
54
|
+
Args:
|
55
|
+
remaining_retries (int): Number of retry attempts remaining.
|
52
56
|
|
53
57
|
Returns:
|
54
|
-
Optional[Exception]: An exception if refreshing fails, otherwise None.
|
58
|
+
Optional[Exception]: An exception if refreshing fails after all retries, otherwise None.
|
55
59
|
"""
|
56
|
-
|
60
|
+
try:
|
57
61
|
headers = {"Authorization": f"Basic {self.credentials.client_credentials}", "Content-Type": "application/json"}
|
58
62
|
body = {"grant_type": "client_credentials"}
|
59
63
|
response = requests.post(f"{self.base_url}/oauth/token", headers=headers, json=body)
|
@@ -63,6 +67,23 @@ class ClientCredentials(BlaxelAuth):
|
|
63
67
|
self.credentials.refresh_token = creds["refresh_token"]
|
64
68
|
self.credentials.expires_in = creds["expires_in"]
|
65
69
|
self.expires_at = datetime.now() + timedelta(seconds=self.credentials.expires_in)
|
70
|
+
return None
|
71
|
+
except Exception as e:
|
72
|
+
if remaining_retries > 0:
|
73
|
+
time.sleep(1)
|
74
|
+
return self._request_token(remaining_retries - 1)
|
75
|
+
return e
|
76
|
+
|
77
|
+
def get_token(self) -> Optional[Exception]:
|
78
|
+
"""
|
79
|
+
Checks if the access token needs to be refreshed and performs the refresh if necessary.
|
80
|
+
Uses recursive retry logic for up to 3 attempts.
|
81
|
+
|
82
|
+
Returns:
|
83
|
+
Optional[Exception]: An exception if refreshing fails after all retries, otherwise None.
|
84
|
+
"""
|
85
|
+
if self.need_token():
|
86
|
+
return self._request_token()
|
66
87
|
return None
|
67
88
|
|
68
89
|
def need_token(self):
|
@@ -7,21 +7,25 @@ from typing import Optional
|
|
7
7
|
|
8
8
|
logger = getLogger(__name__)
|
9
9
|
|
10
|
-
def get_alphanumeric_limited_hash(input_str, max_size):
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
10
|
+
def get_alphanumeric_limited_hash(input_str, max_size=48):
|
11
|
+
"""
|
12
|
+
Create an alphanumeric hash using MD5 that can be reproduced in Go, TypeScript, and Python.
|
13
|
+
|
14
|
+
Args:
|
15
|
+
input_str (str): The input string to hash
|
16
|
+
max_size (int): The maximum length of the returned hash
|
17
|
+
|
18
|
+
Returns:
|
19
|
+
str: An alphanumeric hash of the input string, limited to max_size
|
20
|
+
"""
|
21
|
+
# Calculate MD5 hash and convert to hexadecimal
|
22
|
+
hash_hex = hashlib.md5(input_str.encode('utf-8')).hexdigest()
|
23
|
+
|
24
|
+
# Limit to max_size
|
25
|
+
if len(hash_hex) > max_size:
|
26
|
+
return hash_hex[:max_size]
|
27
|
+
|
28
|
+
return hash_hex
|
25
29
|
|
26
30
|
|
27
31
|
def get_global_unique_hash(workspace: str, type: str, name: str) -> str:
|
@@ -0,0 +1,107 @@
|
|
1
|
+
"""
|
2
|
+
This module provides a custom colored formatter for logging and an initialization function
|
3
|
+
to set up logging configurations for Blaxel applications.
|
4
|
+
"""
|
5
|
+
import json
|
6
|
+
import logging
|
7
|
+
import os
|
8
|
+
from opentelemetry import trace
|
9
|
+
|
10
|
+
class JsonFormatter(logging.Formatter):
|
11
|
+
"""
|
12
|
+
A logger compatible with standard json logging.
|
13
|
+
"""
|
14
|
+
def __init__(self):
|
15
|
+
super().__init__()
|
16
|
+
self.trace_id_name = os.environ.get('BL_LOGGER_TRACE_ID', 'trace_id')
|
17
|
+
self.span_id_name = os.environ.get('BL_LOGGER_SPAN_ID', 'span_id')
|
18
|
+
self.labels_name = os.environ.get('BL_LOGGER_LABELS', 'labels')
|
19
|
+
self.trace_id_prefix = os.environ.get('BL_LOGGER_TRACE_ID_PREFIX', '')
|
20
|
+
self.span_id_prefix = os.environ.get('BL_LOGGER_SPAN_ID_PREFIX', '')
|
21
|
+
self.task_index = os.environ.get('BL_TASK_KEY', 'TASK_INDEX')
|
22
|
+
self.task_prefix = os.environ.get('BL_TASK_PREFIX', '')
|
23
|
+
self.execution_key = os.environ.get('BL_EXECUTION_KEY', 'BL_EXECUTION_ID')
|
24
|
+
self.execution_prefix = os.environ.get('BL_EXECUTION_PREFIX', '')
|
25
|
+
|
26
|
+
def format(self, record):
|
27
|
+
"""
|
28
|
+
Formats the log record by converting it to a JSON object with trace context and environment variables.
|
29
|
+
"""
|
30
|
+
log_entry = {
|
31
|
+
'message': record.getMessage(),
|
32
|
+
'severity': record.levelname,
|
33
|
+
self.labels_name: {}
|
34
|
+
}
|
35
|
+
|
36
|
+
# Add trace context if available
|
37
|
+
current_span = trace.get_current_span()
|
38
|
+
if current_span.is_recording():
|
39
|
+
span_context = current_span.get_span_context()
|
40
|
+
log_entry[self.trace_id_name] = f"{self.trace_id_prefix}{span_context.trace_id}"
|
41
|
+
log_entry[self.span_id_name] = f"{self.span_id_prefix}{span_context.span_id}"
|
42
|
+
|
43
|
+
# Add task ID if available
|
44
|
+
task_id = os.environ.get(self.task_index)
|
45
|
+
if task_id:
|
46
|
+
log_entry[self.labels_name]['blaxel-task'] = f"{self.task_prefix}{task_id}"
|
47
|
+
|
48
|
+
# Add execution ID if available
|
49
|
+
execution_id = os.environ.get(self.execution_key)
|
50
|
+
if execution_id:
|
51
|
+
log_entry[self.labels_name]['blaxel-execution'] = f"{self.execution_prefix}{execution_id.split('-')[-1]}"
|
52
|
+
|
53
|
+
return json.dumps(log_entry)
|
54
|
+
|
55
|
+
|
56
|
+
class ColoredFormatter(logging.Formatter):
|
57
|
+
"""
|
58
|
+
A custom logging formatter that adds ANSI color codes to log levels for enhanced readability.
|
59
|
+
|
60
|
+
Attributes:
|
61
|
+
COLORS (dict): A mapping of log level names to their corresponding ANSI color codes.
|
62
|
+
"""
|
63
|
+
COLORS = {
|
64
|
+
"DEBUG": "\033[1;36m", # Cyan
|
65
|
+
"INFO": "\033[1;32m", # Green
|
66
|
+
"WARNING": "\033[1;33m", # Yellow
|
67
|
+
"ERROR": "\033[1;31m", # Red
|
68
|
+
"CRITICAL": "\033[1;41m", # Red background
|
69
|
+
}
|
70
|
+
|
71
|
+
def format(self, record):
|
72
|
+
"""
|
73
|
+
Formats the log record by adding color codes based on the log level.
|
74
|
+
|
75
|
+
Parameters:
|
76
|
+
record (LogRecord): The log record to format.
|
77
|
+
|
78
|
+
Returns:
|
79
|
+
str: The formatted log message with appropriate color codes.
|
80
|
+
"""
|
81
|
+
n_spaces = len("CRITICAL") - len(record.levelname)
|
82
|
+
tab = " " * n_spaces
|
83
|
+
color = self.COLORS.get(record.levelname, "\033[0m")
|
84
|
+
record.levelname = f"{color}{record.levelname}\033[0m:{tab}"
|
85
|
+
return super().format(record)
|
86
|
+
|
87
|
+
def init_logger(log_level: str):
|
88
|
+
"""
|
89
|
+
Initializes the logging configuration for Blaxel.
|
90
|
+
|
91
|
+
This function clears existing handlers for specific loggers, sets up a colored formatter,
|
92
|
+
and configures the root logger with the specified log level.
|
93
|
+
|
94
|
+
Parameters:
|
95
|
+
log_level (str): The logging level to set (e.g., "DEBUG", "INFO").
|
96
|
+
"""
|
97
|
+
# Disable urllib3 logging
|
98
|
+
logging.getLogger('urllib3').setLevel(logging.CRITICAL)
|
99
|
+
logging.getLogger("httpx").setLevel(logging.CRITICAL)
|
100
|
+
handler = logging.StreamHandler()
|
101
|
+
|
102
|
+
logger_type = os.environ.get("BL_LOGGER", "http")
|
103
|
+
if logger_type == "json":
|
104
|
+
handler.setFormatter(JsonFormatter())
|
105
|
+
else:
|
106
|
+
handler.setFormatter(ColoredFormatter("%(levelname)s %(name)s - %(message)s"))
|
107
|
+
logging.basicConfig(level=log_level, handlers=[handler])
|
@@ -62,9 +62,14 @@ class Settings:
|
|
62
62
|
@property
|
63
63
|
def run_internal_hostname(self) -> str:
|
64
64
|
"""Get the run internal hostname."""
|
65
|
-
|
66
|
-
|
67
|
-
|
65
|
+
if self.generation == "":
|
66
|
+
return ""
|
67
|
+
return os.environ.get("BL_RUN_INTERNAL_HOST", "")
|
68
|
+
|
69
|
+
@property
|
70
|
+
def generation(self) -> str:
|
71
|
+
"""Get the generation."""
|
72
|
+
return os.environ.get("BL_GENERATION", "")
|
68
73
|
|
69
74
|
@property
|
70
75
|
def bl_cloud(self) -> bool:
|
@@ -7,6 +7,7 @@ import importlib
|
|
7
7
|
import logging
|
8
8
|
import signal
|
9
9
|
import time
|
10
|
+
import os
|
10
11
|
from typing import Any, Dict, List, Optional, Type
|
11
12
|
|
12
13
|
from opentelemetry import metrics, trace
|
@@ -164,14 +165,15 @@ class TelemetryManager:
|
|
164
165
|
metrics.set_meter_provider(meter_provider)
|
165
166
|
self.meter = meter_provider.get_meter(__name__)
|
166
167
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
168
|
+
logger_type = os.environ.get("BL_LOGGER", "http")
|
169
|
+
if logger_type == "http":
|
170
|
+
self.logger_provider = LoggerProvider(resource=resource)
|
171
|
+
set_logger_provider(self.logger_provider)
|
172
|
+
self.logger_provider.add_log_record_processor(
|
173
|
+
AsyncLogRecordProcessor(self.get_log_exporter())
|
174
|
+
)
|
175
|
+
handler = LoggingHandler(level=logging.NOTSET, logger_provider=self.logger_provider)
|
176
|
+
logging.getLogger().addHandler(handler)
|
175
177
|
|
176
178
|
# Load and enable instrumentations
|
177
179
|
for name, mapping in MAPPINGS.items():
|
@@ -0,0 +1,188 @@
|
|
1
|
+
import argparse
|
2
|
+
import os
|
3
|
+
import sys
|
4
|
+
import asyncio
|
5
|
+
import requests
|
6
|
+
|
7
|
+
|
8
|
+
from typing import Any, Dict, Callable, Awaitable
|
9
|
+
from logging import getLogger
|
10
|
+
from ..client import client
|
11
|
+
from ..common.env import env
|
12
|
+
from ..common.internal import get_global_unique_hash
|
13
|
+
from ..common.settings import settings
|
14
|
+
from ..instrumentation.span import SpanManager
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
class BlJobWrapper:
|
19
|
+
def get_arguments(self) -> Dict[str, Any]:
|
20
|
+
if not os.getenv('BL_EXECUTION_DATA_URL'):
|
21
|
+
parser = argparse.ArgumentParser()
|
22
|
+
# Parse known args, ignore unknown
|
23
|
+
args, unknown = parser.parse_known_args()
|
24
|
+
# Convert to dict and include unknown args
|
25
|
+
args_dict = vars(args)
|
26
|
+
# Add unknown args to dict
|
27
|
+
for i in range(0, len(unknown), 2):
|
28
|
+
if i + 1 < len(unknown):
|
29
|
+
key = unknown[i].lstrip('-')
|
30
|
+
args_dict[key] = unknown[i + 1]
|
31
|
+
return args_dict
|
32
|
+
|
33
|
+
response = requests.get(os.getenv('BL_EXECUTION_DATA_URL'))
|
34
|
+
data = response.json()
|
35
|
+
tasks = data.get('tasks', [])
|
36
|
+
return tasks[self.index] if self.index < len(tasks) else {}
|
37
|
+
|
38
|
+
@property
|
39
|
+
def index_key(self) -> str:
|
40
|
+
return os.getenv('BL_TASK_KEY', 'TASK_INDEX')
|
41
|
+
|
42
|
+
@property
|
43
|
+
def index(self) -> int:
|
44
|
+
index_value = os.getenv(self.index_key)
|
45
|
+
return int(index_value) if index_value else 0
|
46
|
+
|
47
|
+
def start(self, func: Callable):
|
48
|
+
"""
|
49
|
+
Run a job defined in a function, it's run in the current process.
|
50
|
+
Handles both async and sync functions.
|
51
|
+
Arguments are passed as keyword arguments to the function.
|
52
|
+
"""
|
53
|
+
attributes = {
|
54
|
+
"span.type": "job.start",
|
55
|
+
}
|
56
|
+
try:
|
57
|
+
parsed_args = self.get_arguments()
|
58
|
+
if asyncio.iscoroutinefunction(func):
|
59
|
+
asyncio.run(func(**parsed_args))
|
60
|
+
else:
|
61
|
+
func(**parsed_args)
|
62
|
+
except Exception as error:
|
63
|
+
print('Job execution failed:', error, file=sys.stderr)
|
64
|
+
sys.exit(1)
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
logger = getLogger(__name__)
|
70
|
+
|
71
|
+
class BlJob:
|
72
|
+
def __init__(self, name: str):
|
73
|
+
self.name = name
|
74
|
+
|
75
|
+
@property
|
76
|
+
def internal_url(self):
|
77
|
+
"""Get the internal URL for the job using a hash of workspace and job name."""
|
78
|
+
hash = get_global_unique_hash(settings.workspace, "job", self.name)
|
79
|
+
return f"{settings.run_internal_protocol}://bl-{settings.env}-{hash}.{settings.run_internal_hostname}"
|
80
|
+
|
81
|
+
@property
|
82
|
+
def forced_url(self):
|
83
|
+
"""Get the forced URL from environment variables if set."""
|
84
|
+
env_var = self.name.replace("-", "_").upper()
|
85
|
+
if env[f"BL_JOB_{env_var}_URL"]:
|
86
|
+
return env[f"BL_JOB_{env_var}_URL"]
|
87
|
+
return None
|
88
|
+
|
89
|
+
@property
|
90
|
+
def external_url(self):
|
91
|
+
return f"{settings.run_url}/{settings.workspace}/jobs/{self.name}"
|
92
|
+
|
93
|
+
@property
|
94
|
+
def fallback_url(self):
|
95
|
+
if self.external_url != self.url:
|
96
|
+
return self.external_url
|
97
|
+
return None
|
98
|
+
|
99
|
+
@property
|
100
|
+
def url(self):
|
101
|
+
if self.forced_url:
|
102
|
+
return self.forced_url
|
103
|
+
if settings.run_internal_hostname:
|
104
|
+
return self.internal_url
|
105
|
+
return self.external_url
|
106
|
+
|
107
|
+
def call(self, url, input_data, headers: dict = {}, params: dict = {}):
|
108
|
+
body = {
|
109
|
+
"tasks": input_data
|
110
|
+
}
|
111
|
+
|
112
|
+
return client.get_httpx_client().post(
|
113
|
+
url+"/executions",
|
114
|
+
headers={
|
115
|
+
'Content-Type': 'application/json',
|
116
|
+
**headers
|
117
|
+
},
|
118
|
+
json=body,
|
119
|
+
params=params
|
120
|
+
)
|
121
|
+
|
122
|
+
async def acall(self, url, input_data, headers: dict = {}, params: dict = {}):
|
123
|
+
logger.debug(f"Job Calling: {self.name}")
|
124
|
+
body = {
|
125
|
+
"tasks": input_data
|
126
|
+
}
|
127
|
+
|
128
|
+
return await client.get_async_httpx_client().post(
|
129
|
+
url+"/executions",
|
130
|
+
headers={
|
131
|
+
'Content-Type': 'application/json',
|
132
|
+
**headers
|
133
|
+
},
|
134
|
+
json=body,
|
135
|
+
params=params
|
136
|
+
)
|
137
|
+
|
138
|
+
def run(self, input: Any, headers: dict = {}, params: dict = {}) -> str:
|
139
|
+
attributes = {
|
140
|
+
"job.name": self.name,
|
141
|
+
"span.type": "job.run",
|
142
|
+
}
|
143
|
+
with SpanManager("blaxel-tracer").create_active_span(self.name, attributes) as span:
|
144
|
+
logger.debug(f"Job Calling: {self.name}")
|
145
|
+
response = self.call(self.url, input, headers, params)
|
146
|
+
if response.status_code >= 400:
|
147
|
+
if not self.fallback_url:
|
148
|
+
span.set_attribute("job.run.error", response.text)
|
149
|
+
raise Exception(f"Job {self.name} returned status code {response.status_code} with body {response.text}")
|
150
|
+
response = self.call(self.fallback_url, input, headers, params)
|
151
|
+
if response.status_code >= 400:
|
152
|
+
span.set_attribute("job.run.error", response.text)
|
153
|
+
raise Exception(f"Job {self.name} returned status code {response.status_code} with body {response.text}")
|
154
|
+
span.set_attribute("job.run.result", response.text)
|
155
|
+
return response.text
|
156
|
+
|
157
|
+
async def arun(self, input: Any, headers: dict = {}, params: dict = {}) -> Awaitable[str]:
|
158
|
+
attributes = {
|
159
|
+
"job.name": self.name,
|
160
|
+
"span.type": "job.run",
|
161
|
+
}
|
162
|
+
with SpanManager("blaxel-tracer").create_active_span(self.name, attributes) as span:
|
163
|
+
logger.debug(f"Job Calling: {self.name}")
|
164
|
+
response = await self.acall(self.url, input, headers, params)
|
165
|
+
if response.status_code >= 400:
|
166
|
+
if not self.fallback_url:
|
167
|
+
span.set_attribute("job.run.error", response.text)
|
168
|
+
raise Exception(f"Job {self.name} returned status code {response.status_code} with body {response.text}")
|
169
|
+
response = await self.acall(self.fallback_url, input, headers, params)
|
170
|
+
if response.status_code >= 400:
|
171
|
+
span.set_attribute("job.run.error", response.text)
|
172
|
+
raise Exception(f"Job {self.name} returned status code {response.status_code} with body {response.text}")
|
173
|
+
span.set_attribute("job.run.result", response.text)
|
174
|
+
return response.text
|
175
|
+
|
176
|
+
def __str__(self):
|
177
|
+
return f"Job {self.name}"
|
178
|
+
|
179
|
+
def __repr__(self):
|
180
|
+
return self.__str__()
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
def bl_job(name: str):
|
185
|
+
return BlJob(name)
|
186
|
+
|
187
|
+
# Create a singleton instance
|
188
|
+
bl_start_job = BlJobWrapper()
|
@@ -1,55 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
This module provides a custom colored formatter for logging and an initialization function
|
3
|
-
to set up logging configurations for Blaxel applications.
|
4
|
-
"""
|
5
|
-
|
6
|
-
import logging
|
7
|
-
|
8
|
-
|
9
|
-
class ColoredFormatter(logging.Formatter):
|
10
|
-
"""
|
11
|
-
A custom logging formatter that adds ANSI color codes to log levels for enhanced readability.
|
12
|
-
|
13
|
-
Attributes:
|
14
|
-
COLORS (dict): A mapping of log level names to their corresponding ANSI color codes.
|
15
|
-
"""
|
16
|
-
COLORS = {
|
17
|
-
"DEBUG": "\033[1;36m", # Cyan
|
18
|
-
"INFO": "\033[1;32m", # Green
|
19
|
-
"WARNING": "\033[1;33m", # Yellow
|
20
|
-
"ERROR": "\033[1;31m", # Red
|
21
|
-
"CRITICAL": "\033[1;41m", # Red background
|
22
|
-
}
|
23
|
-
|
24
|
-
def format(self, record):
|
25
|
-
"""
|
26
|
-
Formats the log record by adding color codes based on the log level.
|
27
|
-
|
28
|
-
Parameters:
|
29
|
-
record (LogRecord): The log record to format.
|
30
|
-
|
31
|
-
Returns:
|
32
|
-
str: The formatted log message with appropriate color codes.
|
33
|
-
"""
|
34
|
-
n_spaces = len("CRITICAL") - len(record.levelname)
|
35
|
-
tab = " " * n_spaces
|
36
|
-
color = self.COLORS.get(record.levelname, "\033[0m")
|
37
|
-
record.levelname = f"{color}{record.levelname}\033[0m:{tab}"
|
38
|
-
return super().format(record)
|
39
|
-
|
40
|
-
def init_logger(log_level: str):
|
41
|
-
"""
|
42
|
-
Initializes the logging configuration for Blaxel.
|
43
|
-
|
44
|
-
This function clears existing handlers for specific loggers, sets up a colored formatter,
|
45
|
-
and configures the root logger with the specified log level.
|
46
|
-
|
47
|
-
Parameters:
|
48
|
-
log_level (str): The logging level to set (e.g., "DEBUG", "INFO").
|
49
|
-
"""
|
50
|
-
# Disable urllib3 logging
|
51
|
-
logging.getLogger('urllib3').setLevel(logging.CRITICAL)
|
52
|
-
logging.getLogger("httpx").setLevel(logging.CRITICAL)
|
53
|
-
handler = logging.StreamHandler()
|
54
|
-
handler.setFormatter(ColoredFormatter("%(levelname)s %(name)s - %(message)s"))
|
55
|
-
logging.basicConfig(level=log_level, handlers=[handler])
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/create_integration_connection.md
RENAMED
File without changes
|
{blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/delete_integration_connection.md
RENAMED
File without changes
|
File without changes
|
File without changes
|
{blaxel-0.1.13 → blaxel-0.1.14}/docs/blaxel/api/integrations/get_integration_connection_model.md
RENAMED
File without changes
|