scalekit-sdk-python 2.7.3__tar.gz → 2.9.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.9.0}/PKG-INFO +1 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/_version.py +1 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/actions.py +78 -14
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/get_connected_account_auth_response.py +35 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/types.py +2 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/connected_accounts.py +36 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/core.py +1 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/tools.py +8 -4
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/auth_pb2.py +44 -38
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/auth_pb2.pyi +12 -6
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/totp_pb2.py +31 -30
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/totp_pb2.pyi +1 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/clients/clients_pb2.py +81 -89
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/clients/clients_pb2.pyi +4 -12
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.py +6 -4
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +2 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +34 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connections/connections_pb2.py +88 -86
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connections/connections_pb2.pyi +6 -2
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/domains/domains_pb2.py +14 -12
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/domains/domains_pb2.pyi +4 -2
- scalekit_sdk_python-2.9.0/scalekit/v1/emails/emails_pb2.py +314 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/emails/emails_pb2.pyi +1 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/environments/environments_pb2.py +103 -97
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/environments/environments_pb2.pyi +20 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/environments/environments_pb2_grpc.py +36 -0
- scalekit_sdk_python-2.9.0/scalekit/v1/errdetails/errdetails_pb2.py +53 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/errdetails/errdetails_pb2.pyi +3 -0
- scalekit_sdk_python-2.9.0/scalekit/v1/errdetails/errdetails_pb2_grpc.py +67 -0
- scalekit_sdk_python-2.9.0/scalekit/v1/members/members_pb2.py +115 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/members/members_pb2.pyi +1 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/organizations/organizations_pb2.py +86 -80
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/organizations/organizations_pb2.pyi +12 -6
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/providers/providers_pb2.py +38 -36
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/providers/providers_pb2.pyi +4 -2
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/roles/roles_pb2.py +3 -3
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tools/tools_pb2.py +38 -30
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tools/tools_pb2.pyi +10 -2
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/users/users_pb2.py +78 -78
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/workspaces/workspaces_pb2.py +4 -4
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/PKG-INFO +1 -1
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_actions.py +74 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.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.9.0}/LICENSE +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/README.md +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/expression_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/expression_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/expression_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/priv/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/priv/private_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/priv/private_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/priv/private_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/validate_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/validate_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/validate_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/pyproject.toml +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/google_adk.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/langchain.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/types/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/types/google_adk_tool.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/util.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/mcp_config.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/mcp_instance.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/create_connected_account_request.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/mcp_request.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/tool_request.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/update_connected_account_request.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/create_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/create_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/create_mcp_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/delete_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/delete_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/delete_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/ensure_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/execute_tool_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/get_mcp_instance_auth_state_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/get_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/get_mcp_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/list_connected_accounts_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/list_mcp_configs_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/list_mcp_instances_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/magic_link_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/update_connected_account_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/update_mcp_config_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/update_mcp_instance_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/verify_connected_account_user_response.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/tool_input_output.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/tool_mapping.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/modifier.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/auth.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/client.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/common/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/common/exceptions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/common/scalekit.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/common/user.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/connection.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/constants/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/constants/user.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/directory.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/domain.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/m2m_client.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/mcp.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/organization.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/passwordless.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/permissions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/role.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/sessions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/token.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/users.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/utils/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/utils/directory.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auditlogs/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auditlogs/auditlogs_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/auth_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/passwordless_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/totp_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/webauthn_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/webauthn_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/webauthn_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/clients/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/clients/clients_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/commons/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/commons/commons_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/commons/commons_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connected_accounts/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connections/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connections/connections_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/directories/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/directories/directories_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/directories/directories_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/domains/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/emails/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/environments/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/errdetails/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/events/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/events/events_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/events/events_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/events/events_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/interceptors/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/interceptors/interceptors_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/interceptors/interceptors_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/interceptors/interceptors_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/keys/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/keys/keys_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/keys/keys_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/keys/keys_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/mcp/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/mcp/mcp_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/mcp/mcp_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/mcp/mcp_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/members/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/members/members_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/migrations/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/migrations/migrations_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/migrations/migrations_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/migrations/migrations_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/options/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/options/options_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/options/options_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/options/options_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/organizations/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/organizations/organizations_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/providers/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/providers/providers_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/roles/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/roles/roles_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/secrets/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/secrets/secrets_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/secrets/secrets_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/secrets/secrets_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/sessions/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/sessions/sessions_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/sessions/sessions_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/sessions/sessions_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tokens/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tokens/tokens_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tokens/tokens_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tokens/tokens_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tools/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tools/tools_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/user_attributes/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/users/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/users/users_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/users/users_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/webhooks/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/workspaces/__init__.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/workspaces/workspaces_pb2.pyi +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/webauthn.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/SOURCES.txt +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/requires.txt +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/setup.cfg +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/setup.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_connected_accounts.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_connection.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_directory.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_domain.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_m2m_client.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_mcp.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_org_roles.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_organization.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_passwordless.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_permissions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_role_defaults_dependent.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_roles.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_sessions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_tokens.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_user_roles_permissions.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_users.py +0 -0
- {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_webauthn_credentials.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from typing import Optional, Any, List, Dict, Union
|
|
2
2
|
import requests
|
|
3
|
-
from scalekit.actions.types import ToolRequest,ExecuteToolResponse,MagicLinkResponse,ListConnectedAccountsResponse,DeleteConnectedAccountResponse,GetConnectedAccountAuthResponse,ToolInput, \
|
|
3
|
+
from scalekit.actions.types import ToolRequest,ExecuteToolResponse,MagicLinkResponse,ListConnectedAccountsResponse,DeleteConnectedAccountResponse,GetConnectedAccountAuthResponse,GetConnectedAccountDetailsResponse,ToolInput, \
|
|
4
4
|
UpdateConnectedAccountResponse,CreateMcpConfigResponse,ListMcpConfigsResponse,UpdateMcpConfigResponse,DeleteMcpConfigResponse, \
|
|
5
5
|
EnsureMcpInstanceResponse,UpdateMcpInstanceResponse,GetMcpInstanceResponse,ListMcpInstancesResponse,DeleteMcpInstanceResponse,GetMcpInstanceAuthStateResponse, \
|
|
6
6
|
McpConfig,McpConfigConnectionToolMapping,VerifyConnectedAccountUserResponse
|
|
@@ -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)
|
|
@@ -312,7 +323,51 @@ class ActionClient:
|
|
|
312
323
|
|
|
313
324
|
# Convert proto to our GetConnectedAccountAuthResponse class
|
|
314
325
|
return GetConnectedAccountAuthResponse.from_proto(proto_response)
|
|
315
|
-
|
|
326
|
+
|
|
327
|
+
def get_connected_account_details(
|
|
328
|
+
self,
|
|
329
|
+
connection_name: Optional[str] = None,
|
|
330
|
+
identifier: Optional[str] = None,
|
|
331
|
+
connected_account_id: Optional[str] = None,
|
|
332
|
+
**kwargs
|
|
333
|
+
) -> GetConnectedAccountDetailsResponse:
|
|
334
|
+
"""
|
|
335
|
+
Get connected account details by identifier, without auth credentials.
|
|
336
|
+
|
|
337
|
+
Use this instead of :meth:`get_connected_account` when you only need
|
|
338
|
+
account metadata (status, connector, api_config, etc.) and do not
|
|
339
|
+
require the access/refresh tokens.
|
|
340
|
+
|
|
341
|
+
You must provide **one** of the following to identify the connected account:
|
|
342
|
+
|
|
343
|
+
- ``connection_name`` **and** ``identifier`` — use when you know the
|
|
344
|
+
connector name and the end-user's identifier (e.g. email address).
|
|
345
|
+
- ``connected_account_id`` — use when you already hold the Scalekit
|
|
346
|
+
connected account ID.
|
|
347
|
+
|
|
348
|
+
:param connection_name: Connector identifier, e.g. ``"salesforce-1hpnGzcD"``.
|
|
349
|
+
Required when ``connected_account_id`` is not provided.
|
|
350
|
+
:type connection_name: str
|
|
351
|
+
:param identifier: End-user identifier tied to the connected account,
|
|
352
|
+
e.g. ``"john.doe"``. Required when ``connected_account_id`` is not provided.
|
|
353
|
+
:type identifier: str
|
|
354
|
+
:param connected_account_id: Scalekit connected account ID. When supplied,
|
|
355
|
+
``connection_name`` and ``identifier`` are ignored.
|
|
356
|
+
:type connected_account_id: str
|
|
357
|
+
|
|
358
|
+
:returns:
|
|
359
|
+
GetConnectedAccountDetailsResponse containing account metadata
|
|
360
|
+
without auth credentials
|
|
361
|
+
:rtype: GetConnectedAccountDetailsResponse
|
|
362
|
+
"""
|
|
363
|
+
result_tuple = self.connected_accounts.get_connected_account_details_by_identifier(
|
|
364
|
+
connector=connection_name,
|
|
365
|
+
identifier=identifier,
|
|
366
|
+
connected_account_id=connected_account_id
|
|
367
|
+
)
|
|
368
|
+
proto_response = result_tuple[0]
|
|
369
|
+
return GetConnectedAccountDetailsResponse.from_proto(proto_response)
|
|
370
|
+
|
|
316
371
|
def add_modifier(self, modifier: Modifier) -> None:
|
|
317
372
|
"""Add a modifier to the private list"""
|
|
318
373
|
self._modifiers.append(modifier)
|
|
@@ -372,6 +427,7 @@ class ActionClient:
|
|
|
372
427
|
query_params: Optional[Dict[str, Any]] = None,
|
|
373
428
|
body: Optional[Any] = None,
|
|
374
429
|
form_data: Optional[Dict[str, Any]] = None,
|
|
430
|
+
raw_body: Optional[Union[bytes, str]] = None,
|
|
375
431
|
headers: Optional[Dict[str, str]] = None,
|
|
376
432
|
**kwargs,
|
|
377
433
|
) -> requests.Response:
|
|
@@ -392,6 +448,14 @@ class ActionClient:
|
|
|
392
448
|
:type body: Optional[Any]
|
|
393
449
|
:param form_data: Request body sent as URL-encoded form data
|
|
394
450
|
:type form_data: Optional[Dict[str, Any]]
|
|
451
|
+
:param raw_body: Raw request body sent as-is, without any serialization.
|
|
452
|
+
Use this **only** when the request payload is not JSON — for example,
|
|
453
|
+
when the downstream API expects an XML body, a plain-text payload, or
|
|
454
|
+
any other non-JSON content type. For JSON payloads use ``body`` instead.
|
|
455
|
+
When ``raw_body`` is provided it takes priority over both ``body`` and
|
|
456
|
+
``form_data``. You must also pass a matching ``Content-Type`` header via
|
|
457
|
+
``headers`` (e.g. ``"Content-Type": "application/xml"``).
|
|
458
|
+
:type raw_body: Optional[Union[bytes, str]]
|
|
395
459
|
:param headers: Additional HTTP headers to merge into the request
|
|
396
460
|
:type headers: Optional[Dict[str, str]]
|
|
397
461
|
|
|
@@ -428,8 +492,8 @@ class ActionClient:
|
|
|
428
492
|
method=method.upper(),
|
|
429
493
|
url=url,
|
|
430
494
|
params=params,
|
|
431
|
-
json=body,
|
|
432
|
-
data=form_data,
|
|
495
|
+
json=body if raw_body is None else None,
|
|
496
|
+
data=raw_body or form_data,
|
|
433
497
|
headers=req_headers,
|
|
434
498
|
timeout=timeout,
|
|
435
499
|
**kwargs,
|
|
@@ -443,8 +507,8 @@ class ActionClient:
|
|
|
443
507
|
method=method.upper(),
|
|
444
508
|
url=url,
|
|
445
509
|
params=params,
|
|
446
|
-
json=body,
|
|
447
|
-
data=form_data,
|
|
510
|
+
json=body if raw_body is None else None,
|
|
511
|
+
data=raw_body if raw_body is not None else form_data,
|
|
448
512
|
headers=req_headers,
|
|
449
513
|
timeout=timeout,
|
|
450
514
|
**kwargs,
|
|
@@ -119,6 +119,41 @@ class GetConnectedAccountAuthResponse(BaseModel):
|
|
|
119
119
|
|
|
120
120
|
class Config:
|
|
121
121
|
"""Pydantic configuration"""
|
|
122
|
+
validate_assignment = True
|
|
123
|
+
json_encoders = {
|
|
124
|
+
datetime: lambda v: v.isoformat() if v else None
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class GetConnectedAccountDetailsResponse(BaseModel):
|
|
129
|
+
"""Connected account details response — same structure as GetConnectedAccountAuthResponse
|
|
130
|
+
but auth credentials (access/refresh tokens) are omitted by the server."""
|
|
131
|
+
|
|
132
|
+
connected_account: Optional[ConnectedAccount] = Field(
|
|
133
|
+
None,
|
|
134
|
+
description="Connected account details (without auth credentials)"
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
@classmethod
|
|
138
|
+
def from_proto(cls, proto_response) -> 'GetConnectedAccountDetailsResponse':
|
|
139
|
+
"""
|
|
140
|
+
Create GetConnectedAccountDetailsResponse from protobuf GetConnectedAccountByIdentifierResponse
|
|
141
|
+
|
|
142
|
+
:param proto_response: The protobuf GetConnectedAccountByIdentifierResponse object
|
|
143
|
+
:returns:
|
|
144
|
+
GetConnectedAccountDetailsResponse instance
|
|
145
|
+
"""
|
|
146
|
+
connected_account = None
|
|
147
|
+
if proto_response.connected_account:
|
|
148
|
+
connected_account = ConnectedAccount.from_proto(proto_response.connected_account)
|
|
149
|
+
return cls(connected_account=connected_account)
|
|
150
|
+
|
|
151
|
+
def to_dict(self) -> dict:
|
|
152
|
+
return {
|
|
153
|
+
"connected_account": self.connected_account.model_dump() if self.connected_account else None
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
class Config:
|
|
122
157
|
validate_assignment = True
|
|
123
158
|
json_encoders = {
|
|
124
159
|
datetime: lambda v: v.isoformat() if v else None
|
|
@@ -6,7 +6,7 @@ from .models.responses.execute_tool_response import ExecuteToolResponse
|
|
|
6
6
|
from .models.responses.magic_link_response import MagicLinkResponse
|
|
7
7
|
from .models.responses.list_connected_accounts_response import ListConnectedAccountsResponse
|
|
8
8
|
from .models.responses.delete_connected_account_response import DeleteConnectedAccountResponse
|
|
9
|
-
from .models.responses.get_connected_account_auth_response import GetConnectedAccountAuthResponse
|
|
9
|
+
from .models.responses.get_connected_account_auth_response import GetConnectedAccountAuthResponse, GetConnectedAccountDetailsResponse
|
|
10
10
|
from .models.responses.create_connected_account_response import CreateConnectedAccountResponse
|
|
11
11
|
from .models.responses.update_connected_account_response import UpdateConnectedAccountResponse
|
|
12
12
|
from .models.responses.create_mcp_response import CreateMcpResponse
|
|
@@ -38,6 +38,7 @@ __all__ = [
|
|
|
38
38
|
'ListConnectedAccountsResponse',
|
|
39
39
|
'DeleteConnectedAccountResponse',
|
|
40
40
|
'GetConnectedAccountAuthResponse',
|
|
41
|
+
'GetConnectedAccountDetailsResponse',
|
|
41
42
|
'CreateConnectedAccountResponse',
|
|
42
43
|
'UpdateConnectedAccountResponse',
|
|
43
44
|
'CreateMcpResponse',
|
|
@@ -275,6 +275,42 @@ class ConnectedAccountsClient:
|
|
|
275
275
|
),
|
|
276
276
|
)
|
|
277
277
|
|
|
278
|
+
def get_connected_account_details_by_identifier(
|
|
279
|
+
self,
|
|
280
|
+
connector: str,
|
|
281
|
+
identifier: str,
|
|
282
|
+
organization_id: Optional[str] = None,
|
|
283
|
+
user_id: Optional[str] = None,
|
|
284
|
+
connected_account_id: Optional[str] = None
|
|
285
|
+
) -> GetConnectedAccountByIdentifierResponse:
|
|
286
|
+
"""
|
|
287
|
+
Method to get connected account details (without auth credentials) by identifier
|
|
288
|
+
|
|
289
|
+
:param connector : Connector identifier
|
|
290
|
+
:type : ``` str ```
|
|
291
|
+
:param identifier : Identifier for the connector
|
|
292
|
+
:type : ``` str ```
|
|
293
|
+
:param organization_id : Organization ID
|
|
294
|
+
:type : ``` str ```
|
|
295
|
+
:param user_id : User ID
|
|
296
|
+
:type : ``` str ```
|
|
297
|
+
:param connected_account_id : ID of the connected account
|
|
298
|
+
:type : ``` str ```
|
|
299
|
+
|
|
300
|
+
:returns:
|
|
301
|
+
Get Connected Account By Identifier Response (without auth credentials)
|
|
302
|
+
"""
|
|
303
|
+
return self.core_client.grpc_exec(
|
|
304
|
+
self.connected_accounts_service.GetConnectedAccountDetails.with_call,
|
|
305
|
+
GetConnectedAccountByIdentifierRequest(
|
|
306
|
+
organization_id=organization_id,
|
|
307
|
+
user_id=user_id,
|
|
308
|
+
connector=connector,
|
|
309
|
+
identifier=identifier,
|
|
310
|
+
id=connected_account_id
|
|
311
|
+
),
|
|
312
|
+
)
|
|
313
|
+
|
|
278
314
|
def verify_connected_account_user(
|
|
279
315
|
self,
|
|
280
316
|
auth_request_id: str,
|
|
@@ -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 = "20260428"
|
|
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\"\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\"\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)
|
|
@@ -53,6 +53,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
53
53
|
_globals['_DISCOVERYREQUEST'].fields_by_name['intent']._serialized_options = b'\272H\005\202\001\002\020\001'
|
|
54
54
|
_globals['_PORTALSETTINGS'].fields_by_name['custom_branding']._loaded_options = None
|
|
55
55
|
_globals['_PORTALSETTINGS'].fields_by_name['custom_branding']._serialized_options = b'\222Al2dIndicates whether custom portal branding is enabled for this workspace based on billing subscriptionJ\004true'
|
|
56
|
+
_globals['_PORTALSETTINGS'].fields_by_name['new_self_serve_sso_scim']._loaded_options = None
|
|
57
|
+
_globals['_PORTALSETTINGS'].fields_by_name['new_self_serve_sso_scim']._serialized_options = b'\222A\205\0012|Indicates whether the new self-serve SSO/SCIM flow should be shown in the hosted pages (rollout-driven, not billing-derived)J\005false'
|
|
56
58
|
_globals['_GETAUTHCUSTOMIZATIONSRESPONSE'].fields_by_name['settings']._loaded_options = None
|
|
57
59
|
_globals['_GETAUTHCUSTOMIZATIONSRESPONSE'].fields_by_name['settings']._serialized_options = b'\340A\003'
|
|
58
60
|
_globals['_OTPREQUEST'].fields_by_name['code_challenge']._loaded_options = None
|
|
@@ -93,6 +95,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
93
95
|
_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
96
|
_globals['_USER'].fields_by_name['organization_external_id']._loaded_options = None
|
|
95
97
|
_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\"'
|
|
98
|
+
_globals['_USER'].fields_by_name['roles']._loaded_options = None
|
|
99
|
+
_globals['_USER'].fields_by_name['roles']._serialized_options = b'\222A:2#List of roles assigned to the user.J\023[\"admin\", \"editor\"]'
|
|
100
|
+
_globals['_GETAUTHSTATERESPONSE'].fields_by_name['login_hint']._loaded_options = None
|
|
101
|
+
_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
102
|
_globals['_GETAUTHERRORREQUEST'].fields_by_name['error_id']._loaded_options = None
|
|
97
103
|
_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
104
|
_globals['_AUTHSERVICE'].methods_by_name['ListAuthMethods']._loaded_options = None
|
|
@@ -119,10 +125,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
119
125
|
_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
126
|
_globals['_AUTHSERVICE'].methods_by_name['UpdateLoginUserDetails']._loaded_options = None
|
|
121
127
|
_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=
|
|
128
|
+
_globals['_INTENT']._serialized_start=6927
|
|
129
|
+
_globals['_INTENT']._serialized_end=6985
|
|
130
|
+
_globals['_AUTHSTATE']._serialized_start=6988
|
|
131
|
+
_globals['_AUTHSTATE']._serialized_end=7552
|
|
126
132
|
_globals['_LISTAUTHMETHODSREQUEST']._serialized_start=423
|
|
127
133
|
_globals['_LISTAUTHMETHODSREQUEST']._serialized_end=471
|
|
128
134
|
_globals['_LISTAUTHMETHODSRESPONSE']._serialized_start=473
|
|
@@ -138,37 +144,37 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
138
144
|
_globals['_GETAUTHCUSTOMIZATIONSREQUEST']._serialized_start=2116
|
|
139
145
|
_globals['_GETAUTHCUSTOMIZATIONSREQUEST']._serialized_end=2146
|
|
140
146
|
_globals['_PORTALSETTINGS']._serialized_start=2149
|
|
141
|
-
_globals['_PORTALSETTINGS']._serialized_end=
|
|
142
|
-
_globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_start=
|
|
143
|
-
_globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_end=
|
|
144
|
-
_globals['_GETAUTHFEATURESRESPONSE']._serialized_start=
|
|
145
|
-
_globals['_GETAUTHFEATURESRESPONSE']._serialized_end=
|
|
146
|
-
_globals['_VERIFYPASSWORDLESSOTPREQUEST']._serialized_start=
|
|
147
|
-
_globals['_VERIFYPASSWORDLESSOTPREQUEST']._serialized_end=
|
|
148
|
-
_globals['_VERIFYPASSWORDLESSOTPRESPONSE']._serialized_start=
|
|
149
|
-
_globals['_VERIFYPASSWORDLESSOTPRESPONSE']._serialized_end=
|
|
150
|
-
_globals['_OTPREQUEST']._serialized_start=
|
|
151
|
-
_globals['_OTPREQUEST']._serialized_end=
|
|
152
|
-
_globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_start=
|
|
153
|
-
_globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_end=
|
|
154
|
-
_globals['_ORGANIZATION']._serialized_start=
|
|
155
|
-
_globals['_ORGANIZATION']._serialized_end=
|
|
156
|
-
_globals['_USERDETAILS']._serialized_start=
|
|
157
|
-
_globals['_USERDETAILS']._serialized_end=
|
|
158
|
-
_globals['_SIGNUPORGANIZATIONREQUEST']._serialized_start=
|
|
159
|
-
_globals['_SIGNUPORGANIZATIONREQUEST']._serialized_end=
|
|
160
|
-
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_start=
|
|
161
|
-
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_end=
|
|
162
|
-
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=
|
|
163
|
-
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=
|
|
164
|
-
_globals['_USER']._serialized_start=
|
|
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=
|
|
147
|
+
_globals['_PORTALSETTINGS']._serialized_end=2548
|
|
148
|
+
_globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_start=2551
|
|
149
|
+
_globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_end=2729
|
|
150
|
+
_globals['_GETAUTHFEATURESRESPONSE']._serialized_start=2731
|
|
151
|
+
_globals['_GETAUTHFEATURESRESPONSE']._serialized_end=2809
|
|
152
|
+
_globals['_VERIFYPASSWORDLESSOTPREQUEST']._serialized_start=2811
|
|
153
|
+
_globals['_VERIFYPASSWORDLESSOTPREQUEST']._serialized_end=2896
|
|
154
|
+
_globals['_VERIFYPASSWORDLESSOTPRESPONSE']._serialized_start=2898
|
|
155
|
+
_globals['_VERIFYPASSWORDLESSOTPRESPONSE']._serialized_end=2929
|
|
156
|
+
_globals['_OTPREQUEST']._serialized_start=2931
|
|
157
|
+
_globals['_OTPREQUEST']._serialized_end=3036
|
|
158
|
+
_globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_start=3039
|
|
159
|
+
_globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_end=3251
|
|
160
|
+
_globals['_ORGANIZATION']._serialized_start=3254
|
|
161
|
+
_globals['_ORGANIZATION']._serialized_end=3777
|
|
162
|
+
_globals['_USERDETAILS']._serialized_start=3779
|
|
163
|
+
_globals['_USERDETAILS']._serialized_end=3874
|
|
164
|
+
_globals['_SIGNUPORGANIZATIONREQUEST']._serialized_start=3877
|
|
165
|
+
_globals['_SIGNUPORGANIZATIONREQUEST']._serialized_end=4073
|
|
166
|
+
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_start=4075
|
|
167
|
+
_globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_end=4189
|
|
168
|
+
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=4192
|
|
169
|
+
_globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=4534
|
|
170
|
+
_globals['_USER']._serialized_start=4537
|
|
171
|
+
_globals['_USER']._serialized_end=6383
|
|
172
|
+
_globals['_GETAUTHSTATERESPONSE']._serialized_start=6386
|
|
173
|
+
_globals['_GETAUTHSTATERESPONSE']._serialized_end=6691
|
|
174
|
+
_globals['_GETAUTHERRORREQUEST']._serialized_start=6694
|
|
175
|
+
_globals['_GETAUTHERRORREQUEST']._serialized_end=6834
|
|
176
|
+
_globals['_GETAUTHERRORRESPONSE']._serialized_start=6836
|
|
177
|
+
_globals['_GETAUTHERRORRESPONSE']._serialized_end=6925
|
|
178
|
+
_globals['_AUTHSERVICE']._serialized_start=7555
|
|
179
|
+
_globals['_AUTHSERVICE']._serialized_end=9642
|
|
174
180
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -128,10 +128,12 @@ class GetAuthCustomizationsRequest(_message.Message):
|
|
|
128
128
|
def __init__(self) -> None: ...
|
|
129
129
|
|
|
130
130
|
class PortalSettings(_message.Message):
|
|
131
|
-
__slots__ = ("custom_branding",)
|
|
131
|
+
__slots__ = ("custom_branding", "new_self_serve_sso_scim")
|
|
132
132
|
CUSTOM_BRANDING_FIELD_NUMBER: _ClassVar[int]
|
|
133
|
+
NEW_SELF_SERVE_SSO_SCIM_FIELD_NUMBER: _ClassVar[int]
|
|
133
134
|
custom_branding: bool
|
|
134
|
-
|
|
135
|
+
new_self_serve_sso_scim: bool
|
|
136
|
+
def __init__(self, custom_branding: bool = ..., new_self_serve_sso_scim: bool = ...) -> None: ...
|
|
135
137
|
|
|
136
138
|
class GetAuthCustomizationsResponse(_message.Message):
|
|
137
139
|
__slots__ = ("customization_settings", "settings")
|
|
@@ -234,7 +236,7 @@ class UpdateLoginUserDetailsRequest(_message.Message):
|
|
|
234
236
|
def __init__(self, connection_id: _Optional[str] = ..., login_request_id: _Optional[str] = ..., user: _Optional[_Union[User, _Mapping]] = ...) -> None: ...
|
|
235
237
|
|
|
236
238
|
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")
|
|
239
|
+
__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
240
|
SUB_FIELD_NUMBER: _ClassVar[int]
|
|
239
241
|
EMAIL_FIELD_NUMBER: _ClassVar[int]
|
|
240
242
|
GIVEN_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -250,6 +252,7 @@ class User(_message.Message):
|
|
|
250
252
|
GROUPS_FIELD_NUMBER: _ClassVar[int]
|
|
251
253
|
CUSTOM_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int]
|
|
252
254
|
ORGANIZATION_EXTERNAL_ID_FIELD_NUMBER: _ClassVar[int]
|
|
255
|
+
ROLES_FIELD_NUMBER: _ClassVar[int]
|
|
253
256
|
sub: str
|
|
254
257
|
email: str
|
|
255
258
|
given_name: str
|
|
@@ -265,15 +268,18 @@ class User(_message.Message):
|
|
|
265
268
|
groups: _containers.RepeatedScalarFieldContainer[str]
|
|
266
269
|
custom_attributes: _struct_pb2.Struct
|
|
267
270
|
organization_external_id: str
|
|
268
|
-
|
|
271
|
+
roles: _containers.RepeatedScalarFieldContainer[str]
|
|
272
|
+
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
273
|
|
|
270
274
|
class GetAuthStateResponse(_message.Message):
|
|
271
|
-
__slots__ = ("auth_state", "user")
|
|
275
|
+
__slots__ = ("auth_state", "user", "login_hint")
|
|
272
276
|
AUTH_STATE_FIELD_NUMBER: _ClassVar[int]
|
|
273
277
|
USER_FIELD_NUMBER: _ClassVar[int]
|
|
278
|
+
LOGIN_HINT_FIELD_NUMBER: _ClassVar[int]
|
|
274
279
|
auth_state: AuthState
|
|
275
280
|
user: UserDetails
|
|
276
|
-
|
|
281
|
+
login_hint: str
|
|
282
|
+
def __init__(self, auth_state: _Optional[_Union[AuthState, str]] = ..., user: _Optional[_Union[UserDetails, _Mapping]] = ..., login_hint: _Optional[str] = ...) -> None: ...
|
|
277
283
|
|
|
278
284
|
class GetAuthErrorRequest(_message.Message):
|
|
279
285
|
__slots__ = ("error_id",)
|