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.
Files changed (241) hide show
  1. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/PKG-INFO +1 -1
  2. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/_version.py +1 -1
  3. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/actions.py +78 -14
  4. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/get_connected_account_auth_response.py +35 -0
  5. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/types.py +2 -1
  6. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/connected_accounts.py +36 -0
  7. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/core.py +1 -1
  8. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/tools.py +8 -4
  9. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/auth_pb2.py +44 -38
  10. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/auth_pb2.pyi +12 -6
  11. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/totp_pb2.py +31 -30
  12. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/totp_pb2.pyi +1 -0
  13. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/clients/clients_pb2.py +81 -89
  14. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/clients/clients_pb2.pyi +4 -12
  15. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.py +6 -4
  16. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +2 -0
  17. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +34 -0
  18. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connections/connections_pb2.py +88 -86
  19. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connections/connections_pb2.pyi +6 -2
  20. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/domains/domains_pb2.py +14 -12
  21. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/domains/domains_pb2.pyi +4 -2
  22. scalekit_sdk_python-2.9.0/scalekit/v1/emails/emails_pb2.py +314 -0
  23. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/emails/emails_pb2.pyi +1 -0
  24. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/environments/environments_pb2.py +103 -97
  25. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/environments/environments_pb2.pyi +20 -0
  26. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/environments/environments_pb2_grpc.py +36 -0
  27. scalekit_sdk_python-2.9.0/scalekit/v1/errdetails/errdetails_pb2.py +53 -0
  28. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/errdetails/errdetails_pb2.pyi +3 -0
  29. scalekit_sdk_python-2.9.0/scalekit/v1/errdetails/errdetails_pb2_grpc.py +67 -0
  30. scalekit_sdk_python-2.9.0/scalekit/v1/members/members_pb2.py +115 -0
  31. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/members/members_pb2.pyi +1 -0
  32. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/organizations/organizations_pb2.py +86 -80
  33. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/organizations/organizations_pb2.pyi +12 -6
  34. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/providers/providers_pb2.py +38 -36
  35. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/providers/providers_pb2.pyi +4 -2
  36. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/roles/roles_pb2.py +3 -3
  37. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tools/tools_pb2.py +38 -30
  38. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tools/tools_pb2.pyi +10 -2
  39. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/users/users_pb2.py +78 -78
  40. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/workspaces/workspaces_pb2.py +4 -4
  41. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/PKG-INFO +1 -1
  42. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_actions.py +74 -0
  43. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_tools.py +61 -1
  44. scalekit_sdk_python-2.7.3/scalekit/v1/emails/emails_pb2.py +0 -313
  45. scalekit_sdk_python-2.7.3/scalekit/v1/errdetails/errdetails_pb2.py +0 -46
  46. scalekit_sdk_python-2.7.3/scalekit/v1/errdetails/errdetails_pb2_grpc.py +0 -4
  47. scalekit_sdk_python-2.7.3/scalekit/v1/members/members_pb2.py +0 -114
  48. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/LICENSE +0 -0
  49. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/README.md +0 -0
  50. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/__init__.py +0 -0
  51. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/__init__.py +0 -0
  52. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/expression_pb2.py +0 -0
  53. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/expression_pb2.pyi +0 -0
  54. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/expression_pb2_grpc.py +0 -0
  55. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/priv/__init__.py +0 -0
  56. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/priv/private_pb2.py +0 -0
  57. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/priv/private_pb2.pyi +0 -0
  58. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/priv/private_pb2_grpc.py +0 -0
  59. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/validate_pb2.py +0 -0
  60. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/validate_pb2.pyi +0 -0
  61. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/buf/validate/validate_pb2_grpc.py +0 -0
  62. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/pyproject.toml +0 -0
  63. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/__init__.py +0 -0
  64. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/__init__.py +0 -0
  65. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/__init__.py +0 -0
  66. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/google_adk.py +0 -0
  67. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/langchain.py +0 -0
  68. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/types/__init__.py +0 -0
  69. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/types/google_adk_tool.py +0 -0
  70. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/frameworks/util.py +0 -0
  71. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/__init__.py +0 -0
  72. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/mcp_config.py +0 -0
  73. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/mcp_instance.py +0 -0
  74. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/__init__.py +0 -0
  75. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/create_connected_account_request.py +0 -0
  76. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/mcp_request.py +0 -0
  77. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/tool_request.py +0 -0
  78. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/requests/update_connected_account_request.py +0 -0
  79. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/__init__.py +0 -0
  80. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/create_connected_account_response.py +0 -0
  81. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/create_mcp_config_response.py +0 -0
  82. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/create_mcp_response.py +0 -0
  83. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/delete_connected_account_response.py +0 -0
  84. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/delete_mcp_config_response.py +0 -0
  85. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/delete_mcp_instance_response.py +0 -0
  86. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/ensure_mcp_instance_response.py +0 -0
  87. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/execute_tool_response.py +0 -0
  88. {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
  89. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/get_mcp_instance_response.py +0 -0
  90. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/get_mcp_response.py +0 -0
  91. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/list_connected_accounts_response.py +0 -0
  92. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/list_mcp_configs_response.py +0 -0
  93. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/list_mcp_instances_response.py +0 -0
  94. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/magic_link_response.py +0 -0
  95. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/update_connected_account_response.py +0 -0
  96. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/update_mcp_config_response.py +0 -0
  97. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/update_mcp_instance_response.py +0 -0
  98. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/responses/verify_connected_account_user_response.py +0 -0
  99. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/tool_input_output.py +0 -0
  100. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/models/tool_mapping.py +0 -0
  101. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/actions/modifier.py +0 -0
  102. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/auth.py +0 -0
  103. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/client.py +0 -0
  104. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/common/__init__.py +0 -0
  105. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/common/exceptions.py +0 -0
  106. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/common/scalekit.py +0 -0
  107. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/common/user.py +0 -0
  108. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/connection.py +0 -0
  109. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/constants/__init__.py +0 -0
  110. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/constants/user.py +0 -0
  111. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/directory.py +0 -0
  112. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/domain.py +0 -0
  113. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/m2m_client.py +0 -0
  114. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/mcp.py +0 -0
  115. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/organization.py +0 -0
  116. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/passwordless.py +0 -0
  117. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/permissions.py +0 -0
  118. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/role.py +0 -0
  119. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/sessions.py +0 -0
  120. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/token.py +0 -0
  121. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/users.py +0 -0
  122. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/utils/__init__.py +0 -0
  123. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/utils/directory.py +0 -0
  124. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/__init__.py +0 -0
  125. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auditlogs/__init__.py +0 -0
  126. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auditlogs/auditlogs_pb2.py +0 -0
  127. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +0 -0
  128. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
  129. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/__init__.py +0 -0
  130. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/auth_pb2_grpc.py +0 -0
  131. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/passwordless_pb2.py +0 -0
  132. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
  133. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
  134. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/totp_pb2_grpc.py +0 -0
  135. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/webauthn_pb2.py +0 -0
  136. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/webauthn_pb2.pyi +0 -0
  137. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/auth/webauthn_pb2_grpc.py +0 -0
  138. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/clients/__init__.py +0 -0
  139. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/clients/clients_pb2_grpc.py +0 -0
  140. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/commons/__init__.py +0 -0
  141. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/commons/commons_pb2.py +0 -0
  142. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/commons/commons_pb2.pyi +0 -0
  143. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
  144. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connected_accounts/__init__.py +0 -0
  145. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connections/__init__.py +0 -0
  146. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/connections/connections_pb2_grpc.py +0 -0
  147. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/directories/__init__.py +0 -0
  148. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/directories/directories_pb2.py +0 -0
  149. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/directories/directories_pb2.pyi +0 -0
  150. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
  151. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/domains/__init__.py +0 -0
  152. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
  153. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/emails/__init__.py +0 -0
  154. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
  155. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/environments/__init__.py +0 -0
  156. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/errdetails/__init__.py +0 -0
  157. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/events/__init__.py +0 -0
  158. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/events/events_pb2.py +0 -0
  159. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/events/events_pb2.pyi +0 -0
  160. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/events/events_pb2_grpc.py +0 -0
  161. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/interceptors/__init__.py +0 -0
  162. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/interceptors/interceptors_pb2.py +0 -0
  163. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/interceptors/interceptors_pb2.pyi +0 -0
  164. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/interceptors/interceptors_pb2_grpc.py +0 -0
  165. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/keys/__init__.py +0 -0
  166. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/keys/keys_pb2.py +0 -0
  167. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/keys/keys_pb2.pyi +0 -0
  168. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/keys/keys_pb2_grpc.py +0 -0
  169. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/mcp/__init__.py +0 -0
  170. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/mcp/mcp_pb2.py +0 -0
  171. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/mcp/mcp_pb2.pyi +0 -0
  172. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/mcp/mcp_pb2_grpc.py +0 -0
  173. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/members/__init__.py +0 -0
  174. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/members/members_pb2_grpc.py +0 -0
  175. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/migrations/__init__.py +0 -0
  176. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/migrations/migrations_pb2.py +0 -0
  177. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/migrations/migrations_pb2.pyi +0 -0
  178. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/migrations/migrations_pb2_grpc.py +0 -0
  179. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/options/__init__.py +0 -0
  180. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/options/options_pb2.py +0 -0
  181. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/options/options_pb2.pyi +0 -0
  182. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/options/options_pb2_grpc.py +0 -0
  183. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/organizations/__init__.py +0 -0
  184. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/organizations/organizations_pb2_grpc.py +0 -0
  185. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/providers/__init__.py +0 -0
  186. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/providers/providers_pb2_grpc.py +0 -0
  187. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/roles/__init__.py +0 -0
  188. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/roles/roles_pb2.pyi +0 -0
  189. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
  190. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/secrets/__init__.py +0 -0
  191. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/secrets/secrets_pb2.py +0 -0
  192. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/secrets/secrets_pb2.pyi +0 -0
  193. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/secrets/secrets_pb2_grpc.py +0 -0
  194. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/sessions/__init__.py +0 -0
  195. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/sessions/sessions_pb2.py +0 -0
  196. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/sessions/sessions_pb2.pyi +0 -0
  197. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/sessions/sessions_pb2_grpc.py +0 -0
  198. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tokens/__init__.py +0 -0
  199. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tokens/tokens_pb2.py +0 -0
  200. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tokens/tokens_pb2.pyi +0 -0
  201. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tokens/tokens_pb2_grpc.py +0 -0
  202. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tools/__init__.py +0 -0
  203. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/tools/tools_pb2_grpc.py +0 -0
  204. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/user_attributes/__init__.py +0 -0
  205. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
  206. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
  207. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
  208. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/users/__init__.py +0 -0
  209. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/users/users_pb2.pyi +0 -0
  210. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/users/users_pb2_grpc.py +0 -0
  211. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/webhooks/__init__.py +0 -0
  212. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
  213. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
  214. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
  215. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/workspaces/__init__.py +0 -0
  216. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/workspaces/workspaces_pb2.pyi +0 -0
  217. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +0 -0
  218. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit/webauthn.py +0 -0
  219. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/SOURCES.txt +0 -0
  220. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
  221. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/requires.txt +0 -0
  222. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
  223. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/setup.cfg +0 -0
  224. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/setup.py +0 -0
  225. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_connected_accounts.py +0 -0
  226. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_connection.py +0 -0
  227. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_directory.py +0 -0
  228. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_domain.py +0 -0
  229. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_m2m_client.py +0 -0
  230. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_mcp.py +0 -0
  231. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_org_roles.py +0 -0
  232. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_organization.py +0 -0
  233. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_passwordless.py +0 -0
  234. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_permissions.py +0 -0
  235. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_role_defaults_dependent.py +0 -0
  236. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_roles.py +0 -0
  237. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_sessions.py +0 -0
  238. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_tokens.py +0 -0
  239. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_user_roles_permissions.py +0 -0
  240. {scalekit_sdk_python-2.7.3 → scalekit_sdk_python-2.9.0}/tests/test_users.py +0 -0
  241. {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
  Metadata-Version: 2.4
2
2
  Name: scalekit-sdk-python
3
- Version: 2.7.3
3
+ Version: 2.9.0
4
4
  Summary: Scalekit official Python SDK
5
5
  Home-page: https://github.com/scalekit-inc/scalekit-sdk-python
6
6
  Author: Team Scalekit
@@ -1,3 +1,3 @@
1
1
  # Single source of truth for the SDK version.
2
2
  # Import this in setup.py and scalekit/core.py — never hardcode the version elsewhere.
3
- __version__ = "2.7.3"
3
+ __version__ = "2.9.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 = "20260403"
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=6442
123
- _globals['_INTENT']._serialized_end=6500
124
- _globals['_AUTHSTATE']._serialized_start=6503
125
- _globals['_AUTHSTATE']._serialized_end=7067
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=2320
142
- _globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_start=2323
143
- _globals['_GETAUTHCUSTOMIZATIONSRESPONSE']._serialized_end=2501
144
- _globals['_GETAUTHFEATURESRESPONSE']._serialized_start=2503
145
- _globals['_GETAUTHFEATURESRESPONSE']._serialized_end=2581
146
- _globals['_VERIFYPASSWORDLESSOTPREQUEST']._serialized_start=2583
147
- _globals['_VERIFYPASSWORDLESSOTPREQUEST']._serialized_end=2668
148
- _globals['_VERIFYPASSWORDLESSOTPRESPONSE']._serialized_start=2670
149
- _globals['_VERIFYPASSWORDLESSOTPRESPONSE']._serialized_end=2701
150
- _globals['_OTPREQUEST']._serialized_start=2703
151
- _globals['_OTPREQUEST']._serialized_end=2808
152
- _globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_start=2811
153
- _globals['_LISTUSERORGANIZATIONSRESPONSE']._serialized_end=3023
154
- _globals['_ORGANIZATION']._serialized_start=3026
155
- _globals['_ORGANIZATION']._serialized_end=3549
156
- _globals['_USERDETAILS']._serialized_start=3551
157
- _globals['_USERDETAILS']._serialized_end=3646
158
- _globals['_SIGNUPORGANIZATIONREQUEST']._serialized_start=3649
159
- _globals['_SIGNUPORGANIZATIONREQUEST']._serialized_end=3845
160
- _globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_start=3847
161
- _globals['_SIGNUPORGANIZATIONRESPONSE']._serialized_end=3961
162
- _globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_start=3964
163
- _globals['_UPDATELOGINUSERDETAILSREQUEST']._serialized_end=4306
164
- _globals['_USER']._serialized_start=4309
165
- _globals['_USER']._serialized_end=6070
166
- _globals['_GETAUTHSTATERESPONSE']._serialized_start=6073
167
- _globals['_GETAUTHSTATERESPONSE']._serialized_end=6206
168
- _globals['_GETAUTHERRORREQUEST']._serialized_start=6209
169
- _globals['_GETAUTHERRORREQUEST']._serialized_end=6349
170
- _globals['_GETAUTHERRORRESPONSE']._serialized_start=6351
171
- _globals['_GETAUTHERRORRESPONSE']._serialized_end=6440
172
- _globals['_AUTHSERVICE']._serialized_start=7070
173
- _globals['_AUTHSERVICE']._serialized_end=9157
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
- def __init__(self, custom_branding: bool = ...) -> None: ...
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
- 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] = ...) -> None: ...
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
- def __init__(self, auth_state: _Optional[_Union[AuthState, str]] = ..., user: _Optional[_Union[UserDetails, _Mapping]] = ...) -> None: ...
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",)