scalekit-sdk-python 2.7.3__tar.gz → 2.8.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.7.3 → scalekit_sdk_python-2.8.0}/PKG-INFO +1 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/_version.py +1 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/actions.py +19 -8
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/core.py +1 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/tools.py +8 -4
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/auth_pb2.py +18 -14
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/auth_pb2.pyi +8 -4
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/totp_pb2.py +31 -30
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/totp_pb2.pyi +1 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/clients/clients_pb2.py +81 -89
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/clients/clients_pb2.pyi +4 -12
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.py +4 -4
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +2 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/connections/connections_pb2.py +88 -86
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/connections/connections_pb2.pyi +6 -2
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/domains/domains_pb2.py +14 -12
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/domains/domains_pb2.pyi +4 -2
- scalekit_sdk_python-2.8.0/scalekit/v1/emails/emails_pb2.py +314 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/emails/emails_pb2.pyi +1 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/environments/environments_pb2.py +103 -97
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/environments/environments_pb2.pyi +20 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/environments/environments_pb2_grpc.py +36 -0
- scalekit_sdk_python-2.8.0/scalekit/v1/errdetails/errdetails_pb2.py +53 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/errdetails/errdetails_pb2.pyi +3 -0
- scalekit_sdk_python-2.8.0/scalekit/v1/errdetails/errdetails_pb2_grpc.py +67 -0
- scalekit_sdk_python-2.8.0/scalekit/v1/members/members_pb2.py +115 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/members/members_pb2.pyi +1 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/organizations/organizations_pb2.py +86 -80
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/organizations/organizations_pb2.pyi +12 -6
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/providers/providers_pb2.py +38 -36
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/providers/providers_pb2.pyi +4 -2
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/roles/roles_pb2.py +3 -3
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/tools/tools_pb2.py +38 -30
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/tools/tools_pb2.pyi +10 -2
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/users/users_pb2.py +78 -78
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/workspaces/workspaces_pb2.py +4 -4
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit_sdk_python.egg-info/PKG-INFO +1 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_actions.py +17 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_tools.py +61 -1
- scalekit_sdk_python-2.7.3/scalekit/v1/emails/emails_pb2.py +0 -313
- scalekit_sdk_python-2.7.3/scalekit/v1/errdetails/errdetails_pb2.py +0 -46
- scalekit_sdk_python-2.7.3/scalekit/v1/errdetails/errdetails_pb2_grpc.py +0 -4
- scalekit_sdk_python-2.7.3/scalekit/v1/members/members_pb2.py +0 -114
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/LICENSE +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/README.md +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/expression_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/expression_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/expression_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/priv/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/priv/private_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/priv/private_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/priv/private_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/validate_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/validate_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/buf/validate/validate_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/pyproject.toml +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/frameworks/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/frameworks/google_adk.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/frameworks/langchain.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/frameworks/types/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/frameworks/types/google_adk_tool.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/frameworks/util.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/mcp_config.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/mcp_instance.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/requests/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/requests/create_connected_account_request.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/requests/mcp_request.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/requests/tool_request.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/requests/update_connected_account_request.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/create_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/create_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/create_mcp_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/delete_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/delete_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/delete_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/ensure_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/execute_tool_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/get_connected_account_auth_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/get_mcp_instance_auth_state_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/get_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/get_mcp_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/list_connected_accounts_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/list_mcp_configs_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/list_mcp_instances_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/magic_link_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/update_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/update_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/update_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/responses/verify_connected_account_user_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/tool_input_output.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/models/tool_mapping.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/modifier.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/actions/types.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/auth.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/client.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/common/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/common/exceptions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/common/scalekit.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/common/user.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/connected_accounts.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/connection.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/constants/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/constants/user.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/directory.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/domain.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/m2m_client.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/mcp.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/organization.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/passwordless.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/permissions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/role.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/sessions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/token.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/users.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/utils/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/utils/directory.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auditlogs/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auditlogs/auditlogs_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/auth_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/passwordless_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/totp_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/webauthn_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/webauthn_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/auth/webauthn_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/clients/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/clients/clients_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/commons/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/commons/commons_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/commons/commons_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/connected_accounts/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/connections/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/connections/connections_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/directories/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/directories/directories_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/directories/directories_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/domains/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/emails/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/environments/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/errdetails/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/events/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/events/events_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/events/events_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/events/events_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/interceptors/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/interceptors/interceptors_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/interceptors/interceptors_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/interceptors/interceptors_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/keys/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/keys/keys_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/keys/keys_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/keys/keys_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/mcp/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/mcp/mcp_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/mcp/mcp_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/mcp/mcp_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/members/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/members/members_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/migrations/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/migrations/migrations_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/migrations/migrations_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/migrations/migrations_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/options/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/options/options_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/options/options_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/options/options_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/organizations/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/organizations/organizations_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/providers/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/providers/providers_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/roles/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/roles/roles_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/secrets/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/secrets/secrets_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/secrets/secrets_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/secrets/secrets_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/sessions/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/sessions/sessions_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/sessions/sessions_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/sessions/sessions_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/tokens/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/tokens/tokens_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/tokens/tokens_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/tokens/tokens_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/tools/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/tools/tools_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/user_attributes/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/users/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/users/users_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/users/users_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/webhooks/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/workspaces/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/workspaces/workspaces_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit/webauthn.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit_sdk_python.egg-info/SOURCES.txt +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit_sdk_python.egg-info/requires.txt +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/setup.cfg +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/setup.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_connected_accounts.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_connection.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_directory.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_domain.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_m2m_client.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_mcp.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_org_roles.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_organization.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_passwordless.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_permissions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_role_defaults_dependent.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_roles.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_sessions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_tokens.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_user_roles_permissions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_users.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.8.0}/tests/test_webauthn_credentials.py +0 -0
|
@@ -94,35 +94,46 @@ class ActionClient:
|
|
|
94
94
|
identifier: Optional[str] = None,
|
|
95
95
|
tool_request: Optional[ToolRequest] = None,
|
|
96
96
|
connected_account_id: Optional[str] = None,
|
|
97
|
+
connection_name: Optional[str] = None,
|
|
97
98
|
**kwargs
|
|
98
99
|
) -> ExecuteToolResponse:
|
|
99
100
|
"""
|
|
100
101
|
Execute a tool with the given parameters.
|
|
101
|
-
|
|
102
|
+
|
|
102
103
|
Args:
|
|
103
104
|
tool_input: Input data for the tool execution (required)
|
|
104
105
|
tool_name: Name of the tool to execute (required)
|
|
105
|
-
identifier: Unique identifier for this execution (required)
|
|
106
|
-
tool_request: Optional ToolRequest configuration object
|
|
107
|
-
connected_account_id: Optional connected account ID string
|
|
108
106
|
**kwargs: Additional optional parameters
|
|
109
|
-
|
|
107
|
+
|
|
108
|
+
Account resolution (one of the following combinations is required):
|
|
109
|
+
connected_account_id: ID of the connected account to use. Provide this
|
|
110
|
+
OR the (identifier + connection_name) pair — not both.
|
|
111
|
+
identifier + connection_name: Resolve the connected account by user
|
|
112
|
+
identifier (e.g. a user ID or email) together with the connection
|
|
113
|
+
name (e.g. 'slack-b1fqL2Dr', 'notion-arffP5Ff').
|
|
114
|
+
|
|
110
115
|
Returns:
|
|
111
116
|
ExecuteToolResponse containing execution results
|
|
117
|
+
|
|
118
|
+
Raises:
|
|
119
|
+
ValueError: If tool_name is not provided, or if neither
|
|
120
|
+
connected_account_id nor the (identifier, connection_name) pair
|
|
121
|
+
is supplied.
|
|
112
122
|
"""
|
|
113
123
|
# Validate required parameters
|
|
114
124
|
if not tool_name:
|
|
115
125
|
raise ValueError("tool_name is required")
|
|
116
|
-
|
|
126
|
+
|
|
117
127
|
# Apply pre-modifications to the input parameters
|
|
118
128
|
modified_tool_input = apply_pre_modifiers(tool_name, tool_input, self._modifiers)
|
|
119
|
-
|
|
129
|
+
|
|
120
130
|
# Call the existing tools.execute_tool which returns (response, metadata) tuple
|
|
121
131
|
result_tuple = self.tools.execute_tool(
|
|
122
132
|
tool_name=tool_name,
|
|
123
133
|
identifier=identifier,
|
|
124
134
|
params=modified_tool_input,
|
|
125
|
-
connected_account_id=connected_account_id
|
|
135
|
+
connected_account_id=connected_account_id,
|
|
136
|
+
connection_name=connection_name
|
|
126
137
|
)
|
|
127
138
|
|
|
128
139
|
# Extract the response[0] (the actual ExecuteToolResponse proto object)
|
|
@@ -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 = "20260421"
|
|
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):
|
|
@@ -94,7 +94,8 @@ class ToolsClient:
|
|
|
94
94
|
tool_name: str,
|
|
95
95
|
identifier: str,
|
|
96
96
|
params: Optional[dict] = None,
|
|
97
|
-
connected_account_id: Optional[str] = None
|
|
97
|
+
connected_account_id: Optional[str] = None,
|
|
98
|
+
connection_name: Optional[str] = None
|
|
98
99
|
) -> ExecuteToolResponse:
|
|
99
100
|
"""
|
|
100
101
|
Method to execute a tool using a connected account
|
|
@@ -107,23 +108,26 @@ class ToolsClient:
|
|
|
107
108
|
:type : ``` dict ```
|
|
108
109
|
:param connected_account_id : ID of the connected account to use for tool execution
|
|
109
110
|
:type : ``` str ```
|
|
111
|
+
:param connection_name : Name of the connector/provider (e.g., 'Google Workspace', 'Slack')
|
|
112
|
+
:type : ``` str ```
|
|
110
113
|
|
|
111
114
|
:returns:
|
|
112
115
|
Execute Tool Response
|
|
113
116
|
"""
|
|
114
117
|
from google.protobuf import struct_pb2
|
|
115
|
-
|
|
118
|
+
|
|
116
119
|
params_struct = None
|
|
117
120
|
if params:
|
|
118
121
|
params_struct = struct_pb2.Struct()
|
|
119
122
|
params_struct.update(params)
|
|
120
|
-
|
|
123
|
+
|
|
121
124
|
return self.core_client.grpc_exec(
|
|
122
125
|
self.tool_service.ExecuteTool.with_call,
|
|
123
126
|
ExecuteToolRequest(
|
|
124
127
|
tool_name=tool_name,
|
|
125
128
|
identifier=identifier,
|
|
126
129
|
params=params_struct,
|
|
127
|
-
connected_account_id=connected_account_id
|
|
130
|
+
connected_account_id=connected_account_id,
|
|
131
|
+
connector=connection_name
|
|
128
132
|
),
|
|
129
133
|
)
|
|
@@ -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\"\xab\x01\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\"\xb2\x01\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\"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\"\x8b\x04\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\x42\x1b\n\x19_invitation_inviter_emailB\x19\n\x17_invitation_accepted_atB\x18\n\x16_invitation_created_atB\x18\n\x16_invitation_expires_at\"_\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\"\xe1\r\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\x42\x1b\n\x19_organization_external_id\"\x85\x01\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\"\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\"\xab\x01\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\"\xb2\x01\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\"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\"\x8b\x04\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\x42\x1b\n\x19_invitation_inviter_emailB\x19\n\x17_invitation_accepted_atB\x18\n\x16_invitation_created_atB\x18\n\x16_invitation_expires_at\"_\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\"\xb6\x0e\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\x05rolesB\x1b\n\x19_organization_external_id\"\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')
|
|
29
29
|
|
|
30
30
|
_globals = globals()
|
|
31
31
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -93,6 +93,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
93
93
|
_globals['_USER'].fields_by_name['custom_attributes']._serialized_options = b'\222A\247\0012mCustom attributes for the user, represented as a key-value map. Used for additional identity provider claims.J6{\"department\": \"Engineering\", \"employee_id\": \"E12345\"}'
|
|
94
94
|
_globals['_USER'].fields_by_name['organization_external_id']._loaded_options = None
|
|
95
95
|
_globals['_USER'].fields_by_name['organization_external_id']._serialized_options = b'\222Ao2EIdentifier for the user\342\200\231s organization within the identity providerJ&\"132d085d-d89d-4a2e-95bb-49bde680d14f\"'
|
|
96
|
+
_globals['_USER'].fields_by_name['roles']._loaded_options = None
|
|
97
|
+
_globals['_USER'].fields_by_name['roles']._serialized_options = b'\222A:2#List of roles assigned to the user.J\023[\"admin\", \"editor\"]'
|
|
98
|
+
_globals['_GETAUTHSTATERESPONSE'].fields_by_name['login_hint']._loaded_options = None
|
|
99
|
+
_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\"'
|
|
96
100
|
_globals['_GETAUTHERRORREQUEST'].fields_by_name['error_id']._loaded_options = None
|
|
97
101
|
_globals['_GETAUTHERRORREQUEST'].fields_by_name['error_id']._serialized_options = b'\222AH2.Unique identifier for the authentication errorJ\026\"err_1234567890abcdef\"\272H\014r\n\020\001\030@:\004err_'
|
|
98
102
|
_globals['_AUTHSERVICE'].methods_by_name['ListAuthMethods']._loaded_options = None
|
|
@@ -119,10 +123,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
119
123
|
_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'
|
|
120
124
|
_globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._loaded_options = None
|
|
121
125
|
_globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._serialized_options = b'\222Az\n\013Connections\022%Update User Details for login request\032%Update User Details for login requestJ\035\n\003200\022\026\n\024Deleted Successfully\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'
|
|
122
|
-
_globals['_INTENT']._serialized_start=
|
|
123
|
-
_globals['_INTENT']._serialized_end=
|
|
124
|
-
_globals['_AUTHSTATE']._serialized_start=
|
|
125
|
-
_globals['_AUTHSTATE']._serialized_end=
|
|
126
|
+
_globals['_INTENT']._serialized_start=6699
|
|
127
|
+
_globals['_INTENT']._serialized_end=6757
|
|
128
|
+
_globals['_AUTHSTATE']._serialized_start=6760
|
|
129
|
+
_globals['_AUTHSTATE']._serialized_end=7324
|
|
126
130
|
_globals['_LISTAUTHMETHODSREQUEST']._serialized_start=423
|
|
127
131
|
_globals['_LISTAUTHMETHODSREQUEST']._serialized_end=471
|
|
128
132
|
_globals['_LISTAUTHMETHODSRESPONSE']._serialized_start=473
|
|
@@ -162,13 +166,13 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
162
166
|
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=3964
|
|
163
167
|
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=4306
|
|
164
168
|
_globals['_USER']._serialized_start=4309
|
|
165
|
-
_globals['_USER']._serialized_end=
|
|
166
|
-
_globals['_GETAUTHSTATERESPONSE']._serialized_start=
|
|
167
|
-
_globals['_GETAUTHSTATERESPONSE']._serialized_end=
|
|
168
|
-
_globals['_GETAUTHERRORREQUEST']._serialized_start=
|
|
169
|
-
_globals['_GETAUTHERRORREQUEST']._serialized_end=
|
|
170
|
-
_globals['_GETAUTHERRORRESPONSE']._serialized_start=
|
|
171
|
-
_globals['_GETAUTHERRORRESPONSE']._serialized_end=
|
|
172
|
-
_globals['_AUTHSERVICE']._serialized_start=
|
|
173
|
-
_globals['_AUTHSERVICE']._serialized_end=
|
|
169
|
+
_globals['_USER']._serialized_end=6155
|
|
170
|
+
_globals['_GETAUTHSTATERESPONSE']._serialized_start=6158
|
|
171
|
+
_globals['_GETAUTHSTATERESPONSE']._serialized_end=6463
|
|
172
|
+
_globals['_GETAUTHERRORREQUEST']._serialized_start=6466
|
|
173
|
+
_globals['_GETAUTHERRORREQUEST']._serialized_end=6606
|
|
174
|
+
_globals['_GETAUTHERRORRESPONSE']._serialized_start=6608
|
|
175
|
+
_globals['_GETAUTHERRORRESPONSE']._serialized_end=6697
|
|
176
|
+
_globals['_AUTHSERVICE']._serialized_start=7327
|
|
177
|
+
_globals['_AUTHSERVICE']._serialized_end=9414
|
|
174
178
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -234,7 +234,7 @@ class UpdateLoginUserDetailsRequest(_message.Message):
|
|
|
234
234
|
def __init__(self, connection_id: _Optional[str] = ..., login_request_id: _Optional[str] = ..., user: _Optional[_Union[User, _Mapping]] = ...) -> None: ...
|
|
235
235
|
|
|
236
236
|
class User(_message.Message):
|
|
237
|
-
__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")
|
|
237
|
+
__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")
|
|
238
238
|
SUB_FIELD_NUMBER: _ClassVar[int]
|
|
239
239
|
EMAIL_FIELD_NUMBER: _ClassVar[int]
|
|
240
240
|
GIVEN_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -250,6 +250,7 @@ class User(_message.Message):
|
|
|
250
250
|
GROUPS_FIELD_NUMBER: _ClassVar[int]
|
|
251
251
|
CUSTOM_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int]
|
|
252
252
|
ORGANIZATION_EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
|
|
253
|
+
ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
253
254
|
sub: str
|
|
254
255
|
email: str
|
|
255
256
|
given_name: str
|
|
@@ -265,15 +266,18 @@ class User(_message.Message):
|
|
|
265
266
|
groups: _containers.RepeatedScalarFieldContainer[str]
|
|
266
267
|
custom_attributes: _struct_pb2.Struct
|
|
267
268
|
organization_external_id: str
|
|
268
|
-
|
|
269
|
+
roles: _containers.RepeatedScalarFieldContainer[str]
|
|
270
|
+
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]] = ...) -> None: ...
|
|
269
271
|
|
|
270
272
|
class GetAuthStateResponse(_message.Message):
|
|
271
|
-
__slots__ = ("auth_state", "user")
|
|
273
|
+
__slots__ = ("auth_state", "user", "login_hint")
|
|
272
274
|
AUTH_STATE_FIELD_NUMBER: _ClassVar[int]
|
|
273
275
|
USER_FIELD_NUMBER: _ClassVar[int]
|
|
276
|
+
LOGIN_HINT_FIELD_NUMBER: _ClassVar[int]
|
|
274
277
|
auth_state: AuthState
|
|
275
278
|
user: UserDetails
|
|
276
|
-
|
|
279
|
+
login_hint: str
|
|
280
|
+
def __init__(self, auth_state: _Optional[_Union[AuthState, str]] = ..., user: _Optional[_Union[UserDetails, _Mapping]] = ..., login_hint: _Optional[str] = ...) -> None: ...
|
|
277
281
|
|
|
278
282
|
class GetAuthErrorRequest(_message.Message):
|
|
279
283
|
__slots__ = ("error_id",)
|
|
@@ -15,6 +15,7 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
16
16
|
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
|
17
17
|
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
|
|
18
|
+
from google.api import visibility_pb2 as google_dot_api_dot_visibility__pb2
|
|
18
19
|
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
|
19
20
|
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
|
|
20
21
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
@@ -23,7 +24,7 @@ from scalekit.v1.commons import commons_pb2 as scalekit_dot_v1_dot_commons_dot_c
|
|
|
23
24
|
from scalekit.v1.options import options_pb2 as scalekit_dot_v1_dot_options_dot_options__pb2
|
|
24
25
|
|
|
25
26
|
|
|
26
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bscalekit/v1/auth/totp.proto\x12\x15scalekit.v1.auth.totp\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.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/options/options.proto\"t\n\x17TOTPRegistrationRequest\x12Y\n\x11totp_registration\x18\x01 \x01(\x0b\x32\'.scalekit.v1.auth.totp.TOTPRegistrationB\x03\xbaH\x00R\x10totpRegistration\"u\n\x18TOTPRegistrationResponse\x12Y\n\x11totp_registration\x18\x01 \x01(\x0b\x32\'.scalekit.v1.auth.totp.TOTPRegistrationB\x03\xbaH\x00R\x10totpRegistration\"\x84\x07\n\x10TOTPRegistration\x12{\n\x02id\x18\x01 \x01(\tBk\x92\x41h2MUnique scalekit-generated identifier that uniquely references an organizationJ\x17\"org_59615193906282635\"R\x02id\x12\x8c\x01\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampBO\x92\x41I2+Timestamp when the organization was createdJ\x1a\"2025-02-15T06:23:44.560Z\"\xe0\x41\x02R\ncreateTime\x12\x8e\x01\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampBQ\x92\x41N20Timestamp when the organization was last updatedJ\x1a\"2025-02-15T06:23:44.560Z\"R\nupdateTime\x12y\n\x07user_id\x18\x04 \x01(\tB^\x92\x41L21The user ID associated with the TOTP registrationJ\x17\"usr_59615193906282635\"\xbaH\x0cr\n\x10\x01\x18 :\x04usr_H\x00R\x06userId\x12|\n\x0c\x61\x63\x63ount_name\x18\x05 \x01(\tBW\x92\x41J26The account name associated with the TOTP registrationJ\x10\"me@example.com\"\xbaH\x07r\x05\x10\x01\x18\xe3\x02H\x00R\x0b\x61\x63\x63ountName\x12\xb2\x01\n\x0bqr_code_uri\x18\x06 \x01(\tB\x8c\x01\x92\x41|2+The URI for the QR code used to set up TOTPJM\"otpauth://totp/Scalekit:usr_59615193906282635?secret=ABC123&issuer=Scalekit\"\xe0\x41\x03\xbaH\x07r\x05\x10\x01\x18\x80\x08H\x01R\tqrCodeUri\x88\x01\x01\x42\x15\n\x13UserIdOrAccountNameB\x0e\n\x0c_qr_code_uri\"l\n\x1d\x45nableRegistrationTOTPRequest\x12/\n\x0fregistration_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0eregistrationId\x12\x1a\n\x04\x63ode\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode\"[\n\x1e\x45nableRegistrationTOTPResponse\x12\x16\n\x02id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x02id\x12!\n\x0c\x62\x61\x63kup_codes\x18\x03 \x03(\tR\x0b\x62\x61\x63kupCodes\"m\n\x1e\x44isableRegistrationTOTPRequest\x12/\n\x0fregistration_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0eregistrationId\x12\x1a\n\x04\x63ode\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode\"\x87\x01\n\x15GenerateQRCodeRequest\x12-\n\x0e\x65nvironment_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\renvironmentId\x12&\n\nidentifier\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\nidentifier\x12\x17\n\x07is_user\x18\x03 \x01(\x08R\x06isUser\"1\n\x16GenerateQRCodeResponse\x12\x17\n\x07qr_code\x18\x01 \x01(\tR\x06qrCode\"T\n\x15VerifyUserCodeRequest\x12\x1f\n\x07user_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x06userId\x12\x1a\n\x04\x63ode\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode\"*\n\x12VerifyCodeResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\"l\n\x1dVerifyRegistrationCodeRequest\x12/\n\x0fregistration_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0eregistrationId\x12\x1a\n\x04\x63ode\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode2\
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bscalekit/v1/auth/totp.proto\x12\x15scalekit.v1.auth.totp\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/options/options.proto\"t\n\x17TOTPRegistrationRequest\x12Y\n\x11totp_registration\x18\x01 \x01(\x0b\x32\'.scalekit.v1.auth.totp.TOTPRegistrationB\x03\xbaH\x00R\x10totpRegistration\"u\n\x18TOTPRegistrationResponse\x12Y\n\x11totp_registration\x18\x01 \x01(\x0b\x32\'.scalekit.v1.auth.totp.TOTPRegistrationB\x03\xbaH\x00R\x10totpRegistration\"\x84\x07\n\x10TOTPRegistration\x12{\n\x02id\x18\x01 \x01(\tBk\x92\x41h2MUnique scalekit-generated identifier that uniquely references an organizationJ\x17\"org_59615193906282635\"R\x02id\x12\x8c\x01\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampBO\x92\x41I2+Timestamp when the organization was createdJ\x1a\"2025-02-15T06:23:44.560Z\"\xe0\x41\x02R\ncreateTime\x12\x8e\x01\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampBQ\x92\x41N20Timestamp when the organization was last updatedJ\x1a\"2025-02-15T06:23:44.560Z\"R\nupdateTime\x12y\n\x07user_id\x18\x04 \x01(\tB^\x92\x41L21The user ID associated with the TOTP registrationJ\x17\"usr_59615193906282635\"\xbaH\x0cr\n\x10\x01\x18 :\x04usr_H\x00R\x06userId\x12|\n\x0c\x61\x63\x63ount_name\x18\x05 \x01(\tBW\x92\x41J26The account name associated with the TOTP registrationJ\x10\"me@example.com\"\xbaH\x07r\x05\x10\x01\x18\xe3\x02H\x00R\x0b\x61\x63\x63ountName\x12\xb2\x01\n\x0bqr_code_uri\x18\x06 \x01(\tB\x8c\x01\x92\x41|2+The URI for the QR code used to set up TOTPJM\"otpauth://totp/Scalekit:usr_59615193906282635?secret=ABC123&issuer=Scalekit\"\xe0\x41\x03\xbaH\x07r\x05\x10\x01\x18\x80\x08H\x01R\tqrCodeUri\x88\x01\x01\x42\x15\n\x13UserIdOrAccountNameB\x0e\n\x0c_qr_code_uri\"l\n\x1d\x45nableRegistrationTOTPRequest\x12/\n\x0fregistration_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0eregistrationId\x12\x1a\n\x04\x63ode\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode\"[\n\x1e\x45nableRegistrationTOTPResponse\x12\x16\n\x02id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x02id\x12!\n\x0c\x62\x61\x63kup_codes\x18\x03 \x03(\tR\x0b\x62\x61\x63kupCodes\"m\n\x1e\x44isableRegistrationTOTPRequest\x12/\n\x0fregistration_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0eregistrationId\x12\x1a\n\x04\x63ode\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode\"\x87\x01\n\x15GenerateQRCodeRequest\x12-\n\x0e\x65nvironment_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\renvironmentId\x12&\n\nidentifier\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\nidentifier\x12\x17\n\x07is_user\x18\x03 \x01(\x08R\x06isUser\"1\n\x16GenerateQRCodeResponse\x12\x17\n\x07qr_code\x18\x01 \x01(\tR\x06qrCode\"T\n\x15VerifyUserCodeRequest\x12\x1f\n\x07user_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x06userId\x12\x1a\n\x04\x63ode\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode\"*\n\x12VerifyCodeResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\"l\n\x1dVerifyRegistrationCodeRequest\x12/\n\x0fregistration_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0eregistrationId\x12\x1a\n\x04\x63ode\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04\x63ode2\xa7\x07\n\x0bTOTPService\x12\xba\x01\n\x0cRegisterTOTP\x12..scalekit.v1.auth.totp.TOTPRegistrationRequest\x1a/.scalekit.v1.auth.totp.TOTPRegistrationResponse\"I\x82\xb5\x18\x02\x18\x44\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02.\"\x19/api/v1/totp/registration:\x11totp_registration\x12\xc0\x01\n\nEnableTOTP\x12\x34.scalekit.v1.auth.totp.EnableRegistrationTOTPRequest\x1a\x35.scalekit.v1.auth.totp.EnableRegistrationTOTPResponse\"E\x82\xb5\x18\x02\x18\x44\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02*\"%/api/v1/totp/{registration_id}/enable:\x01*\x12\xad\x01\n\x0eVerifyUserCode\x12,.scalekit.v1.auth.totp.VerifyUserCodeRequest\x1a).scalekit.v1.auth.totp.VerifyCodeResponse\"B\x82\xb5\x18\x02\x18\x44\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02\'\"\"/api/v1/user/{user_id}/totp:verify:\x01*\x12\xc0\x01\n\x16VerifyRegistrationCode\x12\x34.scalekit.v1.auth.totp.VerifyRegistrationCodeRequest\x1a).scalekit.v1.auth.totp.VerifyCodeResponse\"E\x82\xb5\x18\x02\x18\x44\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02*\"%/api/v1/totp/{registration_id}/verify:\x01*\x12\xa4\x01\n\x0b\x44isableTOTP\x12\x35.scalekit.v1.auth.totp.DisableRegistrationTOTPRequest\x1a\x16.google.protobuf.Empty\"F\x82\xb5\x18\x02\x18\x44\xfa\xd2\xe4\x93\x02\t\x12\x07PREVIEW\x82\xd3\xe4\x93\x02+\"&/api/v1/totp/{registration_id}/disable:\x01*B5Z3github.com/scalekit-inc/scalekit/pkg/grpc/auth/totpb\x06proto3')
|
|
27
28
|
|
|
28
29
|
_globals = globals()
|
|
29
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -70,37 +71,37 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
70
71
|
_globals['_VERIFYREGISTRATIONCODEREQUEST'].fields_by_name['code']._loaded_options = None
|
|
71
72
|
_globals['_VERIFYREGISTRATIONCODEREQUEST'].fields_by_name['code']._serialized_options = b'\272H\003\310\001\001'
|
|
72
73
|
_globals['_TOTPSERVICE'].methods_by_name['RegisterTOTP']._loaded_options = None
|
|
73
|
-
_globals['_TOTPSERVICE'].methods_by_name['RegisterTOTP']._serialized_options = b'\202\265\030\002\
|
|
74
|
+
_globals['_TOTPSERVICE'].methods_by_name['RegisterTOTP']._serialized_options = b'\202\265\030\002\030D\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002.\"\031/api/v1/totp/registration:\021totp_registration'
|
|
74
75
|
_globals['_TOTPSERVICE'].methods_by_name['EnableTOTP']._loaded_options = None
|
|
75
|
-
_globals['_TOTPSERVICE'].methods_by_name['EnableTOTP']._serialized_options = b'\202\265\030\002\
|
|
76
|
+
_globals['_TOTPSERVICE'].methods_by_name['EnableTOTP']._serialized_options = b'\202\265\030\002\030D\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002*\"%/api/v1/totp/{registration_id}/enable:\001*'
|
|
76
77
|
_globals['_TOTPSERVICE'].methods_by_name['VerifyUserCode']._loaded_options = None
|
|
77
|
-
_globals['_TOTPSERVICE'].methods_by_name['VerifyUserCode']._serialized_options = b'\202\265\030\002\
|
|
78
|
+
_globals['_TOTPSERVICE'].methods_by_name['VerifyUserCode']._serialized_options = b'\202\265\030\002\030D\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002\'\"\"/api/v1/user/{user_id}/totp:verify:\001*'
|
|
78
79
|
_globals['_TOTPSERVICE'].methods_by_name['VerifyRegistrationCode']._loaded_options = None
|
|
79
|
-
_globals['_TOTPSERVICE'].methods_by_name['VerifyRegistrationCode']._serialized_options = b'\202\265\030\002\
|
|
80
|
+
_globals['_TOTPSERVICE'].methods_by_name['VerifyRegistrationCode']._serialized_options = b'\202\265\030\002\030D\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002*\"%/api/v1/totp/{registration_id}/verify:\001*'
|
|
80
81
|
_globals['_TOTPSERVICE'].methods_by_name['DisableTOTP']._loaded_options = None
|
|
81
|
-
_globals['_TOTPSERVICE'].methods_by_name['DisableTOTP']._serialized_options = b'\202\265\030\002\
|
|
82
|
-
_globals['_TOTPREGISTRATIONREQUEST']._serialized_start=
|
|
83
|
-
_globals['_TOTPREGISTRATIONREQUEST']._serialized_end=
|
|
84
|
-
_globals['_TOTPREGISTRATIONRESPONSE']._serialized_start=
|
|
85
|
-
_globals['_TOTPREGISTRATIONRESPONSE']._serialized_end=
|
|
86
|
-
_globals['_TOTPREGISTRATION']._serialized_start=
|
|
87
|
-
_globals['_TOTPREGISTRATION']._serialized_end=
|
|
88
|
-
_globals['_ENABLEREGISTRATIONTOTPREQUEST']._serialized_start=
|
|
89
|
-
_globals['_ENABLEREGISTRATIONTOTPREQUEST']._serialized_end=
|
|
90
|
-
_globals['_ENABLEREGISTRATIONTOTPRESPONSE']._serialized_start=
|
|
91
|
-
_globals['_ENABLEREGISTRATIONTOTPRESPONSE']._serialized_end=
|
|
92
|
-
_globals['_DISABLEREGISTRATIONTOTPREQUEST']._serialized_start=
|
|
93
|
-
_globals['_DISABLEREGISTRATIONTOTPREQUEST']._serialized_end=
|
|
94
|
-
_globals['_GENERATEQRCODEREQUEST']._serialized_start=
|
|
95
|
-
_globals['_GENERATEQRCODEREQUEST']._serialized_end=
|
|
96
|
-
_globals['_GENERATEQRCODERESPONSE']._serialized_start=
|
|
97
|
-
_globals['_GENERATEQRCODERESPONSE']._serialized_end=
|
|
98
|
-
_globals['_VERIFYUSERCODEREQUEST']._serialized_start=
|
|
99
|
-
_globals['_VERIFYUSERCODEREQUEST']._serialized_end=
|
|
100
|
-
_globals['_VERIFYCODERESPONSE']._serialized_start=
|
|
101
|
-
_globals['_VERIFYCODERESPONSE']._serialized_end=
|
|
102
|
-
_globals['_VERIFYREGISTRATIONCODEREQUEST']._serialized_start=
|
|
103
|
-
_globals['_VERIFYREGISTRATIONCODEREQUEST']._serialized_end=
|
|
104
|
-
_globals['_TOTPSERVICE']._serialized_start=
|
|
105
|
-
_globals['_TOTPSERVICE']._serialized_end=
|
|
82
|
+
_globals['_TOTPSERVICE'].methods_by_name['DisableTOTP']._serialized_options = b'\202\265\030\002\030D\372\322\344\223\002\t\022\007PREVIEW\202\323\344\223\002+\"&/api/v1/totp/{registration_id}/disable:\001*'
|
|
83
|
+
_globals['_TOTPREGISTRATIONREQUEST']._serialized_start=385
|
|
84
|
+
_globals['_TOTPREGISTRATIONREQUEST']._serialized_end=501
|
|
85
|
+
_globals['_TOTPREGISTRATIONRESPONSE']._serialized_start=503
|
|
86
|
+
_globals['_TOTPREGISTRATIONRESPONSE']._serialized_end=620
|
|
87
|
+
_globals['_TOTPREGISTRATION']._serialized_start=623
|
|
88
|
+
_globals['_TOTPREGISTRATION']._serialized_end=1523
|
|
89
|
+
_globals['_ENABLEREGISTRATIONTOTPREQUEST']._serialized_start=1525
|
|
90
|
+
_globals['_ENABLEREGISTRATIONTOTPREQUEST']._serialized_end=1633
|
|
91
|
+
_globals['_ENABLEREGISTRATIONTOTPRESPONSE']._serialized_start=1635
|
|
92
|
+
_globals['_ENABLEREGISTRATIONTOTPRESPONSE']._serialized_end=1726
|
|
93
|
+
_globals['_DISABLEREGISTRATIONTOTPREQUEST']._serialized_start=1728
|
|
94
|
+
_globals['_DISABLEREGISTRATIONTOTPREQUEST']._serialized_end=1837
|
|
95
|
+
_globals['_GENERATEQRCODEREQUEST']._serialized_start=1840
|
|
96
|
+
_globals['_GENERATEQRCODEREQUEST']._serialized_end=1975
|
|
97
|
+
_globals['_GENERATEQRCODERESPONSE']._serialized_start=1977
|
|
98
|
+
_globals['_GENERATEQRCODERESPONSE']._serialized_end=2026
|
|
99
|
+
_globals['_VERIFYUSERCODEREQUEST']._serialized_start=2028
|
|
100
|
+
_globals['_VERIFYUSERCODEREQUEST']._serialized_end=2112
|
|
101
|
+
_globals['_VERIFYCODERESPONSE']._serialized_start=2114
|
|
102
|
+
_globals['_VERIFYCODERESPONSE']._serialized_end=2156
|
|
103
|
+
_globals['_VERIFYREGISTRATIONCODEREQUEST']._serialized_start=2158
|
|
104
|
+
_globals['_VERIFYREGISTRATIONCODEREQUEST']._serialized_end=2266
|
|
105
|
+
_globals['_TOTPSERVICE']._serialized_start=2269
|
|
106
|
+
_globals['_TOTPSERVICE']._serialized_end=3204
|
|
106
107
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from buf.validate import validate_pb2 as _validate_pb2
|
|
2
2
|
from google.api import annotations_pb2 as _annotations_pb2
|
|
3
3
|
from google.api import field_behavior_pb2 as _field_behavior_pb2
|
|
4
|
+
from google.api import visibility_pb2 as _visibility_pb2
|
|
4
5
|
from google.protobuf import empty_pb2 as _empty_pb2
|
|
5
6
|
from google.protobuf import struct_pb2 as _struct_pb2
|
|
6
7
|
from google.protobuf import timestamp_pb2 as _timestamp_pb2
|