scalekit-sdk-python 2.14.0__tar.gz → 2.16.0__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.
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/PKG-INFO +1 -1
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/_version.py +1 -1
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/actions.py +7 -3
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/create_custom_provider_request.py +16 -1
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/update_custom_provider_request.py +17 -1
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/auth.py +2 -3
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/client.py +2 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/connection.py +4 -2
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/core.py +1 -1
- scalekit_sdk_python-2.16.0/scalekit/events.py +58 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/auth_pb2.py +26 -18
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/auth_pb2.pyi +10 -2
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/auth_pb2_grpc.py +3 -3
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/connections/connections_pb2.py +38 -36
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/connections/connections_pb2.pyi +4 -2
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit_sdk_python.egg-info/PKG-INFO +1 -1
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit_sdk_python.egg-info/SOURCES.txt +3 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_connection.py +48 -1
- scalekit_sdk_python-2.16.0/tests/test_events.py +21 -0
- scalekit_sdk_python-2.16.0/tests/test_login.py +14 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_providers.py +102 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/LICENSE +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/README.md +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/buf/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/buf/validate/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/buf/validate/validate_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/buf/validate/validate_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/buf/validate/validate_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/pyproject.toml +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/frameworks/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/frameworks/google_adk.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/frameworks/langchain.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/frameworks/types/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/frameworks/types/google_adk_tool.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/frameworks/util.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/custom_provider.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/mcp_config.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/mcp_connection_auth_state.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/mcp_instance.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/create_connected_account_request.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/delete_custom_provider_request.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/list_providers_request.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/mcp_request.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/tool_request.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/requests/update_connected_account_request.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/create_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/create_custom_provider_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/create_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/create_mcp_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/create_mcp_session_token_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/delete_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/delete_custom_provider_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/delete_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/delete_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/ensure_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/execute_tool_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/get_connected_account_auth_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/get_mcp_instance_auth_state_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/get_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/get_mcp_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/list_connected_accounts_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/list_mcp_configs_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/list_mcp_connected_accounts_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/list_mcp_instances_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/list_providers_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/magic_link_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/update_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/update_custom_provider_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/update_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/update_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/responses/verify_connected_account_user_response.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/tool_input_output.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/models/tool_mapping.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/modifier.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/actions/types.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/common/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/common/exceptions.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/common/scalekit.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/common/user.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/connected_accounts.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/constants/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/constants/user.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/directory.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/domain.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/m2m_client.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/mcp.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/organization.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/passwordless.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/permissions.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/providers.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/role.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/sessions.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/token.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/tools.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/users.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/utils/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/utils/directory.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/agentkit_logs/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auditlogs/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auditlogs/auditlogs_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/passwordless_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/totp_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/totp_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/totp_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/webauthn_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/webauthn_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/auth/webauthn_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/clients/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/clients/clients_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/clients/clients_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/clients/clients_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/commons/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/commons/commons_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/commons/commons_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/connected_accounts/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/connections/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/connections/connections_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/directories/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/directories/directories_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/directories/directories_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/domains/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/domains/domains_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/domains/domains_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/emails/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/emails/emails_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/emails/emails_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/environments/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/environments/environments_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/environments/environments_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/environments/environments_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/errdetails/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/errdetails/errdetails_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/errdetails/errdetails_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/errdetails/errdetails_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/events/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/events/events_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/events/events_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/events/events_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/gateway/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/gateway/gateway_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/gateway/gateway_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/gateway/gateway_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/interceptors/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/interceptors/interceptors_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/interceptors/interceptors_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/interceptors/interceptors_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/keys/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/keys/keys_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/keys/keys_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/keys/keys_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/mcp/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/mcp/mcp_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/mcp/mcp_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/mcp/mcp_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/members/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/members/members_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/members/members_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/members/members_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/migrations/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/migrations/migrations_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/migrations/migrations_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/migrations/migrations_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/options/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/options/options_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/options/options_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/options/options_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/organizations/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/organizations/organizations_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/organizations/organizations_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/organizations/organizations_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/providers/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/providers/providers_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/providers/providers_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/providers/providers_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/roles/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/roles/roles_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/roles/roles_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/secrets/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/secrets/secrets_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/secrets/secrets_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/secrets/secrets_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/sessions/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/sessions/sessions_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/sessions/sessions_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/sessions/sessions_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/tokens/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/tokens/tokens_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/tokens/tokens_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/tokens/tokens_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/tools/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/tools/tools_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/tools/tools_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/tools/tools_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/user_attributes/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/users/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/users/users_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/users/users_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/users/users_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/webhooks/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/workspaces/__init__.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/workspaces/workspaces_pb2.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/workspaces/workspaces_pb2.pyi +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit/webauthn.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit_sdk_python.egg-info/requires.txt +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/setup.cfg +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/setup.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_actions.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_connected_accounts.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_directory.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_domain.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_m2m_client.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_mcp.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_org_roles.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_organization.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_organization_session_policy.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_organization_slug_logo.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_passwordless.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_permissions.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_role_defaults_dependent.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_roles.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_sessions.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_sk819_retry_behavior.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_tokens.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_tools.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_user_roles_permissions.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_users.py +0 -0
- {scalekit_sdk_python-2.14.0 → scalekit_sdk_python-2.16.0}/tests/test_webauthn_credentials.py +0 -0
|
@@ -1357,7 +1357,7 @@ class ActionProviders:
|
|
|
1357
1357
|
|
|
1358
1358
|
:param request: Request object containing display_name (required),
|
|
1359
1359
|
proxy_url (required), and optional description,
|
|
1360
|
-
proxy_enabled, and
|
|
1360
|
+
proxy_enabled, auth_patterns, icon_src, and metadata.
|
|
1361
1361
|
:type request: CreateCustomProviderRequest
|
|
1362
1362
|
|
|
1363
1363
|
:returns: Response containing the created provider with its server-assigned
|
|
@@ -1373,6 +1373,8 @@ class ActionProviders:
|
|
|
1373
1373
|
proxy_enabled=request.proxy_enabled,
|
|
1374
1374
|
description=request.description,
|
|
1375
1375
|
auth_patterns=request.auth_patterns,
|
|
1376
|
+
icon_src=request.icon_src,
|
|
1377
|
+
metadata=request.metadata,
|
|
1376
1378
|
)
|
|
1377
1379
|
return CreateCustomProviderResponse.from_proto(result_tuple[0])
|
|
1378
1380
|
|
|
@@ -1386,8 +1388,8 @@ class ActionProviders:
|
|
|
1386
1388
|
Fields left as None are ignored and their existing server values are kept.
|
|
1387
1389
|
|
|
1388
1390
|
:param request: Request object containing identifier (required) and any
|
|
1389
|
-
combination of display_name, description, proxy_url,
|
|
1390
|
-
auth_patterns to update.
|
|
1391
|
+
combination of display_name, description, proxy_url,
|
|
1392
|
+
auth_patterns, icon_src, and metadata to update.
|
|
1391
1393
|
:type request: UpdateCustomProviderRequest
|
|
1392
1394
|
|
|
1393
1395
|
:returns: Response containing the provider's full state after the update.
|
|
@@ -1402,6 +1404,8 @@ class ActionProviders:
|
|
|
1402
1404
|
proxy_url=request.proxy_url,
|
|
1403
1405
|
description=request.description,
|
|
1404
1406
|
auth_patterns=request.auth_patterns,
|
|
1407
|
+
icon_src=request.icon_src,
|
|
1408
|
+
metadata=request.metadata,
|
|
1405
1409
|
)
|
|
1406
1410
|
return UpdateCustomProviderResponse.from_proto(result_tuple[0])
|
|
1407
1411
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import List
|
|
1
|
+
from typing import Dict, List
|
|
2
2
|
from urllib.parse import urlparse
|
|
3
3
|
|
|
4
4
|
from pydantic import BaseModel, Field, validator
|
|
@@ -56,6 +56,21 @@ class CreateCustomProviderRequest(BaseModel):
|
|
|
56
56
|
"multi-pattern support. Defaults to empty list."
|
|
57
57
|
),
|
|
58
58
|
)
|
|
59
|
+
icon_src: str = Field(
|
|
60
|
+
"",
|
|
61
|
+
description=(
|
|
62
|
+
"Optional. URL of the provider's icon image shown in the UI. "
|
|
63
|
+
"Defaults to empty string (no icon)."
|
|
64
|
+
),
|
|
65
|
+
)
|
|
66
|
+
metadata: Dict[str, str] = Field(
|
|
67
|
+
default_factory=dict,
|
|
68
|
+
description=(
|
|
69
|
+
"Optional. Arbitrary string key-value pairs attached to the provider. "
|
|
70
|
+
"Keys must be 3-25 characters, values 1-256 characters, with a maximum "
|
|
71
|
+
"of 20 pairs. Defaults to empty dict (no metadata)."
|
|
72
|
+
),
|
|
73
|
+
)
|
|
59
74
|
|
|
60
75
|
@validator("proxy_url")
|
|
61
76
|
def validate_proxy_url_https(cls, v):
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import List, Optional
|
|
1
|
+
from typing import Dict, List, Optional
|
|
2
2
|
from urllib.parse import urlparse
|
|
3
3
|
|
|
4
4
|
from pydantic import BaseModel, Field, validator
|
|
@@ -53,6 +53,22 @@ class UpdateCustomProviderRequest(BaseModel):
|
|
|
53
53
|
"future multi-pattern support. Pass None (default) to leave auth_patterns unchanged."
|
|
54
54
|
),
|
|
55
55
|
)
|
|
56
|
+
icon_src: Optional[str] = Field(
|
|
57
|
+
None,
|
|
58
|
+
description=(
|
|
59
|
+
"Optional. New URL of the provider's icon image. Pass None (default) to "
|
|
60
|
+
"leave the existing value unchanged."
|
|
61
|
+
),
|
|
62
|
+
)
|
|
63
|
+
metadata: Optional[Dict[str, str]] = Field(
|
|
64
|
+
None,
|
|
65
|
+
description=(
|
|
66
|
+
"Optional. Replacement metadata key-value pairs. When provided, the server "
|
|
67
|
+
"replaces the provider's entire metadata map with this value — it is not "
|
|
68
|
+
"merged. Keys must be 3-25 characters, values 1-256 characters, with a "
|
|
69
|
+
"maximum of 20 pairs. Pass None (default) to leave metadata unchanged."
|
|
70
|
+
),
|
|
71
|
+
)
|
|
56
72
|
|
|
57
73
|
@validator("proxy_url")
|
|
58
74
|
def validate_proxy_url_https(cls, v):
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from typing import Optional, Dict, Any, Mapping
|
|
2
2
|
from google.protobuf.json_format import ParseDict
|
|
3
|
-
from google.protobuf.empty_pb2 import Empty
|
|
4
3
|
|
|
5
4
|
from scalekit.core import CoreClient
|
|
6
5
|
from scalekit.v1.auth import auth_pb2
|
|
@@ -29,7 +28,7 @@ class AuthClient:
|
|
|
29
28
|
connection_id: str,
|
|
30
29
|
login_request_id: str,
|
|
31
30
|
user: Optional[Mapping[str, Any]] = None,
|
|
32
|
-
) ->
|
|
31
|
+
) -> auth_pb2.UpdateLoginUserDetailsResponse:
|
|
33
32
|
"""
|
|
34
33
|
Method to update user details for a login request
|
|
35
34
|
|
|
@@ -55,7 +54,7 @@ class AuthClient:
|
|
|
55
54
|
:type : ``` dict ```
|
|
56
55
|
|
|
57
56
|
:returns:
|
|
58
|
-
Tuple of (
|
|
57
|
+
Tuple of (UpdateLoginUserDetailsResponse carrying auth_request_id, grpc.Call metadata)
|
|
59
58
|
"""
|
|
60
59
|
|
|
61
60
|
user_data: Dict[str, Any] = {}
|
|
@@ -26,6 +26,7 @@ from scalekit.passwordless import PasswordlessClient
|
|
|
26
26
|
from scalekit.mcp import McpClient
|
|
27
27
|
from scalekit.sessions import SessionsClient
|
|
28
28
|
from scalekit.auth import AuthClient
|
|
29
|
+
from scalekit.events import EventsClient
|
|
29
30
|
from scalekit.webauthn import WebAuthnClient
|
|
30
31
|
from scalekit.token import TokenClient
|
|
31
32
|
from scalekit.common.scalekit import (
|
|
@@ -83,6 +84,7 @@ class ScalekitClient:
|
|
|
83
84
|
self.passwordless = PasswordlessClient(self.core_client)
|
|
84
85
|
self.sessions = SessionsClient(self.core_client)
|
|
85
86
|
self.auth = AuthClient(self.core_client)
|
|
87
|
+
self.events = EventsClient(self.core_client)
|
|
86
88
|
self.webauthn = WebAuthnClient(self.core_client)
|
|
87
89
|
self.tokens = TokenClient(self.core_client)
|
|
88
90
|
except Exception:
|
|
@@ -127,7 +127,7 @@ class ConnectionClient:
|
|
|
127
127
|
CreateConnectionRequest(organization_id=organization_id, connection=connection),
|
|
128
128
|
)
|
|
129
129
|
|
|
130
|
-
def list_app_connections(self, page_size: Optional[int] = None, page_token: Optional[str] = None, provider: Optional[str] = None) -> ListAppConnectionsResponse:
|
|
130
|
+
def list_app_connections(self, page_size: Optional[int] = None, page_token: Optional[str] = None, provider: Optional[str] = None, query: Optional[str] = None) -> ListAppConnectionsResponse:
|
|
131
131
|
"""
|
|
132
132
|
Method to list environment-level app connections
|
|
133
133
|
|
|
@@ -137,13 +137,15 @@ class ConnectionClient:
|
|
|
137
137
|
:type : ``` str ```
|
|
138
138
|
:param provider : Filter by provider (e.g. 'HUBSPOT')
|
|
139
139
|
:type : ``` str ```
|
|
140
|
+
:param query : Free-text search matching connections by connection name (key ID) or provider (3-100 characters)
|
|
141
|
+
:type : ``` str ```
|
|
140
142
|
|
|
141
143
|
:returns:
|
|
142
144
|
List App Connections Response
|
|
143
145
|
"""
|
|
144
146
|
return self.core_client.grpc_exec(
|
|
145
147
|
self.connection_service.ListAppConnections.with_call,
|
|
146
|
-
ListAppConnectionsRequest(page_size=page_size, page_token=page_token, provider=provider),
|
|
148
|
+
ListAppConnectionsRequest(page_size=page_size, page_token=page_token, provider=provider, query=query),
|
|
147
149
|
)
|
|
148
150
|
|
|
149
151
|
def get_environment_connection(self, connection_id: str) -> GetConnectionResponse:
|
|
@@ -29,7 +29,7 @@ class CoreClient:
|
|
|
29
29
|
|
|
30
30
|
sdk_version = f"Scalekit-Python/{_sdk_version}"
|
|
31
31
|
# YYYYMMDD
|
|
32
|
-
api_version = "
|
|
32
|
+
api_version = "20260727"
|
|
33
33
|
user_agent = f"{sdk_version} Python/{platform.python_version()} ({platform.system()}; {platform.architecture()}"
|
|
34
34
|
|
|
35
35
|
def __init__(self, env_url, client_id, client_secret):
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from scalekit.core import CoreClient
|
|
4
|
+
from scalekit.v1.events.events_pb2 import (
|
|
5
|
+
EventFilter,
|
|
6
|
+
ListEventsPaginatedRequest,
|
|
7
|
+
ListEventsPaginatedResponse,
|
|
8
|
+
)
|
|
9
|
+
from scalekit.v1.events.events_pb2_grpc import EventsServiceStub
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class EventsClient:
|
|
13
|
+
"""Class definition for Events Client"""
|
|
14
|
+
|
|
15
|
+
def __init__(self, core_client: CoreClient):
|
|
16
|
+
"""
|
|
17
|
+
Initializer for Events Client
|
|
18
|
+
|
|
19
|
+
:param core_client : CoreClient Object
|
|
20
|
+
:type : ``` obj ```
|
|
21
|
+
:returns
|
|
22
|
+
None
|
|
23
|
+
"""
|
|
24
|
+
self.core_client = core_client
|
|
25
|
+
self.events_service = EventsServiceStub(
|
|
26
|
+
self.core_client.grpc_secure_channel
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
def list_events_paginated(
|
|
30
|
+
self,
|
|
31
|
+
page_size: Optional[int] = None,
|
|
32
|
+
page_token: Optional[str] = None,
|
|
33
|
+
filter: Optional[EventFilter] = None, # noqa: A002
|
|
34
|
+
) -> ListEventsPaginatedResponse:
|
|
35
|
+
"""
|
|
36
|
+
Method to list events with pagination
|
|
37
|
+
|
|
38
|
+
:param page_size : page size for events list fetch (optional, uses server default if not provided)
|
|
39
|
+
:type : ``` int ```
|
|
40
|
+
:param page_token : page token for events list fetch
|
|
41
|
+
:type : ``` str ```
|
|
42
|
+
:param filter : EventFilter object to filter events (optional)
|
|
43
|
+
:type : ``` obj ```
|
|
44
|
+
|
|
45
|
+
:returns:
|
|
46
|
+
List Events Paginated Response
|
|
47
|
+
"""
|
|
48
|
+
request = ListEventsPaginatedRequest()
|
|
49
|
+
if page_size is not None:
|
|
50
|
+
request.page_size = page_size
|
|
51
|
+
if page_token is not None:
|
|
52
|
+
request.page_token = page_token
|
|
53
|
+
if filter is not None:
|
|
54
|
+
request.filter.CopyFrom(filter)
|
|
55
|
+
return self.core_client.grpc_exec(
|
|
56
|
+
self.events_service.ListEventsPaginated.with_call,
|
|
57
|
+
request,
|
|
58
|
+
)
|
|
@@ -25,7 +25,7 @@ from scalekit.v1.connections import connections_pb2 as scalekit_dot_v1_dot_conne
|
|
|
25
25
|
from scalekit.v1.options import options_pb2 as scalekit_dot_v1_dot_options_dot_options__pb2
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bscalekit/v1/auth/auth.proto\x12\x10scalekit.v1.auth\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a!scalekit/v1/commons/commons.proto\x1a)scalekit/v1/connections/connections.proto\x1a!scalekit/v1/options/options.proto\"0\n\x16ListAuthMethodsRequest\x12\x16\n\x06intent\x18\x01 \x01(\tR\x06intent\"Z\n\x17ListAuthMethodsResponse\x12?\n\x0c\x61uth_methods\x18\x01 \x03(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\x0b\x61uthMethods\"\x89\t\n\nAuthMethod\x12}\n\rconnection_id\x18\x01 \x01(\tBX\x92\x41L22Unique identifier for the connection to be toggledJ\x16\"conn_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0c\x63onnectionId\x12P\n\x0f\x63onnection_type\x18\x02 \x01(\x0e\x32\'.scalekit.v1.connections.ConnectionTypeR\x0e\x63onnectionType\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x93\x01\n\x13\x61uth_initiation_uri\x18\x04 \x01(\tBc\x92\x41V2\x1eURI to initiate the connectionJ4\"https://sso.acmecorp.com/sso/v1/oidc/conn_123/init\"\xbaH\x07r\x05\x10\x01\x18\xff\x01R\x11\x61uthInitiationUri\x12z\n\x11passwordless_type\x18\x05 \x01(\x0e\x32).scalekit.v1.connections.PasswordlessTypeB\x1d\x92\x41\x1a\x32\x11Passwordless typeJ\x05\"OTP\"H\x00R\x10passwordlessType\x88\x01\x01\x12W\n\x15\x63ode_challenge_length\x18\x06 \x01(\rB\x1e\x92\x41\x1b\x32\x16Length of the OTP codeJ\x01\x36H\x01R\x13\x63odeChallengeLength\x88\x01\x01\x12\xa3\x01\n!enable_webauthn_auto_registration\x18\x07 \x01(\x08\x42S\x92\x41P2GIndicates if WebAuthn auto-registration is enabled for this auth method:\x05\x66\x61lseH\x02R\x1e\x65nableWebauthnAutoRegistration\x88\x01\x01\x12\x63\n\x13show_passkey_button\x18\x08 \x01(\x08\x42.\x92\x41+2#Show passkey button on login screen:\x04trueH\x03R\x11showPasskeyButton\x88\x01\x01\x12\x83\x01\n!enable_webauthn_conditional_login\x18\t \x01(\x08\x42\x33\x92\x41\x30\x32(Allow autofill of passkeys in login page:\x04trueH\x04R\x1e\x65nableWebauthnConditionalLogin\x88\x01\x01\x42\x14\n\x12_passwordless_typeB\x18\n\x16_code_challenge_lengthB$\n\"_enable_webauthn_auto_registrationB\x16\n\x14_show_passkey_buttonB$\n\"_enable_webauthn_conditional_login\"m\n\x1a\x44iscoveryAuthMethodRequest\x12O\n\x11\x64iscovery_request\x18\x02 \x01(\x0b\x32\".scalekit.v1.auth.DiscoveryRequestR\x10\x64iscoveryRequest\"\xb3\x01\n\x10\x44iscoveryRequest\x12\x63\n\x05\x65mail\x18\x01 \x01(\tBM\x92\x41\x41\x32*user identifier like email or phone numberJ\x13\"john@acmecorp.com\"\xbaH\x06r\x04\x10\x03\x18\x64R\x05\x65mail\x12:\n\x06intent\x18\x02 \x01(\x0e\x32\x18.scalekit.v1.auth.IntentB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06intent\"\\\n\x1b\x44iscoveryAuthMethodResponse\x12=\n\x0b\x61uth_method\x18\x01 \x01(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\nauthMethod\"\x1e\n\x1cGetAuthCustomizationsRequest\"\x8f\x03\n\x0ePortalSettings\x12\x98\x01\n\x0f\x63ustom_branding\x18\x01 \x01(\x08\x42o\x92\x41l2dIndicates whether custom portal branding is enabled for this workspace based on billing subscriptionJ\x04trueR\x0e\x63ustomBranding\x12\xc5\x01\n\x17new_self_serve_sso_scim\x18\x02 \x01(\x08\x42\x89\x01\x92\x41\x85\x01\x32|Indicates whether the new self-serve SSO/SCIM flow should be shown in the hosted pages (rollout-driven, not billing-derived)J\x05\x66\x61lseH\x00R\x13newSelfServeSsoScim\x88\x01\x01\x42\x1a\n\x18_new_self_serve_sso_scim\"\xce\x02\n\x1dGetAuthCustomizationsResponse\x12N\n\x16\x63ustomization_settings\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x15\x63ustomizationSettings\x12\x41\n\x08settings\x18\x03 \x01(\x0b\x32 .scalekit.v1.auth.PortalSettingsB\x03\xe0\x41\x03R\x08settings\x12z\n\x1borganization_customizations\x18\x04 \x01(\x0b\x32/.scalekit.v1.commons.OrganizationCustomizationsB\x03\xe0\x41\x03H\x00R\x1aorganizationCustomizations\x88\x01\x01\x42\x1e\n\x1c_organization_customizations\"N\n\x17GetAuthFeaturesResponse\x12\x33\n\x08\x66\x65\x61tures\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x08\x66\x65\x61tures\"U\n\x1cVerifyPasswordLessOtpRequest\x12\x35\n\x07otp_req\x18\x02 \x01(\x0b\x32\x1c.scalekit.v1.auth.OTPRequestR\x06otpReq\"\x1f\n\x1dVerifyPasswordLessOtpResponse\"i\n\nOTPRequest\x12[\n\x0e\x63ode_challenge\x18\x01 \x01(\tB4\x92\x41(2\x1cOTP sent to the user\'s emailJ\x08\"123456\"\xbaH\x06r\x04\x10\x05\x18\x06R\rcodeChallenge\"\xd4\x01\n\x1dListUserOrganizationsResponse\x12\x44\n\rorganizations\x18\x01 \x03(\x0b\x32\x1e.scalekit.v1.auth.OrganizationR\rorganizations\x12\x31\n\x04user\x18\x02 \x01(\x0b\x32\x1d.scalekit.v1.auth.UserDetailsR\x04user\x12:\n\x06intent\x18\x03 \x01(\x0e\x32\x18.scalekit.v1.auth.IntentB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06intent\"\xe7\x05\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12+\n\x11membership_status\x18\x03 \x01(\tR\x10membershipStatus\x12=\n\x18invitation_inviter_email\x18\x04 \x01(\tH\x00R\x16invitationInviterEmail\x88\x01\x01\x12U\n\x16invitation_accepted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x14invitationAcceptedAt\x88\x01\x01\x12S\n\x15invitation_created_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\x13invitationCreatedAt\x88\x01\x01\x12S\n\x15invitation_expires_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\x13invitationExpiresAt\x88\x01\x01\x12\xcc\x01\n\x08logo_url\x18\x08 \x01(\tB\xab\x01\x92\x41\x9f\x01\x32_HTTPS URL of the organization\'s logo image. Maximum 2048 characters. Must use the https scheme.J\'\"https://cdn.example.com/acme-logo.png\"x\x80\x10\x8a\x01\t^https://\xa2\x02\x03uri\xbaH\x05r\x03\x18\x80\x10H\x04R\x07logoUrl\x88\x01\x01\x42\x1b\n\x19_invitation_inviter_emailB\x19\n\x17_invitation_accepted_atB\x18\n\x16_invitation_created_atB\x18\n\x16_invitation_expires_atB\x0b\n\t_logo_url\"_\n\x0bUserDetails\x12\x14\n\x05\x65mail\x18\x01 \x01(\tR\x05\x65mail\x12\x1d\n\nfirst_name\x18\x02 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x03 \x01(\tR\x08lastName\"\xc4\x01\n\x19SignupOrganizationRequest\x12+\n\x11organization_name\x18\x01 \x01(\tR\x10organizationName\x12\x1d\n\nfirst_name\x18\x02 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x03 \x01(\tR\x08lastName\x12\x1b\n\tfull_name\x18\x04 \x01(\tR\x08\x66ullName\x12!\n\x0cphone_number\x18\x05 \x01(\tR\x0bphoneNumber\"r\n\x1aSignupOrganizationResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12+\n\x11organization_name\x18\x02 \x01(\tR\x10organizationName\"\xd6\x02\n\x1dUpdateLoginUserDetailsRequest\x12v\n\rconnection_id\x18\x01 \x01(\tBQ\x92\x41\x45\x32+Connection ID. Unique ID for the connectionJ\x16\"conn_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0c\x63onnectionId\x12\x90\x01\n\x10login_request_id\x18\x02 \x01(\tBf\x92\x41]2BLogin Request ID that was shared as part of authorization initiateJ\x17\"lri_73415099636808061\"\xbaH\x03\xc8\x01\x01R\x0eloginRequestId\x12*\n\x04user\x18\x03 \x01(\x0b\x32\x16.scalekit.v1.auth.UserR\x04user\"\x95\x10\n\x04User\x12\x83\x01\n\x03sub\x18\x01 \x01(\tBq\x92\x41g2WSubject identifier for the user (typically a unique user ID from the identity provider)J\x0c\"1234567890\"\xbaH\x04r\x02\x10\x01R\x03sub\x12R\n\x05\x65mail\x18\x02 \x01(\tB<\x92\x41\x32\x32\x1cUser\'s primary email addressJ\x12\"user@example.com\"\xbaH\x04r\x02\x10\x01R\x05\x65mail\x12=\n\ngiven_name\x18\x03 \x01(\tB\x1e\x92\x41\x1b\x32\x11User\'s first nameJ\x06\"John\"R\tgivenName\x12=\n\x0b\x66\x61mily_name\x18\x04 \x01(\tB\x1c\x92\x41\x19\x32\x10User\'s last nameJ\x05\"Doe\"R\nfamilyName\x12\x88\x01\n\x0e\x65mail_verified\x18\x05 \x01(\x08\x42\x61\x92\x41^2VIndicates whether the user\'s email address has been verified by the identity provider.J\x04trueR\remailVerified\x12\x63\n\x0cphone_number\x18\x06 \x01(\tB@\x92\x41=2,User\'s primary phone number in E.164 format.J\r\"+1234567890\"R\x0bphoneNumber\x12\x95\x01\n\x15phone_number_verified\x18\x07 \x01(\x08\x42\x61\x92\x41^2UIndicates whether the user\'s phone number has been verified by the identity provider.J\x05\x66\x61lseR\x13phoneNumberVerified\x12\x42\n\x04name\x18\x08 \x01(\tB.\x92\x41+2\x1d\x46ull display name of the userJ\n\"John Doe\"R\x04name\x12\x62\n\x12preferred_username\x18\t \x01(\tB3\x92\x41\x30\x32#User\'s preferred username or handleJ\t\"johndoe\"R\x11preferredUsername\x12\x62\n\x07picture\x18\n \x01(\tBH\x92\x41\x45\x32!URL to the user\'s profile pictureJ \"https://example.com/avatar.jpg\"R\x07picture\x12X\n\x06gender\x18\x0b \x01(\tB@\x92\x41=23User\'s gender as reported by the identity provider.J\x06\"male\"R\x06gender\x12\x65\n\x06locale\x18\x0c \x01(\tBM\x92\x41J2?User\'s locale or language preference (IETF BCP 47 language tag)J\x07\"en-US\"R\x06locale\x12\x66\n\x06groups\x18\r \x03(\tBN\x92\x41K2/List of group names or IDs the user belongs to.J\x18[\"admins\", \"developers\"]R\x06groups\x12\xf2\x01\n\x11\x63ustom_attributes\x18\x0e \x01(\x0b\x32\x17.google.protobuf.StructB\xab\x01\x92\x41\xa7\x01\x32mCustom attributes for the user, represented as a key-value map. Used for additional identity provider claims.J6{\"department\": \"Engineering\", \"employee_id\": \"E12345\"}R\x10\x63ustomAttributes\x12\xb1\x01\n\x18organization_external_id\x18\x0f \x01(\tBr\x92\x41o2EIdentifier for the user\xe2\x80\x99s organization within the identity providerJ&\"132d085d-d89d-4a2e-95bb-49bde680d14f\"H\x00R\x16organizationExternalId\x88\x01\x01\x12S\n\x05roles\x18\x10 \x03(\tB=\x92\x41:2#List of roles assigned to the user.J\x13[\"admin\", \"editor\"]R\x05roles\x12\xbd\x01\n\x1aorganization_external_name\x18\x11 \x01(\tBz\x92\x41o2`Name of the organization the user is authenticating into. Used to display on the consent screen.J\x0b\"Acme Corp\"\xbaH\x05r\x03\x18\xc8\x01H\x01R\x18organizationExternalName\x88\x01\x01\x42\x1b\n\x19_organization_external_idB\x1d\n\x1b_organization_external_name\"\xb1\x02\n\x14GetAuthStateResponse\x12:\n\nauth_state\x18\x01 \x01(\x0e\x32\x1b.scalekit.v1.auth.AuthStateR\tauthState\x12\x31\n\x04user\x18\x02 \x01(\x0b\x32\x1d.scalekit.v1.auth.UserDetailsR\x04user\x12\xa9\x01\n\nlogin_hint\x18\x03 \x01(\tB\x89\x01\x92\x41\x85\x01\x32oLogin hint from the original authorize request. Typically an email address used to pre-fill the login UI input.J\x12\"user@example.com\"R\tloginHint\"\x8c\x01\n\x13GetAuthErrorRequest\x12u\n\x08\x65rror_id\x18\x01 \x01(\tBZ\x92\x41H2.Unique identifier for the authentication errorJ\x16\"err_1234567890abcdef\"\xbaH\x0cr\n\x10\x01\x18@:\x04\x65rr_R\x07\x65rrorId\"Y\n\x14GetAuthErrorResponse\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12+\n\x11\x65rror_description\x18\x02 \x01(\tR\x10\x65rrorDescription*:\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\x0b\n\x07sign_in\x10\x01\x12\x0b\n\x07sign_up\x10\x02*\xb4\x04\n\tAuthState\x12\x1a\n\x16\x41UTH_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x41UTHENTICATION_IN_PROGRESS\x10\x01\x12\x19\n\x15ORGANIZATION_SWITCHER\x10\x02\x12\x19\n\x15ORGANIZATION_SELECTED\x10\x03\x12\x17\n\x13ORGANIZATION_SIGNUP\x10\x04\x12 \n\x1cORGANIZATION_SWITCHER_SIGNUP\x10\x05\x12\x1c\n\x18OTP_VERIFICATION_PENDING\x10\x06\x12\x13\n\x0fMAGIC_LINK_SENT\x10\x07\x12&\n\"LINK_SENT_OTP_VERIFICATION_PENDING\x10\x08\x12\x10\n\x0cOTP_VERIFIED\x10\t\x12\x11\n\rLINK_VERIFIED\x10\n\x12\x15\n\x11SSO_AUTHENTICATED\x10\x0b\x12\x14\n\x10ORG_USER_CREATED\x10\x0c\x12\x1c\n\x18\x41UTHENTICATION_COMPLETED\x10\r\x12\x19\n\x15\x41UTHENTICATION_FAILED\x10\x0e\x12\x15\n\x11WEBAUTHN_VERIFIED\x10\x0f\x12 \n\x1cVERIFICATION_MAGIC_LINK_SENT\x10\x10\x12$\n VERIFICATION_MAGIC_LINK_OTP_SENT\x10\x11\x12\x19\n\x15VERIFICATION_OTP_SENT\x10\x12\x12\x1a\n\x16VERIFICATION_COMPLETED\x10\x13\x32\xa7\x10\n\x0b\x41uthService\x12\x98\x01\n\x0fListAuthMethods\x12(.scalekit.v1.auth.ListAuthMethodsRequest\x1a).scalekit.v1.auth.ListAuthMethodsResponse\"0\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/authmethods\x12\xba\x01\n\x13\x44iscoveryAuthMethod\x12,.scalekit.v1.auth.DiscoveryAuthMethodRequest\x1a-.scalekit.v1.auth.DiscoveryAuthMethodResponse\"F\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\"\x16/api/v1/auth:discovery:\x11\x64iscovery_request\x12\xc0\x01\n\x15VerifyPasswordLessOtp\x12..scalekit.v1.auth.VerifyPasswordLessOtpRequest\x1a/.scalekit.v1.auth.VerifyPasswordLessOtpResponse\"F\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\" /api/v1/auth/passwordless:verify:\x07otp_req\x12\x83\x01\n\x12ResendPasswordless\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"=\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\"\" /api/v1/auth/passwordless:resend\x12\x99\x01\n\x15ListUserOrganizations\x12\x16.google.protobuf.Empty\x1a/.scalekit.v1.auth.ListUserOrganizationsResponse\"7\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/v1/auth:organizations\x12\xa4\x01\n\x12SignupOrganization\x12+.scalekit.v1.auth.SignupOrganizationRequest\x1a,.scalekit.v1.auth.SignupOrganizationResponse\"3\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x18\"\x13/api/v1/auth:signup:\x01*\x12\x7f\n\x0cGetAuthState\x12\x16.google.protobuf.Empty\x1a&.scalekit.v1.auth.GetAuthStateResponse\"/\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/auth/state\x12\xb6\x01\n\x0cGetAuthError\x12%.scalekit.v1.auth.GetAuthErrorRequest\x1a&.scalekit.v1.auth.GetAuthErrorResponse\"W\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02<\x12\x19/api/v1/errors/{error_id}Z\x1f\x12\x1d/api/v1/auth/error/{error_id}\x12j\n\x06Logout\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"0\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x15\"\x13/api/v1/auth/logout\x12\xb2\x01\n\x15GetAuthCustomizations\x12..scalekit.v1.auth.GetAuthCustomizationsRequest\x1a/.scalekit.v1.auth.GetAuthCustomizationsResponse\"8\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/auth:customizations\x12\x88\x01\n\x0fGetAuthFeatures\x12\x16.google.protobuf.Empty\x1a).scalekit.v1.auth.GetAuthFeaturesResponse\"2\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v1/auth:features\x12\xcd\x02\n\x16UpdateLoginUserDetails\x12/.scalekit.v1.auth.UpdateLoginUserDetailsRequest\x1a\x16.google.protobuf.Empty\"\xe9\x01\x92\x41z\n\x0b\x43onnections\x12%Update User Details for login request\x1a%Update User Details for login requestJ\x1d\n\x03\x32\x30\x30\x12\x16\n\x14\x44\x65leted Successfully\x82\xb5\x18\x02\x18\x04\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02Q\"I/api/v1/connections/{connection_id}/auth-requests/{login_request_id}/user:\x04userB0Z.github.com/scalekit-inc/scalekit/pkg/grpc/authb\x06proto3')
|
|
28
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bscalekit/v1/auth/auth.proto\x12\x10scalekit.v1.auth\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a!scalekit/v1/commons/commons.proto\x1a)scalekit/v1/connections/connections.proto\x1a!scalekit/v1/options/options.proto\"0\n\x16ListAuthMethodsRequest\x12\x16\n\x06intent\x18\x01 \x01(\tR\x06intent\"Z\n\x17ListAuthMethodsResponse\x12?\n\x0c\x61uth_methods\x18\x01 \x03(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\x0b\x61uthMethods\"\x89\t\n\nAuthMethod\x12}\n\rconnection_id\x18\x01 \x01(\tBX\x92\x41L22Unique identifier for the connection to be toggledJ\x16\"conn_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0c\x63onnectionId\x12P\n\x0f\x63onnection_type\x18\x02 \x01(\x0e\x32\'.scalekit.v1.connections.ConnectionTypeR\x0e\x63onnectionType\x12\x1a\n\x08provider\x18\x03 \x01(\tR\x08provider\x12\x93\x01\n\x13\x61uth_initiation_uri\x18\x04 \x01(\tBc\x92\x41V2\x1eURI to initiate the connectionJ4\"https://sso.acmecorp.com/sso/v1/oidc/conn_123/init\"\xbaH\x07r\x05\x10\x01\x18\xff\x01R\x11\x61uthInitiationUri\x12z\n\x11passwordless_type\x18\x05 \x01(\x0e\x32).scalekit.v1.connections.PasswordlessTypeB\x1d\x92\x41\x1a\x32\x11Passwordless typeJ\x05\"OTP\"H\x00R\x10passwordlessType\x88\x01\x01\x12W\n\x15\x63ode_challenge_length\x18\x06 \x01(\rB\x1e\x92\x41\x1b\x32\x16Length of the OTP codeJ\x01\x36H\x01R\x13\x63odeChallengeLength\x88\x01\x01\x12\xa3\x01\n!enable_webauthn_auto_registration\x18\x07 \x01(\x08\x42S\x92\x41P2GIndicates if WebAuthn auto-registration is enabled for this auth method:\x05\x66\x61lseH\x02R\x1e\x65nableWebauthnAutoRegistration\x88\x01\x01\x12\x63\n\x13show_passkey_button\x18\x08 \x01(\x08\x42.\x92\x41+2#Show passkey button on login screen:\x04trueH\x03R\x11showPasskeyButton\x88\x01\x01\x12\x83\x01\n!enable_webauthn_conditional_login\x18\t \x01(\x08\x42\x33\x92\x41\x30\x32(Allow autofill of passkeys in login page:\x04trueH\x04R\x1e\x65nableWebauthnConditionalLogin\x88\x01\x01\x42\x14\n\x12_passwordless_typeB\x18\n\x16_code_challenge_lengthB$\n\"_enable_webauthn_auto_registrationB\x16\n\x14_show_passkey_buttonB$\n\"_enable_webauthn_conditional_login\"m\n\x1a\x44iscoveryAuthMethodRequest\x12O\n\x11\x64iscovery_request\x18\x02 \x01(\x0b\x32\".scalekit.v1.auth.DiscoveryRequestR\x10\x64iscoveryRequest\"\xb3\x01\n\x10\x44iscoveryRequest\x12\x63\n\x05\x65mail\x18\x01 \x01(\tBM\x92\x41\x41\x32*user identifier like email or phone numberJ\x13\"john@acmecorp.com\"\xbaH\x06r\x04\x10\x03\x18\x64R\x05\x65mail\x12:\n\x06intent\x18\x02 \x01(\x0e\x32\x18.scalekit.v1.auth.IntentB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06intent\"\\\n\x1b\x44iscoveryAuthMethodResponse\x12=\n\x0b\x61uth_method\x18\x01 \x01(\x0b\x32\x1c.scalekit.v1.auth.AuthMethodR\nauthMethod\"\x1e\n\x1cGetAuthCustomizationsRequest\"\x8f\x03\n\x0ePortalSettings\x12\x98\x01\n\x0f\x63ustom_branding\x18\x01 \x01(\x08\x42o\x92\x41l2dIndicates whether custom portal branding is enabled for this workspace based on billing subscriptionJ\x04trueR\x0e\x63ustomBranding\x12\xc5\x01\n\x17new_self_serve_sso_scim\x18\x02 \x01(\x08\x42\x89\x01\x92\x41\x85\x01\x32|Indicates whether the new self-serve SSO/SCIM flow should be shown in the hosted pages (rollout-driven, not billing-derived)J\x05\x66\x61lseH\x00R\x13newSelfServeSsoScim\x88\x01\x01\x42\x1a\n\x18_new_self_serve_sso_scim\"\xce\x02\n\x1dGetAuthCustomizationsResponse\x12N\n\x16\x63ustomization_settings\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructR\x15\x63ustomizationSettings\x12\x41\n\x08settings\x18\x03 \x01(\x0b\x32 .scalekit.v1.auth.PortalSettingsB\x03\xe0\x41\x03R\x08settings\x12z\n\x1borganization_customizations\x18\x04 \x01(\x0b\x32/.scalekit.v1.commons.OrganizationCustomizationsB\x03\xe0\x41\x03H\x00R\x1aorganizationCustomizations\x88\x01\x01\x42\x1e\n\x1c_organization_customizations\"N\n\x17GetAuthFeaturesResponse\x12\x33\n\x08\x66\x65\x61tures\x18\x01 \x01(\x0b\x32\x17.google.protobuf.StructR\x08\x66\x65\x61tures\"U\n\x1cVerifyPasswordLessOtpRequest\x12\x35\n\x07otp_req\x18\x02 \x01(\x0b\x32\x1c.scalekit.v1.auth.OTPRequestR\x06otpReq\"\x1f\n\x1dVerifyPasswordLessOtpResponse\"i\n\nOTPRequest\x12[\n\x0e\x63ode_challenge\x18\x01 \x01(\tB4\x92\x41(2\x1cOTP sent to the user\'s emailJ\x08\"123456\"\xbaH\x06r\x04\x10\x05\x18\x06R\rcodeChallenge\"\xd4\x01\n\x1dListUserOrganizationsResponse\x12\x44\n\rorganizations\x18\x01 \x03(\x0b\x32\x1e.scalekit.v1.auth.OrganizationR\rorganizations\x12\x31\n\x04user\x18\x02 \x01(\x0b\x32\x1d.scalekit.v1.auth.UserDetailsR\x04user\x12:\n\x06intent\x18\x03 \x01(\x0e\x32\x18.scalekit.v1.auth.IntentB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06intent\"\xe7\x05\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12+\n\x11membership_status\x18\x03 \x01(\tR\x10membershipStatus\x12=\n\x18invitation_inviter_email\x18\x04 \x01(\tH\x00R\x16invitationInviterEmail\x88\x01\x01\x12U\n\x16invitation_accepted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x14invitationAcceptedAt\x88\x01\x01\x12S\n\x15invitation_created_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\x13invitationCreatedAt\x88\x01\x01\x12S\n\x15invitation_expires_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\x13invitationExpiresAt\x88\x01\x01\x12\xcc\x01\n\x08logo_url\x18\x08 \x01(\tB\xab\x01\x92\x41\x9f\x01\x32_HTTPS URL of the organization\'s logo image. Maximum 2048 characters. Must use the https scheme.J\'\"https://cdn.example.com/acme-logo.png\"x\x80\x10\x8a\x01\t^https://\xa2\x02\x03uri\xbaH\x05r\x03\x18\x80\x10H\x04R\x07logoUrl\x88\x01\x01\x42\x1b\n\x19_invitation_inviter_emailB\x19\n\x17_invitation_accepted_atB\x18\n\x16_invitation_created_atB\x18\n\x16_invitation_expires_atB\x0b\n\t_logo_url\"_\n\x0bUserDetails\x12\x14\n\x05\x65mail\x18\x01 \x01(\tR\x05\x65mail\x12\x1d\n\nfirst_name\x18\x02 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x03 \x01(\tR\x08lastName\"\xc4\x01\n\x19SignupOrganizationRequest\x12+\n\x11organization_name\x18\x01 \x01(\tR\x10organizationName\x12\x1d\n\nfirst_name\x18\x02 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x03 \x01(\tR\x08lastName\x12\x1b\n\tfull_name\x18\x04 \x01(\tR\x08\x66ullName\x12!\n\x0cphone_number\x18\x05 \x01(\tR\x0bphoneNumber\"r\n\x1aSignupOrganizationResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12+\n\x11organization_name\x18\x02 \x01(\tR\x10organizationName\"\xd6\x02\n\x1dUpdateLoginUserDetailsRequest\x12v\n\rconnection_id\x18\x01 \x01(\tBQ\x92\x41\x45\x32+Connection ID. Unique ID for the connectionJ\x16\"conn_121312434123312\"\xbaH\x06r\x04\x10\x01\x18 R\x0c\x63onnectionId\x12\x90\x01\n\x10login_request_id\x18\x02 \x01(\tBf\x92\x41]2BLogin Request ID that was shared as part of authorization initiateJ\x17\"lri_73415099636808061\"\xbaH\x03\xc8\x01\x01R\x0eloginRequestId\x12*\n\x04user\x18\x03 \x01(\x0b\x32\x16.scalekit.v1.auth.UserR\x04user\"\xd2\x01\n\x1eUpdateLoginUserDetailsResponse\x12\xaf\x01\n\x0f\x61uth_request_id\x18\x01 \x01(\tB\x86\x01\x92\x41\x82\x01\x32gThe auth request ID which can be used to look up the authentication journey of the user using auth logsJ\x17\"req_73415099636808061\"R\rauthRequestId\"\xb6\x13\n\x04User\x12\xa5\x01\n\x03sub\x18\x01 \x01(\tB\x92\x01\x92\x41\x8e\x01\x32~Subject identifier for the user (typically a unique user ID from the identity provider). Required unless login_failed is true.J\x0c\"1234567890\"R\x03sub\x12r\n\x05\x65mail\x18\x02 \x01(\tB\\\x92\x41Y2CUser\'s primary email address. Required unless login_failed is true.J\x12\"user@example.com\"R\x05\x65mail\x12=\n\ngiven_name\x18\x03 \x01(\tB\x1e\x92\x41\x1b\x32\x11User\'s first nameJ\x06\"John\"R\tgivenName\x12=\n\x0b\x66\x61mily_name\x18\x04 \x01(\tB\x1c\x92\x41\x19\x32\x10User\'s last nameJ\x05\"Doe\"R\nfamilyName\x12\x88\x01\n\x0e\x65mail_verified\x18\x05 \x01(\x08\x42\x61\x92\x41^2VIndicates whether the user\'s email address has been verified by the identity provider.J\x04trueR\remailVerified\x12\x63\n\x0cphone_number\x18\x06 \x01(\tB@\x92\x41=2,User\'s primary phone number in E.164 format.J\r\"+1234567890\"R\x0bphoneNumber\x12\x95\x01\n\x15phone_number_verified\x18\x07 \x01(\x08\x42\x61\x92\x41^2UIndicates whether the user\'s phone number has been verified by the identity provider.J\x05\x66\x61lseR\x13phoneNumberVerified\x12\x42\n\x04name\x18\x08 \x01(\tB.\x92\x41+2\x1d\x46ull display name of the userJ\n\"John Doe\"R\x04name\x12\x62\n\x12preferred_username\x18\t \x01(\tB3\x92\x41\x30\x32#User\'s preferred username or handleJ\t\"johndoe\"R\x11preferredUsername\x12\x62\n\x07picture\x18\n \x01(\tBH\x92\x41\x45\x32!URL to the user\'s profile pictureJ \"https://example.com/avatar.jpg\"R\x07picture\x12X\n\x06gender\x18\x0b \x01(\tB@\x92\x41=23User\'s gender as reported by the identity provider.J\x06\"male\"R\x06gender\x12\x65\n\x06locale\x18\x0c \x01(\tBM\x92\x41J2?User\'s locale or language preference (IETF BCP 47 language tag)J\x07\"en-US\"R\x06locale\x12\x66\n\x06groups\x18\r \x03(\tBN\x92\x41K2/List of group names or IDs the user belongs to.J\x18[\"admins\", \"developers\"]R\x06groups\x12\xf2\x01\n\x11\x63ustom_attributes\x18\x0e \x01(\x0b\x32\x17.google.protobuf.StructB\xab\x01\x92\x41\xa7\x01\x32mCustom attributes for the user, represented as a key-value map. Used for additional identity provider claims.J6{\"department\": \"Engineering\", \"employee_id\": \"E12345\"}R\x10\x63ustomAttributes\x12\xb1\x01\n\x18organization_external_id\x18\x0f \x01(\tBr\x92\x41o2EIdentifier for the user\xe2\x80\x99s organization within the identity providerJ&\"132d085d-d89d-4a2e-95bb-49bde680d14f\"H\x00R\x16organizationExternalId\x88\x01\x01\x12S\n\x05roles\x18\x10 \x03(\tB=\x92\x41:2#List of roles assigned to the user.J\x13[\"admin\", \"editor\"]R\x05roles\x12\xbd\x01\n\x1aorganization_external_name\x18\x11 \x01(\tBz\x92\x41o2`Name of the organization the user is authenticating into. Used to display on the consent screen.J\x0b\"Acme Corp\"\xbaH\x05r\x03\x18\xc8\x01H\x01R\x18organizationExternalName\x88\x01\x01\x12\xad\x01\n\x0clogin_failed\x18\x12 \x01(\x08\x42\x89\x01\x92\x41\x85\x01\x32|Indicates the upstream login attempt failed. When true, the login request should be treated as failed rather than completed.J\x05\x66\x61lseR\x0bloginFailed:\xac\x01\xbaH\xa8\x01\x1a\xa5\x01\n+user.sub_email_required_unless_login_failed\x12;sub and email must be non-empty unless login_failed is true\x1a\x39this.login_failed || (this.sub != \'\' && this.email != \'\')B\x1b\n\x19_organization_external_idB\x1d\n\x1b_organization_external_name\"\xb1\x02\n\x14GetAuthStateResponse\x12:\n\nauth_state\x18\x01 \x01(\x0e\x32\x1b.scalekit.v1.auth.AuthStateR\tauthState\x12\x31\n\x04user\x18\x02 \x01(\x0b\x32\x1d.scalekit.v1.auth.UserDetailsR\x04user\x12\xa9\x01\n\nlogin_hint\x18\x03 \x01(\tB\x89\x01\x92\x41\x85\x01\x32oLogin hint from the original authorize request. Typically an email address used to pre-fill the login UI input.J\x12\"user@example.com\"R\tloginHint\"\x8c\x01\n\x13GetAuthErrorRequest\x12u\n\x08\x65rror_id\x18\x01 \x01(\tBZ\x92\x41H2.Unique identifier for the authentication errorJ\x16\"err_1234567890abcdef\"\xbaH\x0cr\n\x10\x01\x18@:\x04\x65rr_R\x07\x65rrorId\"Y\n\x14GetAuthErrorResponse\x12\x14\n\x05\x65rror\x18\x01 \x01(\tR\x05\x65rror\x12+\n\x11\x65rror_description\x18\x02 \x01(\tR\x10\x65rrorDescription*:\n\x06Intent\x12\x16\n\x12INTENT_UNSPECIFIED\x10\x00\x12\x0b\n\x07sign_in\x10\x01\x12\x0b\n\x07sign_up\x10\x02*\xb4\x04\n\tAuthState\x12\x1a\n\x16\x41UTH_STATE_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x41UTHENTICATION_IN_PROGRESS\x10\x01\x12\x19\n\x15ORGANIZATION_SWITCHER\x10\x02\x12\x19\n\x15ORGANIZATION_SELECTED\x10\x03\x12\x17\n\x13ORGANIZATION_SIGNUP\x10\x04\x12 \n\x1cORGANIZATION_SWITCHER_SIGNUP\x10\x05\x12\x1c\n\x18OTP_VERIFICATION_PENDING\x10\x06\x12\x13\n\x0fMAGIC_LINK_SENT\x10\x07\x12&\n\"LINK_SENT_OTP_VERIFICATION_PENDING\x10\x08\x12\x10\n\x0cOTP_VERIFIED\x10\t\x12\x11\n\rLINK_VERIFIED\x10\n\x12\x15\n\x11SSO_AUTHENTICATED\x10\x0b\x12\x14\n\x10ORG_USER_CREATED\x10\x0c\x12\x1c\n\x18\x41UTHENTICATION_COMPLETED\x10\r\x12\x19\n\x15\x41UTHENTICATION_FAILED\x10\x0e\x12\x15\n\x11WEBAUTHN_VERIFIED\x10\x0f\x12 \n\x1cVERIFICATION_MAGIC_LINK_SENT\x10\x10\x12$\n VERIFICATION_MAGIC_LINK_OTP_SENT\x10\x11\x12\x19\n\x15VERIFICATION_OTP_SENT\x10\x12\x12\x1a\n\x16VERIFICATION_COMPLETED\x10\x13\x32\xc5\x11\n\x0b\x41uthService\x12\x98\x01\n\x0fListAuthMethods\x12(.scalekit.v1.auth.ListAuthMethodsRequest\x1a).scalekit.v1.auth.ListAuthMethodsResponse\"0\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/authmethods\x12\xba\x01\n\x13\x44iscoveryAuthMethod\x12,.scalekit.v1.auth.DiscoveryAuthMethodRequest\x1a-.scalekit.v1.auth.DiscoveryAuthMethodResponse\"F\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\"\x16/api/v1/auth:discovery:\x11\x64iscovery_request\x12\xc0\x01\n\x15VerifyPasswordLessOtp\x12..scalekit.v1.auth.VerifyPasswordLessOtpRequest\x1a/.scalekit.v1.auth.VerifyPasswordLessOtpResponse\"F\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\" /api/v1/auth/passwordless:verify:\x07otp_req\x12\x83\x01\n\x12ResendPasswordless\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"=\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\"\" /api/v1/auth/passwordless:resend\x12\x99\x01\n\x15ListUserOrganizations\x12\x16.google.protobuf.Empty\x1a/.scalekit.v1.auth.ListUserOrganizationsResponse\"7\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/v1/auth:organizations\x12\xa4\x01\n\x12SignupOrganization\x12+.scalekit.v1.auth.SignupOrganizationRequest\x1a,.scalekit.v1.auth.SignupOrganizationResponse\"3\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x18\"\x13/api/v1/auth:signup:\x01*\x12\x7f\n\x0cGetAuthState\x12\x16.google.protobuf.Empty\x1a&.scalekit.v1.auth.GetAuthStateResponse\"/\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/auth/state\x12\xb6\x01\n\x0cGetAuthError\x12%.scalekit.v1.auth.GetAuthErrorRequest\x1a&.scalekit.v1.auth.GetAuthErrorResponse\"W\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02<\x12\x19/api/v1/errors/{error_id}Z\x1f\x12\x1d/api/v1/auth/error/{error_id}\x12j\n\x06Logout\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty\"0\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x15\"\x13/api/v1/auth/logout\x12\xb2\x01\n\x15GetAuthCustomizations\x12..scalekit.v1.auth.GetAuthCustomizationsRequest\x1a/.scalekit.v1.auth.GetAuthCustomizationsResponse\"8\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/auth:customizations\x12\x88\x01\n\x0fGetAuthFeatures\x12\x16.google.protobuf.Empty\x1a).scalekit.v1.auth.GetAuthFeaturesResponse\"2\x82\xb5\x18\x02\x18\x01\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v1/auth:features\x12\xeb\x03\n\x16UpdateLoginUserDetails\x12/.scalekit.v1.auth.UpdateLoginUserDetailsRequest\x1a\x30.scalekit.v1.auth.UpdateLoginUserDetailsResponse\"\xed\x02\x92\x41\xfd\x01\n\x0b\x43onnections\x12%Update User Details for login request\x1a%Update User Details for login requestJ\x9f\x01\n\x03\x32\x30\x30\x12\x97\x01\n_User details submitted successfully; returns the auth request ID for the authentication journey\x12\x34\n2\x1a\x30.scalekit.v1.auth.UpdateLoginUserDetailsResponse\x82\xb5\x18\x02\x18\x04\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02Q\"I/api/v1/connections/{connection_id}/auth-requests/{login_request_id}/user:\x04userB0Z.github.com/scalekit-inc/scalekit/pkg/grpc/authb\x06proto3')
|
|
29
29
|
|
|
30
30
|
_globals = globals()
|
|
31
31
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -69,10 +69,12 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
69
69
|
_globals['_UPDATELOGINUSERDETAILSREQUEST'].fields_by_name['connection_id']._serialized_options = b'\222AE2+Connection ID. Unique ID for the connectionJ\026\"conn_121312434123312\"\272H\006r\004\020\001\030 '
|
|
70
70
|
_globals['_UPDATELOGINUSERDETAILSREQUEST'].fields_by_name['login_request_id']._loaded_options = None
|
|
71
71
|
_globals['_UPDATELOGINUSERDETAILSREQUEST'].fields_by_name['login_request_id']._serialized_options = b'\222A]2BLogin Request ID that was shared as part of authorization initiateJ\027\"lri_73415099636808061\"\272H\003\310\001\001'
|
|
72
|
+
_globals['_UPDATELOGINUSERDETAILSRESPONSE'].fields_by_name['auth_request_id']._loaded_options = None
|
|
73
|
+
_globals['_UPDATELOGINUSERDETAILSRESPONSE'].fields_by_name['auth_request_id']._serialized_options = b'\222A\202\0012gThe auth request ID which can be used to look up the authentication journey of the user using auth logsJ\027\"req_73415099636808061\"'
|
|
72
74
|
_globals['_USER'].fields_by_name['sub']._loaded_options = None
|
|
73
|
-
_globals['_USER'].fields_by_name['sub']._serialized_options = b'\
|
|
75
|
+
_globals['_USER'].fields_by_name['sub']._serialized_options = b'\222A\216\0012~Subject identifier for the user (typically a unique user ID from the identity provider). Required unless login_failed is true.J\014\"1234567890\"'
|
|
74
76
|
_globals['_USER'].fields_by_name['email']._loaded_options = None
|
|
75
|
-
_globals['_USER'].fields_by_name['email']._serialized_options = b'\
|
|
77
|
+
_globals['_USER'].fields_by_name['email']._serialized_options = b'\222AY2CUser\'s primary email address. Required unless login_failed is true.J\022\"user@example.com\"'
|
|
76
78
|
_globals['_USER'].fields_by_name['given_name']._loaded_options = None
|
|
77
79
|
_globals['_USER'].fields_by_name['given_name']._serialized_options = b'\222A\0332\021User\'s first nameJ\006\"John\"'
|
|
78
80
|
_globals['_USER'].fields_by_name['family_name']._loaded_options = None
|
|
@@ -103,6 +105,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
103
105
|
_globals['_USER'].fields_by_name['roles']._serialized_options = b'\222A:2#List of roles assigned to the user.J\023[\"admin\", \"editor\"]'
|
|
104
106
|
_globals['_USER'].fields_by_name['organization_external_name']._loaded_options = None
|
|
105
107
|
_globals['_USER'].fields_by_name['organization_external_name']._serialized_options = b'\222Ao2`Name of the organization the user is authenticating into. Used to display on the consent screen.J\013\"Acme Corp\"\272H\005r\003\030\310\001'
|
|
108
|
+
_globals['_USER'].fields_by_name['login_failed']._loaded_options = None
|
|
109
|
+
_globals['_USER'].fields_by_name['login_failed']._serialized_options = b'\222A\205\0012|Indicates the upstream login attempt failed. When true, the login request should be treated as failed rather than completed.J\005false'
|
|
110
|
+
_globals['_USER']._loaded_options = None
|
|
111
|
+
_globals['_USER']._serialized_options = b'\272H\250\001\032\245\001\n+user.sub_email_required_unless_login_failed\022;sub and email must be non-empty unless login_failed is true\0329this.login_failed || (this.sub != \'\' && this.email != \'\')'
|
|
106
112
|
_globals['_GETAUTHSTATERESPONSE'].fields_by_name['login_hint']._loaded_options = None
|
|
107
113
|
_globals['_GETAUTHSTATERESPONSE'].fields_by_name['login_hint']._serialized_options = b'\222A\205\0012oLogin hint from the original authorize request. Typically an email address used to pre-fill the login UI input.J\022\"user@example.com\"'
|
|
108
114
|
_globals['_GETAUTHERRORREQUEST'].fields_by_name['error_id']._loaded_options = None
|
|
@@ -130,11 +136,11 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
130
136
|
_globals['_AUTHSERVICE'].methods_by_name['GetAuthFeatures']._loaded_options = None
|
|
131
137
|
_globals['_AUTHSERVICE'].methods_by_name['GetAuthFeatures']._serialized_options = b'\202\265\030\002\030\001\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002\027\022\025/api/v1/auth:features'
|
|
132
138
|
_globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._loaded_options = None
|
|
133
|
-
_globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._serialized_options = b'\
|
|
134
|
-
_globals['_INTENT']._serialized_start=
|
|
135
|
-
_globals['_INTENT']._serialized_end=
|
|
136
|
-
_globals['_AUTHSTATE']._serialized_start=
|
|
137
|
-
_globals['_AUTHSTATE']._serialized_end=
|
|
139
|
+
_globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._serialized_options = b'\222A\375\001\n\013Connections\022%Update User Details for login request\032%Update User Details for login requestJ\237\001\n\003200\022\227\001\n_User details submitted successfully; returns the auth request ID for the authentication journey\0224\n2\0320.scalekit.v1.auth.UpdateLoginUserDetailsResponse\202\265\030\002\030\004\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002Q\"I/api/v1/connections/{connection_id}/auth-requests/{login_request_id}/user:\004user'
|
|
140
|
+
_globals['_INTENT']._serialized_start=8156
|
|
141
|
+
_globals['_INTENT']._serialized_end=8214
|
|
142
|
+
_globals['_AUTHSTATE']._serialized_start=8217
|
|
143
|
+
_globals['_AUTHSTATE']._serialized_end=8781
|
|
138
144
|
_globals['_LISTAUTHMETHODSREQUEST']._serialized_start=423
|
|
139
145
|
_globals['_LISTAUTHMETHODSREQUEST']._serialized_end=471
|
|
140
146
|
_globals['_LISTAUTHMETHODSRESPONSE']._serialized_start=473
|
|
@@ -173,14 +179,16 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
173
179
|
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_end=4565
|
|
174
180
|
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=4568
|
|
175
181
|
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=4910
|
|
176
|
-
_globals['
|
|
177
|
-
_globals['
|
|
178
|
-
_globals['
|
|
179
|
-
_globals['
|
|
180
|
-
_globals['
|
|
181
|
-
_globals['
|
|
182
|
-
_globals['
|
|
183
|
-
_globals['
|
|
184
|
-
_globals['
|
|
185
|
-
_globals['
|
|
182
|
+
_globals['_UPDATELOGINUSERDETAILSRESPONSE']._serialized_start=4913
|
|
183
|
+
_globals['_UPDATELOGINUSERDETAILSRESPONSE']._serialized_end=5123
|
|
184
|
+
_globals['_USER']._serialized_start=5126
|
|
185
|
+
_globals['_USER']._serialized_end=7612
|
|
186
|
+
_globals['_GETAUTHSTATERESPONSE']._serialized_start=7615
|
|
187
|
+
_globals['_GETAUTHSTATERESPONSE']._serialized_end=7920
|
|
188
|
+
_globals['_GETAUTHERRORREQUEST']._serialized_start=7923
|
|
189
|
+
_globals['_GETAUTHERRORREQUEST']._serialized_end=8063
|
|
190
|
+
_globals['_GETAUTHERRORRESPONSE']._serialized_start=8065
|
|
191
|
+
_globals['_GETAUTHERRORRESPONSE']._serialized_end=8154
|
|
192
|
+
_globals['_AUTHSERVICE']._serialized_start=8784
|
|
193
|
+
_globals['_AUTHSERVICE']._serialized_end=11029
|
|
186
194
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -239,8 +239,14 @@ class UpdateLoginUserDetailsRequest(_message.Message):
|
|
|
239
239
|
user: User
|
|
240
240
|
def __init__(self, connection_id: _Optional[str] = ..., login_request_id: _Optional[str] = ..., user: _Optional[_Union[User, _Mapping]] = ...) -> None: ...
|
|
241
241
|
|
|
242
|
+
class UpdateLoginUserDetailsResponse(_message.Message):
|
|
243
|
+
__slots__ = ("auth_request_id",)
|
|
244
|
+
AUTH_REQUEST_ID_FIELD_NUMBER: _ClassVar[int]
|
|
245
|
+
auth_request_id: str
|
|
246
|
+
def __init__(self, auth_request_id: _Optional[str] = ...) -> None: ...
|
|
247
|
+
|
|
242
248
|
class User(_message.Message):
|
|
243
|
-
__slots__ = ("sub", "email", "given_name", "family_name", "email_verified", "phone_number", "phone_number_verified", "name", "preferred_username", "picture", "gender", "locale", "groups", "custom_attributes", "organization_external_id", "roles", "organization_external_name")
|
|
249
|
+
__slots__ = ("sub", "email", "given_name", "family_name", "email_verified", "phone_number", "phone_number_verified", "name", "preferred_username", "picture", "gender", "locale", "groups", "custom_attributes", "organization_external_id", "roles", "organization_external_name", "login_failed")
|
|
244
250
|
SUB_FIELD_NUMBER: _ClassVar[int]
|
|
245
251
|
EMAIL_FIELD_NUMBER: _ClassVar[int]
|
|
246
252
|
GIVEN_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -258,6 +264,7 @@ class User(_message.Message):
|
|
|
258
264
|
ORGANIZATION_EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
|
|
259
265
|
ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
260
266
|
ORGANIZATION_EXTERNAL_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
267
|
+
LOGIN_FAILED_FIELD_NUMBER: _ClassVar[int]
|
|
261
268
|
sub: str
|
|
262
269
|
email: str
|
|
263
270
|
given_name: str
|
|
@@ -275,7 +282,8 @@ class User(_message.Message):
|
|
|
275
282
|
organization_external_id: str
|
|
276
283
|
roles: _containers.RepeatedScalarFieldContainer[str]
|
|
277
284
|
organization_external_name: str
|
|
278
|
-
|
|
285
|
+
login_failed: bool
|
|
286
|
+
def __init__(self, sub: _Optional[str] = ..., email: _Optional[str] = ..., given_name: _Optional[str] = ..., family_name: _Optional[str] = ..., email_verified: bool = ..., phone_number: _Optional[str] = ..., phone_number_verified: bool = ..., name: _Optional[str] = ..., preferred_username: _Optional[str] = ..., picture: _Optional[str] = ..., gender: _Optional[str] = ..., locale: _Optional[str] = ..., groups: _Optional[_Iterable[str]] = ..., custom_attributes: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., organization_external_id: _Optional[str] = ..., roles: _Optional[_Iterable[str]] = ..., organization_external_name: _Optional[str] = ..., login_failed: bool = ...) -> None: ...
|
|
279
287
|
|
|
280
288
|
class GetAuthStateResponse(_message.Message):
|
|
281
289
|
__slots__ = ("auth_state", "user", "login_hint")
|
|
@@ -73,7 +73,7 @@ class AuthServiceStub(object):
|
|
|
73
73
|
self.UpdateLoginUserDetails = channel.unary_unary(
|
|
74
74
|
'/scalekit.v1.auth.AuthService/UpdateLoginUserDetails',
|
|
75
75
|
request_serializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.UpdateLoginUserDetailsRequest.SerializeToString,
|
|
76
|
-
response_deserializer=
|
|
76
|
+
response_deserializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.UpdateLoginUserDetailsResponse.FromString,
|
|
77
77
|
)
|
|
78
78
|
|
|
79
79
|
|
|
@@ -213,7 +213,7 @@ def add_AuthServiceServicer_to_server(servicer, server):
|
|
|
213
213
|
'UpdateLoginUserDetails': grpc.unary_unary_rpc_method_handler(
|
|
214
214
|
servicer.UpdateLoginUserDetails,
|
|
215
215
|
request_deserializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.UpdateLoginUserDetailsRequest.FromString,
|
|
216
|
-
response_serializer=
|
|
216
|
+
response_serializer=scalekit_dot_v1_dot_auth_dot_auth__pb2.UpdateLoginUserDetailsResponse.SerializeToString,
|
|
217
217
|
),
|
|
218
218
|
}
|
|
219
219
|
generic_handler = grpc.method_handlers_generic_handler(
|
|
@@ -425,6 +425,6 @@ class AuthService(object):
|
|
|
425
425
|
metadata=None):
|
|
426
426
|
return grpc.experimental.unary_unary(request, target, '/scalekit.v1.auth.AuthService/UpdateLoginUserDetails',
|
|
427
427
|
scalekit_dot_v1_dot_auth_dot_auth__pb2.UpdateLoginUserDetailsRequest.SerializeToString,
|
|
428
|
-
|
|
428
|
+
scalekit_dot_v1_dot_auth_dot_auth__pb2.UpdateLoginUserDetailsResponse.FromString,
|
|
429
429
|
options, channel_credentials,
|
|
430
430
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|