blaxel 0.1.21rc69__py3-none-any.whl → 0.2.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- blaxel/__init__.py +6 -3
- blaxel/core/__init__.py +44 -0
- blaxel/core/agents/__init__.py +115 -0
- blaxel/{authentication → core/authentication}/apikey.py +1 -0
- blaxel/{authentication → core/authentication}/clientcredentials.py +6 -2
- blaxel/{client → core/client}/api/agents/create_agent.py +1 -1
- blaxel/{client → core/client}/api/agents/update_agent.py +1 -1
- blaxel/{client → core/client}/api/compute/create_sandbox.py +1 -1
- blaxel/{client → core/client}/api/compute/create_sandbox_preview.py +1 -1
- blaxel/{client → core/client}/api/compute/create_sandbox_preview_token.py +1 -1
- blaxel/{client → core/client}/api/compute/update_sandbox.py +1 -1
- blaxel/{client → core/client}/api/compute/update_sandbox_preview.py +1 -1
- blaxel/{client → core/client}/api/functions/create_function.py +1 -1
- blaxel/{client → core/client}/api/functions/update_function.py +1 -1
- blaxel/{client → core/client}/api/integrations/create_integration_connection.py +1 -1
- blaxel/{client → core/client}/api/integrations/update_integration_connection.py +1 -1
- blaxel/{client → core/client}/api/jobs/create_job.py +1 -1
- blaxel/{client → core/client}/api/jobs/update_job.py +1 -1
- blaxel/{client → core/client}/api/knowledgebases/create_knowledgebase.py +1 -1
- blaxel/{client → core/client}/api/knowledgebases/update_knowledgebase.py +1 -1
- blaxel/{client → core/client}/api/models/create_model.py +1 -1
- blaxel/{client → core/client}/api/models/update_model.py +1 -1
- blaxel/{client → core/client}/api/policies/create_policy.py +1 -1
- blaxel/{client → core/client}/api/policies/update_policy.py +1 -1
- blaxel/{client → core/client}/api/service_accounts/create_api_key_for_service_account.py +1 -1
- blaxel/{client → core/client}/api/service_accounts/create_workspace_service_account.py +1 -1
- blaxel/{client → core/client}/api/service_accounts/update_workspace_service_account.py +1 -1
- blaxel/{client → core/client}/api/workspaces/check_workspace_availability.py +1 -1
- blaxel/{client → core/client}/api/workspaces/create_worspace.py +1 -1
- blaxel/{client → core/client}/api/workspaces/invite_workspace_user.py +1 -1
- blaxel/{client → core/client}/api/workspaces/update_workspace.py +1 -1
- blaxel/{client → core/client}/api/workspaces/update_workspace_user_role.py +1 -1
- blaxel/{client → core/client}/models/__init__.py +18 -0
- blaxel/{client → core/client}/models/agent.py +1 -1
- blaxel/{client → core/client}/models/agent_spec.py +2 -2
- blaxel/core/client/models/billable_time_metric.py +70 -0
- blaxel/{client → core/client}/models/core_spec.py +1 -1
- blaxel/{client → core/client}/models/function.py +1 -1
- blaxel/{client → core/client}/models/function_schema_properties.py +1 -1
- blaxel/{client → core/client}/models/function_spec.py +2 -2
- blaxel/{client → core/client}/models/integration.py +2 -2
- blaxel/{client → core/client}/models/integration_endpoints.py +1 -1
- blaxel/{client → core/client}/models/job.py +1 -1
- blaxel/{client → core/client}/models/job_spec.py +1 -1
- blaxel/{client → core/client}/models/jobs_chart_value.py +2 -2
- blaxel/{client → core/client}/models/knowledgebase.py +1 -1
- blaxel/{client → core/client}/models/location_response.py +1 -1
- blaxel/core/client/models/logs_response.py +63 -0
- blaxel/core/client/models/logs_response_data.py +99 -0
- blaxel/core/client/models/memory_allocation_by_name.py +70 -0
- blaxel/{client → core/client}/models/metadata.py +9 -0
- blaxel/{client → core/client}/models/model.py +1 -1
- blaxel/{client → core/client}/models/model_spec.py +1 -1
- blaxel/{client → core/client}/models/policy_spec.py +2 -2
- blaxel/core/client/models/resource.py +79 -0
- blaxel/core/client/models/resource_log_chart.py +133 -0
- blaxel/core/client/models/resource_log_response.py +83 -0
- blaxel/{client → core/client}/models/resource_metrics.py +27 -3
- blaxel/core/client/models/resource_trace.py +97 -0
- blaxel/{client → core/client}/models/runtime.py +1 -1
- blaxel/{client → core/client}/models/sandbox.py +1 -1
- blaxel/{client → core/client}/models/sandbox_definition.py +1 -1
- blaxel/{client → core/client}/models/sandbox_spec.py +1 -1
- blaxel/{client → core/client}/models/store_agent.py +1 -1
- blaxel/{client → core/client}/models/store_configuration.py +1 -1
- blaxel/{client → core/client}/models/template.py +1 -1
- blaxel/core/client/models/websocket_message.py +106 -0
- blaxel/core/common/__init__.py +6 -0
- blaxel/core/common/autoload.py +21 -0
- blaxel/{common → core/common}/internal.py +34 -62
- blaxel/core/common/logger.py +131 -0
- blaxel/{jobs → core/jobs}/__init__.py +41 -61
- blaxel/core/mcp/__init__.py +4 -0
- blaxel/{mcp → core/mcp}/client.py +13 -7
- blaxel/{mcp → core/mcp}/server.py +76 -17
- blaxel/core/models/__init__.py +52 -0
- blaxel/core/sandbox/__init__.py +29 -0
- blaxel/core/sandbox/action.py +79 -0
- blaxel/{sandbox → core/sandbox}/client/api/filesystem/put_filesystem_path.py +1 -1
- blaxel/{sandbox → core/sandbox}/client/api/network/post_network_process_pid_monitor.py +1 -1
- blaxel/core/sandbox/client/api/process/__init__.py +0 -0
- blaxel/{sandbox → core/sandbox}/client/api/process/delete_process_identifier_kill.py +0 -26
- blaxel/{sandbox → core/sandbox}/client/api/process/post_process.py +1 -1
- blaxel/{sandbox → core/sandbox}/client/models/__init__.py +2 -2
- blaxel/{sandbox → core/sandbox}/client/models/directory.py +2 -2
- blaxel/{sandbox → core/sandbox}/client/models/process_request.py +25 -1
- blaxel/core/sandbox/client/models/process_request_env.py +49 -0
- blaxel/core/sandbox/filesystem.py +280 -0
- blaxel/core/sandbox/network.py +10 -0
- blaxel/{sandbox → core/sandbox}/preview.py +45 -17
- blaxel/core/sandbox/process.py +159 -0
- blaxel/{sandbox → core/sandbox}/sandbox.py +62 -5
- blaxel/core/sandbox/session.py +124 -0
- blaxel/core/sandbox/types.py +103 -0
- blaxel/{tools → core/tools}/__init__.py +63 -91
- blaxel/crewai/__init__.py +4 -0
- blaxel/{models/crewai.py → crewai/model.py} +4 -2
- blaxel/crewai/py.typed +0 -0
- blaxel/crewai/tools.py +26 -0
- blaxel/googleadk/__init__.py +4 -0
- blaxel/{models/googleadk.py → googleadk/model.py} +8 -2
- blaxel/googleadk/py.typed +0 -0
- blaxel/googleadk/tools.py +72 -0
- blaxel/langgraph/__init__.py +4 -0
- blaxel/{models/langchain.py → langgraph/model.py} +8 -4
- blaxel/langgraph/py.typed +0 -0
- blaxel/{tools/langchain.py → langgraph/tools.py} +7 -3
- blaxel/livekit/__init__.py +4 -0
- blaxel/{models/livekit.py → livekit/model.py} +7 -1
- blaxel/livekit/py.typed +0 -0
- blaxel/{tools/livekit.py → livekit/tools.py} +8 -1
- blaxel/llamaindex/__init__.py +4 -0
- blaxel/{models/llamaindex.py → llamaindex/model.py} +6 -3
- blaxel/llamaindex/py.typed +0 -0
- blaxel/{tools/llamaindex.py → llamaindex/tools.py} +7 -4
- blaxel/openai/__init__.py +4 -0
- blaxel/{models/openai.py → openai/model.py} +4 -2
- blaxel/openai/py.typed +0 -0
- blaxel/{tools/openai.py → openai/tools.py} +7 -3
- blaxel/pydantic/__init__.py +4 -0
- blaxel/{models/custom/pydantic → pydantic/custom}/gemini.py +0 -1
- blaxel/{models/pydantic.py → pydantic/model.py} +6 -4
- blaxel/pydantic/py.typed +0 -0
- blaxel/{tools/pydantic.py → pydantic/tools.py} +6 -3
- blaxel/telemetry/__init__.py +6 -0
- blaxel/telemetry/instrumentation/blaxel_core.py +124 -0
- blaxel/telemetry/instrumentation/blaxel_langgraph.py +74 -0
- blaxel/telemetry/instrumentation/blaxel_langgraph_gemini.py +360 -0
- blaxel/telemetry/instrumentation/blaxel_llamaindex.py +89 -0
- blaxel/telemetry/instrumentation/map.py +61 -0
- blaxel/telemetry/instrumentation/utils.py +74 -0
- blaxel/{common → telemetry/log}/logger.py +6 -12
- blaxel/{instrumentation → telemetry}/manager.py +20 -12
- blaxel/telemetry/py.typed +0 -0
- blaxel/{instrumentation → telemetry}/span.py +12 -1
- blaxel-0.2.0rc1.dist-info/METADATA +224 -0
- blaxel-0.2.0rc1.dist-info/RECORD +408 -0
- blaxel/agents/__init__.py +0 -135
- blaxel/common/autoload.py +0 -9
- blaxel/instrumentation/map.py +0 -49
- blaxel/mcp/__init__.py +0 -3
- blaxel/models/__init__.py +0 -104
- blaxel/sandbox/base.py +0 -68
- blaxel/sandbox/client/models/process_kill_request.py +0 -60
- blaxel/sandbox/filesystem.py +0 -104
- blaxel/sandbox/process.py +0 -56
- blaxel/tools/crewai.py +0 -22
- blaxel/tools/googleadk.py +0 -66
- blaxel-0.1.21rc69.dist-info/METADATA +0 -169
- blaxel-0.1.21rc69.dist-info/RECORD +0 -370
- /blaxel/{authentication → core/authentication}/__init__.py +0 -0
- /blaxel/{authentication → core/authentication}/devicemode.py +0 -0
- /blaxel/{authentication → core/authentication}/oauth.py +0 -0
- /blaxel/{authentication → core/authentication}/types.py +0 -0
- /blaxel/{cache → core/cache}/__init__.py +0 -0
- /blaxel/{cache → core/cache}/cache.py +0 -0
- /blaxel/{client → core/client}/__init__.py +0 -0
- /blaxel/{client → core/client}/api/__init__.py +0 -0
- /blaxel/{client → core/client}/api/agents/__init__.py +0 -0
- /blaxel/{client → core/client}/api/agents/delete_agent.py +0 -0
- /blaxel/{client → core/client}/api/agents/get_agent.py +0 -0
- /blaxel/{client → core/client}/api/agents/list_agent_revisions.py +0 -0
- /blaxel/{client → core/client}/api/agents/list_agents.py +0 -0
- /blaxel/{client → core/client}/api/compute/__init__.py +0 -0
- /blaxel/{client → core/client}/api/compute/delete_sandbox.py +0 -0
- /blaxel/{client → core/client}/api/compute/delete_sandbox_preview.py +0 -0
- /blaxel/{client → core/client}/api/compute/delete_sandbox_preview_token.py +0 -0
- /blaxel/{client → core/client}/api/compute/get_sandbox.py +0 -0
- /blaxel/{client → core/client}/api/compute/get_sandbox_preview.py +0 -0
- /blaxel/{client → core/client}/api/compute/list_sandbox_preview_tokens.py +0 -0
- /blaxel/{client → core/client}/api/compute/list_sandbox_previews.py +0 -0
- /blaxel/{client → core/client}/api/compute/list_sandboxes.py +0 -0
- /blaxel/{client → core/client}/api/compute/start_sandbox.py +0 -0
- /blaxel/{client → core/client}/api/compute/stop_sandbox.py +0 -0
- /blaxel/{client → core/client}/api/configurations/__init__.py +0 -0
- /blaxel/{client → core/client}/api/configurations/get_configuration.py +0 -0
- /blaxel/{client → core/client}/api/default/__init__.py +0 -0
- /blaxel/{client → core/client}/api/default/get_template.py +0 -0
- /blaxel/{client → core/client}/api/default/list_mcp_hub_definitions.py +0 -0
- /blaxel/{client → core/client}/api/default/list_sandbox_hub_definitions.py +0 -0
- /blaxel/{client → core/client}/api/functions/__init__.py +0 -0
- /blaxel/{client → core/client}/api/functions/delete_function.py +0 -0
- /blaxel/{client → core/client}/api/functions/get_function.py +0 -0
- /blaxel/{client → core/client}/api/functions/list_function_revisions.py +0 -0
- /blaxel/{client → core/client}/api/functions/list_functions.py +0 -0
- /blaxel/{client → core/client}/api/integrations/__init__.py +0 -0
- /blaxel/{client → core/client}/api/integrations/delete_integration_connection.py +0 -0
- /blaxel/{client → core/client}/api/integrations/get_integration.py +0 -0
- /blaxel/{client → core/client}/api/integrations/get_integration_connection.py +0 -0
- /blaxel/{client → core/client}/api/integrations/get_integration_connection_model.py +0 -0
- /blaxel/{client → core/client}/api/integrations/get_integration_connection_model_endpoint_configurations.py +0 -0
- /blaxel/{client → core/client}/api/integrations/list_integration_connection_models.py +0 -0
- /blaxel/{client → core/client}/api/integrations/list_integration_connections.py +0 -0
- /blaxel/{client → core/client}/api/invitations/__init__.py +0 -0
- /blaxel/{client → core/client}/api/invitations/list_all_pending_invitations.py +0 -0
- /blaxel/{client → core/client}/api/jobs/__init__.py +0 -0
- /blaxel/{client → core/client}/api/jobs/delete_job.py +0 -0
- /blaxel/{client → core/client}/api/jobs/get_job.py +0 -0
- /blaxel/{client → core/client}/api/jobs/list_job_revisions.py +0 -0
- /blaxel/{client → core/client}/api/jobs/list_jobs.py +0 -0
- /blaxel/{client → core/client}/api/knowledgebases/__init__.py +0 -0
- /blaxel/{client → core/client}/api/knowledgebases/delete_knowledgebase.py +0 -0
- /blaxel/{client → core/client}/api/knowledgebases/get_knowledgebase.py +0 -0
- /blaxel/{client → core/client}/api/knowledgebases/list_knowledgebase_revisions.py +0 -0
- /blaxel/{client → core/client}/api/knowledgebases/list_knowledgebases.py +0 -0
- /blaxel/{client → core/client}/api/locations/__init__.py +0 -0
- /blaxel/{client → core/client}/api/locations/list_locations.py +0 -0
- /blaxel/{client → core/client}/api/models/__init__.py +0 -0
- /blaxel/{client → core/client}/api/models/delete_model.py +0 -0
- /blaxel/{client → core/client}/api/models/get_model.py +0 -0
- /blaxel/{client → core/client}/api/models/list_model_revisions.py +0 -0
- /blaxel/{client → core/client}/api/models/list_models.py +0 -0
- /blaxel/{client → core/client}/api/policies/__init__.py +0 -0
- /blaxel/{client → core/client}/api/policies/delete_policy.py +0 -0
- /blaxel/{client → core/client}/api/policies/get_policy.py +0 -0
- /blaxel/{client → core/client}/api/policies/list_policies.py +0 -0
- /blaxel/{client → core/client}/api/privateclusters/__init__.py +0 -0
- /blaxel/{client → core/client}/api/privateclusters/create_private_cluster.py +0 -0
- /blaxel/{client → core/client}/api/privateclusters/delete_private_cluster.py +0 -0
- /blaxel/{client → core/client}/api/privateclusters/get_private_cluster.py +0 -0
- /blaxel/{client → core/client}/api/privateclusters/get_private_cluster_health.py +0 -0
- /blaxel/{client → core/client}/api/privateclusters/list_private_clusters.py +0 -0
- /blaxel/{client → core/client}/api/privateclusters/update_private_cluster.py +0 -0
- /blaxel/{client → core/client}/api/privateclusters/update_private_cluster_health.py +0 -0
- /blaxel/{client → core/client}/api/service_accounts/__init__.py +0 -0
- /blaxel/{client → core/client}/api/service_accounts/delete_api_key_for_service_account.py +0 -0
- /blaxel/{client → core/client}/api/service_accounts/delete_workspace_service_account.py +0 -0
- /blaxel/{client → core/client}/api/service_accounts/get_workspace_service_accounts.py +0 -0
- /blaxel/{client → core/client}/api/service_accounts/list_api_keys_for_service_account.py +0 -0
- /blaxel/{client → core/client}/api/templates/__init__.py +0 -0
- /blaxel/{client → core/client}/api/templates/list_templates.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/__init__.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/accept_workspace_invitation.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/decline_workspace_invitation.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/delete_workspace.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/get_workspace.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/leave_workspace.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/list_workspace_users.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/list_workspaces.py +0 -0
- /blaxel/{client → core/client}/api/workspaces/remove_workspace_user.py +0 -0
- /blaxel/{client → core/client}/client.py +0 -0
- /blaxel/{client → core/client}/errors.py +0 -0
- /blaxel/{client → core/client}/models/acl.py +0 -0
- /blaxel/{client → core/client}/models/api_key.py +0 -0
- /blaxel/{client → core/client}/models/check_workspace_availability_body.py +0 -0
- /blaxel/{client → core/client}/models/configuration.py +0 -0
- /blaxel/{client → core/client}/models/continent.py +0 -0
- /blaxel/{client → core/client}/models/core_event.py +0 -0
- /blaxel/{client → core/client}/models/core_spec_configurations.py +0 -0
- /blaxel/{client → core/client}/models/country.py +0 -0
- /blaxel/{client → core/client}/models/create_api_key_for_service_account_body.py +0 -0
- /blaxel/{client → core/client}/models/create_workspace_service_account_body.py +0 -0
- /blaxel/{client → core/client}/models/create_workspace_service_account_response_200.py +0 -0
- /blaxel/{client → core/client}/models/delete_sandbox_preview_token_response_200.py +0 -0
- /blaxel/{client → core/client}/models/delete_workspace_service_account_response_200.py +0 -0
- /blaxel/{client → core/client}/models/entrypoint.py +0 -0
- /blaxel/{client → core/client}/models/entrypoint_env.py +0 -0
- /blaxel/{client → core/client}/models/flavor.py +0 -0
- /blaxel/{client → core/client}/models/form.py +0 -0
- /blaxel/{client → core/client}/models/form_config.py +0 -0
- /blaxel/{client → core/client}/models/form_oauth.py +0 -0
- /blaxel/{client → core/client}/models/form_secrets.py +0 -0
- /blaxel/{client → core/client}/models/function_kit.py +0 -0
- /blaxel/{client → core/client}/models/function_schema.py +0 -0
- /blaxel/{client → core/client}/models/function_schema_not.py +0 -0
- /blaxel/{client → core/client}/models/function_schema_or_bool.py +0 -0
- /blaxel/{client → core/client}/models/get_workspace_service_accounts_response_200_item.py +0 -0
- /blaxel/{client → core/client}/models/histogram_bucket.py +0 -0
- /blaxel/{client → core/client}/models/histogram_stats.py +0 -0
- /blaxel/{client → core/client}/models/integration_additional_infos.py +0 -0
- /blaxel/{client → core/client}/models/integration_connection.py +0 -0
- /blaxel/{client → core/client}/models/integration_connection_spec.py +0 -0
- /blaxel/{client → core/client}/models/integration_connection_spec_config.py +0 -0
- /blaxel/{client → core/client}/models/integration_connection_spec_secret.py +0 -0
- /blaxel/{client → core/client}/models/integration_endpoint.py +0 -0
- /blaxel/{client → core/client}/models/integration_endpoint_token.py +0 -0
- /blaxel/{client → core/client}/models/integration_headers.py +0 -0
- /blaxel/{client → core/client}/models/integration_model.py +0 -0
- /blaxel/{client → core/client}/models/integration_organization.py +0 -0
- /blaxel/{client → core/client}/models/integration_query_params.py +0 -0
- /blaxel/{client → core/client}/models/integration_repository.py +0 -0
- /blaxel/{client → core/client}/models/invite_workspace_user_body.py +0 -0
- /blaxel/{client → core/client}/models/job_execution_config.py +0 -0
- /blaxel/{client → core/client}/models/job_metrics.py +0 -0
- /blaxel/{client → core/client}/models/job_metrics_executions_chart.py +0 -0
- /blaxel/{client → core/client}/models/job_metrics_executions_total.py +0 -0
- /blaxel/{client → core/client}/models/job_metrics_tasks_chart.py +0 -0
- /blaxel/{client → core/client}/models/job_metrics_tasks_total.py +0 -0
- /blaxel/{client → core/client}/models/jobs_chart.py +0 -0
- /blaxel/{client → core/client}/models/jobs_executions.py +0 -0
- /blaxel/{client → core/client}/models/jobs_network_chart.py +0 -0
- /blaxel/{client → core/client}/models/jobs_success_failed_chart.py +0 -0
- /blaxel/{client → core/client}/models/jobs_tasks.py +0 -0
- /blaxel/{client → core/client}/models/jobs_total.py +0 -0
- /blaxel/{client → core/client}/models/knowledgebase_spec.py +0 -0
- /blaxel/{client → core/client}/models/knowledgebase_spec_options.py +0 -0
- /blaxel/{client → core/client}/models/last_n_requests_metric.py +0 -0
- /blaxel/{client → core/client}/models/latency_metric.py +0 -0
- /blaxel/{client → core/client}/models/mcp_definition.py +0 -0
- /blaxel/{client → core/client}/models/mcp_definition_entrypoint.py +0 -0
- /blaxel/{client → core/client}/models/mcp_definition_form.py +0 -0
- /blaxel/{client → core/client}/models/memory_allocation_metric.py +0 -0
- /blaxel/{client → core/client}/models/metadata_labels.py +0 -0
- /blaxel/{client → core/client}/models/metric.py +0 -0
- /blaxel/{client → core/client}/models/metrics.py +0 -0
- /blaxel/{client → core/client}/models/metrics_models.py +0 -0
- /blaxel/{client → core/client}/models/metrics_request_total_per_code.py +0 -0
- /blaxel/{client → core/client}/models/metrics_rps_per_code.py +0 -0
- /blaxel/{client → core/client}/models/model_private_cluster.py +0 -0
- /blaxel/{client → core/client}/models/o_auth.py +0 -0
- /blaxel/{client → core/client}/models/owner_fields.py +0 -0
- /blaxel/{client → core/client}/models/pending_invitation.py +0 -0
- /blaxel/{client → core/client}/models/pending_invitation_accept.py +0 -0
- /blaxel/{client → core/client}/models/pending_invitation_render.py +0 -0
- /blaxel/{client → core/client}/models/pending_invitation_render_invited_by.py +0 -0
- /blaxel/{client → core/client}/models/pending_invitation_render_workspace.py +0 -0
- /blaxel/{client → core/client}/models/pending_invitation_workspace_details.py +0 -0
- /blaxel/{client → core/client}/models/pod_template_spec.py +0 -0
- /blaxel/{client → core/client}/models/policy.py +0 -0
- /blaxel/{client → core/client}/models/policy_location.py +0 -0
- /blaxel/{client → core/client}/models/policy_max_tokens.py +0 -0
- /blaxel/{client → core/client}/models/port.py +0 -0
- /blaxel/{client → core/client}/models/preview.py +0 -0
- /blaxel/{client → core/client}/models/preview_metadata.py +0 -0
- /blaxel/{client → core/client}/models/preview_spec.py +0 -0
- /blaxel/{client → core/client}/models/preview_spec_request_headers.py +0 -0
- /blaxel/{client → core/client}/models/preview_spec_response_headers.py +0 -0
- /blaxel/{client → core/client}/models/preview_token.py +0 -0
- /blaxel/{client → core/client}/models/preview_token_metadata.py +0 -0
- /blaxel/{client → core/client}/models/preview_token_spec.py +0 -0
- /blaxel/{client → core/client}/models/private_cluster.py +0 -0
- /blaxel/{client → core/client}/models/private_location.py +0 -0
- /blaxel/{client → core/client}/models/repository.py +0 -0
- /blaxel/{client → core/client}/models/request_duration_over_time_metric.py +0 -0
- /blaxel/{client → core/client}/models/request_duration_over_time_metrics.py +0 -0
- /blaxel/{client → core/client}/models/request_total_by_origin_metric.py +0 -0
- /blaxel/{client → core/client}/models/request_total_by_origin_metric_request_total_by_origin.py +0 -0
- /blaxel/{client → core/client}/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -0
- /blaxel/{client → core/client}/models/request_total_metric.py +0 -0
- /blaxel/{client → core/client}/models/request_total_metric_request_total_per_code.py +0 -0
- /blaxel/{client → core/client}/models/request_total_metric_rps_per_code.py +0 -0
- /blaxel/{client → core/client}/models/request_total_response_data.py +0 -0
- /blaxel/{client → core/client}/models/resource_log.py +0 -0
- /blaxel/{client → core/client}/models/resource_metrics_request_total_per_code.py +0 -0
- /blaxel/{client → core/client}/models/resource_metrics_request_total_per_code_previous.py +0 -0
- /blaxel/{client → core/client}/models/resource_metrics_rps_per_code.py +0 -0
- /blaxel/{client → core/client}/models/resource_metrics_rps_per_code_previous.py +0 -0
- /blaxel/{client → core/client}/models/revision_configuration.py +0 -0
- /blaxel/{client → core/client}/models/revision_metadata.py +0 -0
- /blaxel/{client → core/client}/models/runtime_configuration.py +0 -0
- /blaxel/{client → core/client}/models/runtime_startup_probe.py +0 -0
- /blaxel/{client → core/client}/models/serverless_config.py +0 -0
- /blaxel/{client → core/client}/models/serverless_config_configuration.py +0 -0
- /blaxel/{client → core/client}/models/spec_configuration.py +0 -0
- /blaxel/{client → core/client}/models/start_sandbox.py +0 -0
- /blaxel/{client → core/client}/models/stop_sandbox.py +0 -0
- /blaxel/{client → core/client}/models/store_agent_labels.py +0 -0
- /blaxel/{client → core/client}/models/store_configuration_option.py +0 -0
- /blaxel/{client → core/client}/models/template_variable.py +0 -0
- /blaxel/{client → core/client}/models/time_fields.py +0 -0
- /blaxel/{client → core/client}/models/time_to_first_token_over_time_metrics.py +0 -0
- /blaxel/{client → core/client}/models/token_rate_metric.py +0 -0
- /blaxel/{client → core/client}/models/token_rate_metrics.py +0 -0
- /blaxel/{client → core/client}/models/token_total_metric.py +0 -0
- /blaxel/{client → core/client}/models/trace_ids_response.py +0 -0
- /blaxel/{client → core/client}/models/trigger.py +0 -0
- /blaxel/{client → core/client}/models/trigger_configuration.py +0 -0
- /blaxel/{client → core/client}/models/update_workspace_service_account_body.py +0 -0
- /blaxel/{client → core/client}/models/update_workspace_service_account_response_200.py +0 -0
- /blaxel/{client → core/client}/models/update_workspace_user_role_body.py +0 -0
- /blaxel/{client → core/client}/models/websocket_channel.py +0 -0
- /blaxel/{client → core/client}/models/workspace.py +0 -0
- /blaxel/{client → core/client}/models/workspace_labels.py +0 -0
- /blaxel/{client → core/client}/models/workspace_runtime.py +0 -0
- /blaxel/{client → core/client}/models/workspace_user.py +0 -0
- /blaxel/{client → core/client}/py.typed +0 -0
- /blaxel/{client → core/client}/types.py +0 -0
- /blaxel/{common → core/common}/env.py +0 -0
- /blaxel/{common → core/common}/settings.py +0 -0
- /blaxel/{sandbox/client/api/filesystem/__init__.py → core/py.typed} +0 -0
- /blaxel/{sandbox → core/sandbox}/client/__init__.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/__init__.py +0 -0
- /blaxel/{sandbox/client/api/network → core/sandbox/client/api/filesystem}/__init__.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/filesystem/delete_filesystem_path.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/filesystem/get_filesystem_path.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/filesystem/get_watch_filesystem_path.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/filesystem/get_ws_watch_filesystem_path.py +0 -0
- /blaxel/{sandbox/client/api/process → core/sandbox/client/api/network}/__init__.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/network/delete_network_process_pid_monitor.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/network/get_network_process_pid_ports.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/process/delete_process_identifier.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/process/get_process.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/process/get_process_identifier.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/process/get_process_identifier_logs.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/process/get_process_identifier_logs_stream.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/api/process/get_ws_process_identifier_logs_stream.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/client.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/errors.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/delete_network_process_pid_monitor_response_200.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/error_response.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/file.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/file_request.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/file_with_content.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/get_network_process_pid_ports_response_200.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/port_monitor_request.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/post_network_process_pid_monitor_response_200.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/process_logs.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/process_response.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/process_response_status.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/subdirectory.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/models/success_response.py +0 -0
- /blaxel/{sandbox → core/sandbox}/client/py.typed +0 -0
- /blaxel/{sandbox → core/sandbox}/client/types.py +0 -0
- /blaxel/{tools → core/tools}/common.py +0 -0
- /blaxel/{tools → core/tools}/types.py +0 -0
- /blaxel/{models/custom/langchain → langgraph/custom}/gemini.py +0 -0
- /blaxel/{models/custom/llamaindex → llamaindex/custom}/cohere.py +0 -0
- /blaxel/{instrumentation → telemetry}/exporters.py +0 -0
- /blaxel/{instrumentation → telemetry/log}/log.py +0 -0
- {blaxel-0.1.21rc69.dist-info → blaxel-0.2.0rc1.dist-info}/WHEEL +0 -0
- {blaxel-0.1.21rc69.dist-info → blaxel-0.2.0rc1.dist-info}/licenses/LICENSE +0 -0
blaxel/__init__.py
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
from .common.
|
1
|
+
"""Blaxel - AI development platform SDK."""
|
2
|
+
|
3
|
+
from .core.common.autoload import autoload
|
4
|
+
from .core.common.env import env
|
5
|
+
from .core.common.settings import settings
|
4
6
|
|
5
7
|
autoload()
|
6
8
|
|
9
|
+
__version__ = "0.2.0"
|
7
10
|
__all__ = ["autoload", "settings", "env"]
|
blaxel/core/__init__.py
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
"""Blaxel core module."""
|
2
|
+
|
3
|
+
from .agents import BlAgent, bl_agent
|
4
|
+
from .authentication import BlaxelAuth, auth, get_credentials
|
5
|
+
from .cache import find_from_cache
|
6
|
+
from .client.client import client
|
7
|
+
from .common import autoload, env, settings
|
8
|
+
from .jobs import BlJobWrapper
|
9
|
+
from .mcp import BlaxelMcpServerTransport, websocket_client
|
10
|
+
from .models import BLModel, bl_model
|
11
|
+
from .sandbox import (
|
12
|
+
Sandbox,
|
13
|
+
SandboxFileSystem,
|
14
|
+
SandboxInstance,
|
15
|
+
SandboxPreviews,
|
16
|
+
SandboxProcess,
|
17
|
+
)
|
18
|
+
from .tools import BlTools, bl_tools, convert_mcp_tool_to_blaxel_tool
|
19
|
+
|
20
|
+
__all__ = [
|
21
|
+
"BlAgent",
|
22
|
+
"bl_agent",
|
23
|
+
"BlaxelAuth",
|
24
|
+
"auth",
|
25
|
+
"get_credentials",
|
26
|
+
"find_from_cache",
|
27
|
+
"client",
|
28
|
+
"settings",
|
29
|
+
"env",
|
30
|
+
"autoload",
|
31
|
+
"BlJobWrapper",
|
32
|
+
"BlaxelMcpServerTransport",
|
33
|
+
"BLModel",
|
34
|
+
"bl_model",
|
35
|
+
"Sandbox",
|
36
|
+
"SandboxFileSystem",
|
37
|
+
"SandboxInstance",
|
38
|
+
"SandboxPreviews",
|
39
|
+
"SandboxProcess",
|
40
|
+
"BlTools",
|
41
|
+
"bl_tools",
|
42
|
+
"convert_mcp_tool_to_blaxel_tool",
|
43
|
+
"websocket_client",
|
44
|
+
]
|
@@ -0,0 +1,115 @@
|
|
1
|
+
import json
|
2
|
+
from logging import getLogger
|
3
|
+
from typing import Any, Awaitable
|
4
|
+
|
5
|
+
from ..cache import find_from_cache
|
6
|
+
from ..client import client
|
7
|
+
from ..client.api.agents import get_agent
|
8
|
+
from ..client.models import Agent
|
9
|
+
from ..common.internal import get_forced_url, get_global_unique_hash
|
10
|
+
from ..common.settings import settings
|
11
|
+
|
12
|
+
logger = getLogger(__name__)
|
13
|
+
|
14
|
+
|
15
|
+
class BlAgent:
|
16
|
+
def __init__(self, name: str):
|
17
|
+
self.name = name
|
18
|
+
|
19
|
+
@property
|
20
|
+
def internal_url(self):
|
21
|
+
"""Get the internal URL for the agent using a hash of workspace and agent name."""
|
22
|
+
hash = get_global_unique_hash(settings.workspace, "agent", self.name)
|
23
|
+
return f"{settings.run_internal_protocol}://bl-{settings.env}-{hash}.{settings.run_internal_hostname}"
|
24
|
+
|
25
|
+
@property
|
26
|
+
def forced_url(self):
|
27
|
+
"""Get the forced URL from environment variables if set."""
|
28
|
+
return get_forced_url("agent", self.name)
|
29
|
+
|
30
|
+
@property
|
31
|
+
def external_url(self):
|
32
|
+
return f"{settings.run_url}/{settings.workspace}/agents/{self.name}"
|
33
|
+
|
34
|
+
@property
|
35
|
+
def fallback_url(self):
|
36
|
+
if self.external_url != self.url:
|
37
|
+
return self.external_url
|
38
|
+
return None
|
39
|
+
|
40
|
+
@property
|
41
|
+
def url(self):
|
42
|
+
if self.forced_url:
|
43
|
+
return self.forced_url
|
44
|
+
if settings.run_internal_hostname:
|
45
|
+
return self.internal_url
|
46
|
+
return self.external_url
|
47
|
+
|
48
|
+
def call(self, url, input_data, headers: dict = {}, params: dict = {}):
|
49
|
+
body = input_data
|
50
|
+
if not isinstance(body, str):
|
51
|
+
body = json.dumps(body)
|
52
|
+
|
53
|
+
return client.get_httpx_client().post(
|
54
|
+
url, headers={"Content-Type": "application/json", **headers}, data=body, params=params
|
55
|
+
)
|
56
|
+
|
57
|
+
async def acall(self, url, input_data, headers: dict = {}, params: dict = {}):
|
58
|
+
logger.debug(f"Agent Calling: {self.name}")
|
59
|
+
body = input_data
|
60
|
+
if not isinstance(body, str):
|
61
|
+
body = json.dumps(body)
|
62
|
+
|
63
|
+
return await client.get_async_httpx_client().post(
|
64
|
+
url, headers={"Content-Type": "application/json", **headers}, data=body, params=params
|
65
|
+
)
|
66
|
+
|
67
|
+
def run(self, input: Any, headers: dict = {}, params: dict = {}) -> str:
|
68
|
+
logger.debug(f"Agent Calling: {self.name}")
|
69
|
+
response = self.call(self.url, input, headers, params)
|
70
|
+
if response.status_code >= 400:
|
71
|
+
if not self.fallback_url:
|
72
|
+
raise Exception(
|
73
|
+
f"Agent {self.name} returned status code {response.status_code} with body {response.text}"
|
74
|
+
)
|
75
|
+
response = self.call(self.fallback_url, input, headers, params)
|
76
|
+
if response.status_code >= 400:
|
77
|
+
raise Exception(
|
78
|
+
f"Agent {self.name} returned status code {response.status_code} with body {response.text}"
|
79
|
+
)
|
80
|
+
return response.text
|
81
|
+
|
82
|
+
async def arun(self, input: Any, headers: dict = {}, params: dict = {}) -> Awaitable[str]:
|
83
|
+
logger.debug(f"Agent Calling: {self.name}")
|
84
|
+
response = await self.acall(self.url, input, headers, params)
|
85
|
+
if response.status_code >= 400:
|
86
|
+
if not self.fallback_url:
|
87
|
+
raise Exception(
|
88
|
+
f"Agent {self.name} returned status code {response.status_code} with body {response.text}"
|
89
|
+
)
|
90
|
+
response = await self.acall(self.fallback_url, input, headers, params)
|
91
|
+
if response.status_code >= 400:
|
92
|
+
raise Exception(
|
93
|
+
f"Agent {self.name} returned status code {response.status_code} with body {response.text}"
|
94
|
+
)
|
95
|
+
return response.text
|
96
|
+
|
97
|
+
def __str__(self):
|
98
|
+
return f"Agent {self.name}"
|
99
|
+
|
100
|
+
def __repr__(self):
|
101
|
+
return self.__str__()
|
102
|
+
|
103
|
+
|
104
|
+
def bl_agent(name: str):
|
105
|
+
return BlAgent(name)
|
106
|
+
|
107
|
+
|
108
|
+
async def get_agent_metadata(name):
|
109
|
+
cache_data = await find_from_cache("Agent", name)
|
110
|
+
if cache_data:
|
111
|
+
return Agent.from_dict(cache_data)
|
112
|
+
try:
|
113
|
+
return await get_agent.asyncio(client=client, agent_name=name)
|
114
|
+
except Exception:
|
115
|
+
return None
|
@@ -27,6 +27,7 @@ class ClientCredentials(BlaxelAuth):
|
|
27
27
|
"""
|
28
28
|
ClientCredentials auth that authenticates requests using client credentials.
|
29
29
|
"""
|
30
|
+
|
30
31
|
expires_at: Optional[datetime] = None
|
31
32
|
|
32
33
|
def get_headers(self):
|
@@ -58,7 +59,10 @@ class ClientCredentials(BlaxelAuth):
|
|
58
59
|
Optional[Exception]: An exception if refreshing fails after all retries, otherwise None.
|
59
60
|
"""
|
60
61
|
try:
|
61
|
-
headers = {
|
62
|
+
headers = {
|
63
|
+
"Authorization": f"Basic {self.credentials.client_credentials}",
|
64
|
+
"Content-Type": "application/json",
|
65
|
+
}
|
62
66
|
body = {"grant_type": "client_credentials"}
|
63
67
|
response = requests.post(f"{self.base_url}/oauth/token", headers=headers, json=body)
|
64
68
|
response.raise_for_status()
|
@@ -113,4 +117,4 @@ class ClientCredentials(BlaxelAuth):
|
|
113
117
|
def token(self):
|
114
118
|
if not self.credentials.access_token:
|
115
119
|
self.get_token()
|
116
|
-
return self.credentials.access_token
|
120
|
+
return self.credentials.access_token
|
@@ -4,6 +4,7 @@ from .acl import ACL
|
|
4
4
|
from .agent import Agent
|
5
5
|
from .agent_spec import AgentSpec
|
6
6
|
from .api_key import ApiKey
|
7
|
+
from .billable_time_metric import BillableTimeMetric
|
7
8
|
from .check_workspace_availability_body import CheckWorkspaceAvailabilityBody
|
8
9
|
from .configuration import Configuration
|
9
10
|
from .continent import Continent
|
@@ -71,9 +72,12 @@ from .knowledgebase_spec_options import KnowledgebaseSpecOptions
|
|
71
72
|
from .last_n_requests_metric import LastNRequestsMetric
|
72
73
|
from .latency_metric import LatencyMetric
|
73
74
|
from .location_response import LocationResponse
|
75
|
+
from .logs_response import LogsResponse
|
76
|
+
from .logs_response_data import LogsResponseData
|
74
77
|
from .mcp_definition import MCPDefinition
|
75
78
|
from .mcp_definition_entrypoint import MCPDefinitionEntrypoint
|
76
79
|
from .mcp_definition_form import MCPDefinitionForm
|
80
|
+
from .memory_allocation_by_name import MemoryAllocationByName
|
77
81
|
from .memory_allocation_metric import MemoryAllocationMetric
|
78
82
|
from .metadata import Metadata
|
79
83
|
from .metadata_labels import MetadataLabels
|
@@ -123,7 +127,10 @@ from .request_total_metric import RequestTotalMetric
|
|
123
127
|
from .request_total_metric_request_total_per_code import RequestTotalMetricRequestTotalPerCode
|
124
128
|
from .request_total_metric_rps_per_code import RequestTotalMetricRpsPerCode
|
125
129
|
from .request_total_response_data import RequestTotalResponseData
|
130
|
+
from .resource import Resource
|
126
131
|
from .resource_log import ResourceLog
|
132
|
+
from .resource_log_chart import ResourceLogChart
|
133
|
+
from .resource_log_response import ResourceLogResponse
|
127
134
|
from .resource_metrics import ResourceMetrics
|
128
135
|
from .resource_metrics_request_total_per_code import ResourceMetricsRequestTotalPerCode
|
129
136
|
from .resource_metrics_request_total_per_code_previous import (
|
@@ -131,6 +138,7 @@ from .resource_metrics_request_total_per_code_previous import (
|
|
131
138
|
)
|
132
139
|
from .resource_metrics_rps_per_code import ResourceMetricsRpsPerCode
|
133
140
|
from .resource_metrics_rps_per_code_previous import ResourceMetricsRpsPerCodePrevious
|
141
|
+
from .resource_trace import ResourceTrace
|
134
142
|
from .revision_configuration import RevisionConfiguration
|
135
143
|
from .revision_metadata import RevisionMetadata
|
136
144
|
from .runtime import Runtime
|
@@ -162,6 +170,7 @@ from .update_workspace_service_account_body import UpdateWorkspaceServiceAccount
|
|
162
170
|
from .update_workspace_service_account_response_200 import UpdateWorkspaceServiceAccountResponse200
|
163
171
|
from .update_workspace_user_role_body import UpdateWorkspaceUserRoleBody
|
164
172
|
from .websocket_channel import WebsocketChannel
|
173
|
+
from .websocket_message import WebsocketMessage
|
165
174
|
from .workspace import Workspace
|
166
175
|
from .workspace_labels import WorkspaceLabels
|
167
176
|
from .workspace_runtime import WorkspaceRuntime
|
@@ -172,6 +181,7 @@ __all__ = (
|
|
172
181
|
"Agent",
|
173
182
|
"AgentSpec",
|
174
183
|
"ApiKey",
|
184
|
+
"BillableTimeMetric",
|
175
185
|
"CheckWorkspaceAvailabilityBody",
|
176
186
|
"Configuration",
|
177
187
|
"Continent",
|
@@ -237,9 +247,12 @@ __all__ = (
|
|
237
247
|
"LastNRequestsMetric",
|
238
248
|
"LatencyMetric",
|
239
249
|
"LocationResponse",
|
250
|
+
"LogsResponse",
|
251
|
+
"LogsResponseData",
|
240
252
|
"MCPDefinition",
|
241
253
|
"MCPDefinitionEntrypoint",
|
242
254
|
"MCPDefinitionForm",
|
255
|
+
"MemoryAllocationByName",
|
243
256
|
"MemoryAllocationMetric",
|
244
257
|
"Metadata",
|
245
258
|
"MetadataLabels",
|
@@ -285,12 +298,16 @@ __all__ = (
|
|
285
298
|
"RequestTotalMetricRequestTotalPerCode",
|
286
299
|
"RequestTotalMetricRpsPerCode",
|
287
300
|
"RequestTotalResponseData",
|
301
|
+
"Resource",
|
288
302
|
"ResourceLog",
|
303
|
+
"ResourceLogChart",
|
304
|
+
"ResourceLogResponse",
|
289
305
|
"ResourceMetrics",
|
290
306
|
"ResourceMetricsRequestTotalPerCode",
|
291
307
|
"ResourceMetricsRequestTotalPerCodePrevious",
|
292
308
|
"ResourceMetricsRpsPerCode",
|
293
309
|
"ResourceMetricsRpsPerCodePrevious",
|
310
|
+
"ResourceTrace",
|
294
311
|
"RevisionConfiguration",
|
295
312
|
"RevisionMetadata",
|
296
313
|
"Runtime",
|
@@ -322,6 +339,7 @@ __all__ = (
|
|
322
339
|
"UpdateWorkspaceServiceAccountResponse200",
|
323
340
|
"UpdateWorkspaceUserRoleBody",
|
324
341
|
"WebsocketChannel",
|
342
|
+
"WebsocketMessage",
|
325
343
|
"Workspace",
|
326
344
|
"WorkspaceLabels",
|
327
345
|
"WorkspaceRuntime",
|
@@ -36,7 +36,7 @@ class Agent:
|
|
36
36
|
if not isinstance(self.events, Unset):
|
37
37
|
events = []
|
38
38
|
for componentsschemas_core_events_item_data in self.events:
|
39
|
-
if type(componentsschemas_core_events_item_data)
|
39
|
+
if type(componentsschemas_core_events_item_data) is dict:
|
40
40
|
componentsschemas_core_events_item = componentsschemas_core_events_item_data
|
41
41
|
else:
|
42
42
|
componentsschemas_core_events_item = componentsschemas_core_events_item_data.to_dict()
|
@@ -78,7 +78,7 @@ class AgentSpec:
|
|
78
78
|
if not isinstance(self.flavors, Unset):
|
79
79
|
flavors = []
|
80
80
|
for componentsschemas_flavors_item_data in self.flavors:
|
81
|
-
if type(componentsschemas_flavors_item_data)
|
81
|
+
if type(componentsschemas_flavors_item_data) is dict:
|
82
82
|
componentsschemas_flavors_item = componentsschemas_flavors_item_data
|
83
83
|
else:
|
84
84
|
componentsschemas_flavors_item = componentsschemas_flavors_item_data.to_dict()
|
@@ -140,7 +140,7 @@ class AgentSpec:
|
|
140
140
|
if not isinstance(self.triggers, Unset):
|
141
141
|
triggers = []
|
142
142
|
for componentsschemas_triggers_item_data in self.triggers:
|
143
|
-
if type(componentsschemas_triggers_item_data)
|
143
|
+
if type(componentsschemas_triggers_item_data) is dict:
|
144
144
|
componentsschemas_triggers_item = componentsschemas_triggers_item_data
|
145
145
|
else:
|
146
146
|
componentsschemas_triggers_item = componentsschemas_triggers_item_data.to_dict()
|