scalekit-sdk-python 2.4.7__tar.gz → 2.4.8__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 (184) hide show
  1. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/PKG-INFO +1 -1
  2. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/client.py +56 -14
  3. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/core.py +2 -2
  4. scalekit_sdk_python-2.4.8/scalekit/sessions.py +134 -0
  5. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auditlogs/auditlogs_pb2.py +1 -1
  6. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +2 -2
  7. scalekit_sdk_python-2.4.8/scalekit/v1/clients/clients_pb2.py +782 -0
  8. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/clients/clients_pb2.pyi +138 -16
  9. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/clients/clients_pb2_grpc.py +165 -0
  10. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/members/members_pb2.py +34 -34
  11. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/members/members_pb2.pyi +4 -2
  12. scalekit_sdk_python-2.4.8/scalekit/v1/sessions/sessions_pb2.py +70 -0
  13. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/sessions/sessions_pb2.pyi +38 -2
  14. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/sessions/sessions_pb2_grpc.py +40 -7
  15. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit_sdk_python.egg-info/PKG-INFO +1 -1
  16. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/setup.py +1 -1
  17. scalekit_sdk_python-2.4.7/scalekit/sessions.py +0 -66
  18. scalekit_sdk_python-2.4.7/scalekit/v1/clients/clients_pb2.py +0 -681
  19. scalekit_sdk_python-2.4.7/scalekit/v1/sessions/sessions_pb2.py +0 -60
  20. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/LICENSE +0 -0
  21. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/README.md +0 -0
  22. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/__init__.py +0 -0
  23. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/__init__.py +0 -0
  24. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/expression_pb2.py +0 -0
  25. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/expression_pb2.pyi +0 -0
  26. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/expression_pb2_grpc.py +0 -0
  27. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/priv/__init__.py +0 -0
  28. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/priv/private_pb2.py +0 -0
  29. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/priv/private_pb2.pyi +0 -0
  30. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/priv/private_pb2_grpc.py +0 -0
  31. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/validate_pb2.py +0 -0
  32. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/validate_pb2.pyi +0 -0
  33. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/buf/validate/validate_pb2_grpc.py +0 -0
  34. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/__init__.py +0 -0
  35. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/__init__.py +0 -0
  36. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/actions.py +0 -0
  37. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/frameworks/__init__.py +0 -0
  38. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/frameworks/google_adk.py +0 -0
  39. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/frameworks/langchain.py +0 -0
  40. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/frameworks/types/__init__.py +0 -0
  41. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/frameworks/types/google_adk_tool.py +0 -0
  42. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/frameworks/util.py +0 -0
  43. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/__init__.py +0 -0
  44. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/requests/__init__.py +0 -0
  45. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/requests/create_connected_account_request.py +0 -0
  46. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/requests/mcp_request.py +0 -0
  47. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/requests/tool_request.py +0 -0
  48. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/requests/update_connected_account_request.py +0 -0
  49. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/__init__.py +0 -0
  50. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/create_connected_account_response.py +0 -0
  51. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/create_mcp_response.py +0 -0
  52. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/delete_connected_account_response.py +0 -0
  53. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/execute_tool_response.py +0 -0
  54. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/get_connected_account_auth_response.py +0 -0
  55. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/get_mcp_response.py +0 -0
  56. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/list_connected_accounts_response.py +0 -0
  57. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/magic_link_response.py +0 -0
  58. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/responses/update_connected_account_response.py +0 -0
  59. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/tool_input_output.py +0 -0
  60. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/models/tool_mapping.py +0 -0
  61. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/modifier.py +0 -0
  62. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/actions/types.py +0 -0
  63. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/common/__init__.py +0 -0
  64. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/common/exceptions.py +0 -0
  65. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/common/scalekit.py +0 -0
  66. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/common/user.py +0 -0
  67. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/connected_accounts.py +0 -0
  68. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/connection.py +0 -0
  69. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/constants/__init__.py +0 -0
  70. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/constants/user.py +0 -0
  71. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/directory.py +0 -0
  72. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/domain.py +0 -0
  73. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/m2m_client.py +0 -0
  74. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/mcp.py +0 -0
  75. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/organization.py +0 -0
  76. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/passwordless.py +0 -0
  77. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/permissions.py +0 -0
  78. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/role.py +0 -0
  79. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/tools.py +0 -0
  80. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/users.py +0 -0
  81. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/utils/__init__.py +0 -0
  82. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/utils/directory.py +0 -0
  83. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/__init__.py +0 -0
  84. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auditlogs/__init__.py +0 -0
  85. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
  86. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/__init__.py +0 -0
  87. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/auth_pb2.py +0 -0
  88. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/auth_pb2.pyi +0 -0
  89. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/auth_pb2_grpc.py +0 -0
  90. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/passwordless_pb2.py +0 -0
  91. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
  92. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
  93. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/totp_pb2.py +0 -0
  94. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/totp_pb2.pyi +0 -0
  95. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/auth/totp_pb2_grpc.py +0 -0
  96. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/clients/__init__.py +0 -0
  97. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/commons/__init__.py +0 -0
  98. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/commons/commons_pb2.py +0 -0
  99. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/commons/commons_pb2.pyi +0 -0
  100. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
  101. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/connected_accounts/__init__.py +0 -0
  102. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/connected_accounts/connected_accounts_pb2.py +0 -0
  103. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +0 -0
  104. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +0 -0
  105. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/connections/__init__.py +0 -0
  106. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/connections/connections_pb2.py +0 -0
  107. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/connections/connections_pb2.pyi +0 -0
  108. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/connections/connections_pb2_grpc.py +0 -0
  109. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/directories/__init__.py +0 -0
  110. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/directories/directories_pb2.py +0 -0
  111. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/directories/directories_pb2.pyi +0 -0
  112. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
  113. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/domains/__init__.py +0 -0
  114. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/domains/domains_pb2.py +0 -0
  115. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/domains/domains_pb2.pyi +0 -0
  116. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
  117. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/emails/__init__.py +0 -0
  118. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/emails/emails_pb2.py +0 -0
  119. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/emails/emails_pb2.pyi +0 -0
  120. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
  121. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/environments/__init__.py +0 -0
  122. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/environments/environments_pb2.py +0 -0
  123. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/environments/environments_pb2.pyi +0 -0
  124. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/environments/environments_pb2_grpc.py +0 -0
  125. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/errdetails/__init__.py +0 -0
  126. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/errdetails/errdetails_pb2.py +0 -0
  127. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/errdetails/errdetails_pb2.pyi +0 -0
  128. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/errdetails/errdetails_pb2_grpc.py +0 -0
  129. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/events/__init__.py +0 -0
  130. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/events/events_pb2.py +0 -0
  131. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/events/events_pb2.pyi +0 -0
  132. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/events/events_pb2_grpc.py +0 -0
  133. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/mcp/__init__.py +0 -0
  134. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/mcp/mcp_pb2.py +0 -0
  135. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/mcp/mcp_pb2.pyi +0 -0
  136. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/mcp/mcp_pb2_grpc.py +0 -0
  137. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/members/__init__.py +0 -0
  138. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/members/members_pb2_grpc.py +0 -0
  139. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/migrations/__init__.py +0 -0
  140. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/migrations/migrations_pb2.py +0 -0
  141. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/migrations/migrations_pb2.pyi +0 -0
  142. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/migrations/migrations_pb2_grpc.py +0 -0
  143. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/options/__init__.py +0 -0
  144. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/options/options_pb2.py +0 -0
  145. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/options/options_pb2.pyi +0 -0
  146. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/options/options_pb2_grpc.py +0 -0
  147. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/organizations/__init__.py +0 -0
  148. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/organizations/organizations_pb2.py +0 -0
  149. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/organizations/organizations_pb2.pyi +0 -0
  150. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/organizations/organizations_pb2_grpc.py +0 -0
  151. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/providers/__init__.py +0 -0
  152. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/providers/providers_pb2.py +0 -0
  153. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/providers/providers_pb2.pyi +0 -0
  154. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/providers/providers_pb2_grpc.py +0 -0
  155. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/roles/__init__.py +0 -0
  156. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/roles/roles_pb2.py +0 -0
  157. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/roles/roles_pb2.pyi +0 -0
  158. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
  159. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/sessions/__init__.py +0 -0
  160. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/tools/__init__.py +0 -0
  161. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/tools/tools_pb2.py +0 -0
  162. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/tools/tools_pb2.pyi +0 -0
  163. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/tools/tools_pb2_grpc.py +0 -0
  164. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/user_attributes/__init__.py +0 -0
  165. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
  166. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
  167. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
  168. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/users/__init__.py +0 -0
  169. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/users/users_pb2.py +0 -0
  170. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/users/users_pb2.pyi +0 -0
  171. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/users/users_pb2_grpc.py +0 -0
  172. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/webhooks/__init__.py +0 -0
  173. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
  174. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
  175. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
  176. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/workspaces/__init__.py +0 -0
  177. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/workspaces/workspaces_pb2.py +0 -0
  178. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/workspaces/workspaces_pb2.pyi +0 -0
  179. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +0 -0
  180. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit_sdk_python.egg-info/SOURCES.txt +0 -0
  181. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
  182. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit_sdk_python.egg-info/requires.txt +0 -0
  183. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
  184. {scalekit_sdk_python-2.4.7 → scalekit_sdk_python-2.4.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scalekit-sdk-python
3
- Version: 2.4.7
3
+ Version: 2.4.8
4
4
  Summary: Scalekit official Python SDK
5
5
  Home-page: https://github.com/scalekit-inc/scalekit-sdk-python
6
6
  Author: Team Scalekit
@@ -360,25 +360,24 @@ class ScalekitClient:
360
360
  scopes = payload.get("scopes", [])
361
361
  return [scope for scope in scopes if scope and scope.strip()]
362
362
 
363
- def verify_webhook_payload(self, secret: str, headers: Dict[str, str], payload: [str | bytes]) -> bool:
363
+ def __verify_payload_signature(self, secret: str, webhook_id: str, webhook_timestamp: str, webhook_signature: str, payload: str) -> bool:
364
364
  """
365
- Method to verify webhook payload
366
-
367
- :param secret : Secret for webhook verification
368
- :type : ``` str ```
369
- :param headers : Webhook request headers
370
- :type : ``` dict[str, str] ```
371
- :param payload : Webhook payload in str or bytes
372
- :type : ``` str | bytes ```
365
+ Private method to verify payload signature (common logic for both webhook and interceptor verification)
366
+
367
+ :param secret : Secret for verification
368
+ :type : ``` str ```
369
+ :param webhook_id : Webhook/Interceptor ID
370
+ :type : ``` str ```
371
+ :param webhook_timestamp : Webhook/Interceptor timestamp
372
+ :type : ``` str ```
373
+ :param webhook_signature : Webhook/Interceptor signature
374
+ :type : ``` str ```
375
+ :param payload : Payload string
376
+ :type : ``` str ```
373
377
 
374
378
  :returns:
375
379
  bool
376
380
  """
377
- payload = payload if isinstance(payload, str) else payload.decode()
378
- webhook_id = headers.get("webhook-id")
379
- webhook_timestamp = headers.get("webhook-timestamp")
380
- webhook_signature = headers.get("webhook-signature")
381
-
382
381
  if not all([webhook_id, webhook_timestamp, webhook_signature]):
383
382
  raise WebhookVerificationError("Missing required headers")
384
383
 
@@ -417,6 +416,49 @@ class ScalekitClient:
417
416
 
418
417
  raise WebhookVerificationError("Invalid signature")
419
418
 
419
+ def verify_webhook_payload(self, secret: str, headers: Dict[str, str], payload: str | bytes) -> bool:
420
+ """
421
+ Method to verify webhook payload
422
+
423
+ :param secret : Secret for webhook verification
424
+ :type : ``` str ```
425
+ :param headers : Webhook request headers
426
+ :type : ``` dict[str, str] ```
427
+ :param payload : Webhook payload in str or bytes
428
+ :type : ``` str | bytes ```
429
+
430
+ :returns:
431
+ bool
432
+ """
433
+ payload_str = payload if isinstance(payload, str) else payload.decode()
434
+ webhook_id = headers.get("webhook-id")
435
+ webhook_timestamp = headers.get("webhook-timestamp")
436
+ webhook_signature = headers.get("webhook-signature")
437
+
438
+ return self.__verify_payload_signature(secret, webhook_id, webhook_timestamp, webhook_signature, payload_str)
439
+
440
+ def verify_interceptor_payload(self, secret: str, headers: Dict[str, str], payload: str | bytes) -> bool:
441
+ """
442
+ Method to verify interceptor payload using common verification logic
443
+
444
+ :param secret : Secret for interceptor verification
445
+ :type : ``` str ```
446
+ :param headers : Interceptor request headers (with interceptor-id, interceptor-timestamp, interceptor-signature)
447
+ :type : ``` dict[str, str] ```
448
+ :param payload : Interceptor payload in str or bytes
449
+ :type : ``` str | bytes ```
450
+
451
+ :returns:
452
+ bool
453
+ """
454
+ payload_str = payload if isinstance(payload, str) else payload.decode()
455
+
456
+ interceptor_id = headers.get("interceptor-id") or headers.get("webhook-id")
457
+ interceptor_timestamp = headers.get("interceptor-timestamp") or headers.get("webhook-timestamp")
458
+ interceptor_signature = headers.get("interceptor-signature") or headers.get("webhook-signature")
459
+
460
+ return self.__verify_payload_signature(secret, interceptor_id, interceptor_timestamp, interceptor_signature, payload_str)
461
+
420
462
  @staticmethod
421
463
  def __verify_timestamp(timestamp_str: str):
422
464
  """
@@ -26,8 +26,8 @@ class WithCall(Protocol):
26
26
  class CoreClient:
27
27
  """Class definition for Core Client"""
28
28
 
29
- sdk_version = "Scalekit-Python/2.4.7"
30
- api_version = "20250917"
29
+ sdk_version = "Scalekit-Python/2.4.8"
30
+ api_version = "20250104"
31
31
  user_agent = f"{sdk_version} Python/{platform.python_version()} ({platform.system()}; {platform.architecture()}"
32
32
 
33
33
  def __init__(self, env_url, client_id, client_secret):
@@ -0,0 +1,134 @@
1
+ from scalekit.core import CoreClient
2
+ from scalekit.v1.sessions.sessions_pb2 import *
3
+ from scalekit.v1.sessions.sessions_pb2_grpc import SessionServiceStub
4
+ from google.protobuf.timestamp_pb2 import Timestamp
5
+ from typing import List, Optional
6
+
7
+
8
+ class SessionsClient:
9
+ """Class definition for Sessions Client"""
10
+
11
+ def __init__(self, core_client: CoreClient):
12
+ """
13
+ Initializer for Sessions Client
14
+
15
+ :param core_client : CoreClient Object
16
+ :type : ``` obj ```
17
+ :returns
18
+ None
19
+ """
20
+ self.core_client = core_client
21
+ self.session_service = SessionServiceStub(
22
+ self.core_client.grpc_secure_channel
23
+ )
24
+
25
+ def get_session(self, session_id: str) -> SessionDetails:
26
+ """
27
+ Method to get session details by session ID
28
+
29
+ :param session_id : Session ID to get session details
30
+ :type : ``` str ```
31
+
32
+ :returns:
33
+ Session Details
34
+ """
35
+ return self.core_client.grpc_exec(
36
+ self.session_service.GetSession.with_call,
37
+ SessionDetailsRequest(session_id=session_id),
38
+ )
39
+
40
+ def get_user_sessions(
41
+ self,
42
+ user_id: str,
43
+ page_size: int = None,
44
+ page_token: str = None,
45
+ filter: UserSessionFilter = None
46
+ ) -> UserSessionDetails:
47
+ """
48
+ Method to get all session details for a user with pagination and filtering support
49
+
50
+ :param user_id : User ID to get all session details for
51
+ :type : ``` str ```
52
+ :param page_size : Number of sessions to return per page
53
+ :type : ``` int ```
54
+ :param page_token : Token for pagination to get next/previous page
55
+ :type : ``` str ```
56
+ :param filter : Filter to apply to sessions (status, time range)
57
+ :type : ``` UserSessionFilter ```
58
+
59
+ :returns:
60
+ User Session Details with pagination info
61
+ """
62
+ request = UserSessionDetailsRequest(user_id=user_id)
63
+
64
+ if page_size is not None:
65
+ request.page_size = page_size
66
+ if page_token is not None:
67
+ request.page_token = page_token
68
+ if filter is not None:
69
+ request.filter.CopyFrom(filter)
70
+
71
+ return self.core_client.grpc_exec(
72
+ self.session_service.GetUserSessions.with_call,
73
+ request,
74
+ )
75
+
76
+ def revoke_session(self, session_id: str) -> RevokeSessionResponse:
77
+ """
78
+ Method to revoke a session for a user
79
+
80
+ :param session_id : Session ID to revoke
81
+ :type : ``` str ```
82
+
83
+ :returns:
84
+ Revoke Session Response
85
+ """
86
+ return self.core_client.grpc_exec(
87
+ self.session_service.RevokeSession.with_call,
88
+ RevokeSessionRequest(session_id=session_id),
89
+ )
90
+
91
+ def revoke_all_user_sessions(self, user_id: str) -> RevokeAllUserSessionsResponse:
92
+ """
93
+ Method to revoke all sessions for a user
94
+
95
+ :param user_id : User ID to revoke all sessions for
96
+ :type : ``` str ```
97
+
98
+ :returns:
99
+ Revoke All User Sessions Response
100
+ """
101
+ return self.core_client.grpc_exec(
102
+ self.session_service.RevokeAllUserSessions.with_call,
103
+ RevokeAllUserSessionsRequest(user_id=user_id),
104
+ )
105
+
106
+ @staticmethod
107
+ def create_session_filter(
108
+ status: Optional[List[str]] = None,
109
+ start_time: Optional[Timestamp] = None,
110
+ end_time: Optional[Timestamp] = None
111
+ ) -> UserSessionFilter:
112
+ """
113
+ Helper method to create a UserSessionFilter for filtering sessions
114
+
115
+ :param status : List of session statuses to filter by
116
+ :type : ``` List[str] ```
117
+ :param start_time : Filter sessions from this timestamp
118
+ :type : ``` Timestamp ```
119
+ :param end_time : Filter sessions until this timestamp
120
+ :type : ``` Timestamp ```
121
+
122
+ :returns:
123
+ UserSessionFilter object
124
+ """
125
+ filter_obj = UserSessionFilter()
126
+
127
+ if status is not None:
128
+ filter_obj.status.extend(status)
129
+ if start_time is not None:
130
+ filter_obj.start_time.CopyFrom(start_time)
131
+ if end_time is not None:
132
+ filter_obj.end_time.CopyFrom(end_time)
133
+
134
+ return filter_obj
@@ -18,7 +18,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__
18
18
  from scalekit.v1.options import options_pb2 as scalekit_dot_v1_dot_options_dot_options__pb2
19
19
 
20
20
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%scalekit/v1/auditlogs/auditlogs.proto\x12\x15scalekit.v1.auditlogs\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a!scalekit/v1/options/options.proto\"\xf0\x01\n\x12ListAuthLogRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\x12\x14\n\x05\x65mail\x18\x03 \x01(\tR\x05\x65mail\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x12\x39\n\nstart_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\"\xcf\x01\n\x13ListAuthLogResponse\x12&\n\x0fnext_page_token\x18\x01 \x01(\tR\rnextPageToken\x12&\n\x0fprev_page_token\x18\x02 \x01(\tR\rprevPageToken\x12\x1d\n\ntotal_size\x18\x03 \x01(\rR\ttotalSize\x12I\n\x0c\x61uthRequests\x18\x04 \x03(\x0b\x32%.scalekit.v1.auditlogs.AuthLogRequestR\x0c\x61uthRequests\"\xe4\x03\n\x0e\x41uthLogRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12#\n\rconnection_id\x18\x03 \x01(\tR\x0c\x63onnectionId\x12&\n\x0f\x61uth_request_id\x18\x04 \x01(\tR\rauthRequestId\x12\x14\n\x05\x65mail\x18\x05 \x01(\tR\x05\x65mail\x12\'\n\x0f\x63onnection_type\x18\x06 \x01(\tR\x0e\x63onnectionType\x12/\n\x13\x63onnection_provider\x18\x07 \x01(\tR\x12\x63onnectionProvider\x12\x16\n\x06status\x18\x08 \x01(\tR\x06status\x12\x38\n\ttimestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimestamp\x12W\n\x12\x63onnection_details\x18\n \x03(\x0b\x32(.scalekit.v1.auditlogs.ConnectionDetailsR\x11\x63onnectionDetails\x12\x1a\n\x08workflow\x18\x0b \x01(\tR\x08workflow\"\xbb\x01\n\x11\x43onnectionDetails\x12#\n\rconnection_id\x18\x01 \x01(\tR\x0c\x63onnectionId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\'\n\x0f\x63onnection_type\x18\x03 \x01(\tR\x0e\x63onnectionType\x12/\n\x13\x63onnection_provider\x18\x04 \x01(\tR\x12\x63onnectionProvider2\xb2\x01\n\x10\x41uditLogsService\x12\x9d\x01\n\x10ListAuthRequests\x12).scalekit.v1.auditlogs.ListAuthLogRequest\x1a*.scalekit.v1.auditlogs.ListAuthLogResponse\"2\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02&\x12$/api/v1/logs/authentication/requestsB5Z3github.com/scalekit-inc/scalekit/pkg/grpc/auditlogsb\x06proto3')
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%scalekit/v1/auditlogs/auditlogs.proto\x12\x15scalekit.v1.auditlogs\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a!scalekit/v1/options/options.proto\"\xf0\x01\n\x12ListAuthLogRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\x12\x14\n\x05\x65mail\x18\x03 \x01(\tR\x05\x65mail\x12\x16\n\x06status\x18\x04 \x03(\tR\x06status\x12\x39\n\nstart_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\"\xcf\x01\n\x13ListAuthLogResponse\x12&\n\x0fnext_page_token\x18\x01 \x01(\tR\rnextPageToken\x12&\n\x0fprev_page_token\x18\x02 \x01(\tR\rprevPageToken\x12\x1d\n\ntotal_size\x18\x03 \x01(\rR\ttotalSize\x12I\n\x0c\x61uthRequests\x18\x04 \x03(\x0b\x32%.scalekit.v1.auditlogs.AuthLogRequestR\x0c\x61uthRequests\"\xe4\x03\n\x0e\x41uthLogRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12%\n\x0e\x65nvironment_id\x18\x02 \x01(\tR\renvironmentId\x12#\n\rconnection_id\x18\x03 \x01(\tR\x0c\x63onnectionId\x12&\n\x0f\x61uth_request_id\x18\x04 \x01(\tR\rauthRequestId\x12\x14\n\x05\x65mail\x18\x05 \x01(\tR\x05\x65mail\x12\'\n\x0f\x63onnection_type\x18\x06 \x01(\tR\x0e\x63onnectionType\x12/\n\x13\x63onnection_provider\x18\x07 \x01(\tR\x12\x63onnectionProvider\x12\x16\n\x06status\x18\x08 \x01(\tR\x06status\x12\x38\n\ttimestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimestamp\x12W\n\x12\x63onnection_details\x18\n \x03(\x0b\x32(.scalekit.v1.auditlogs.ConnectionDetailsR\x11\x63onnectionDetails\x12\x1a\n\x08workflow\x18\x0b \x01(\tR\x08workflow\"\xbb\x01\n\x11\x43onnectionDetails\x12#\n\rconnection_id\x18\x01 \x01(\tR\x0c\x63onnectionId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\'\n\x0f\x63onnection_type\x18\x03 \x01(\tR\x0e\x63onnectionType\x12/\n\x13\x63onnection_provider\x18\x04 \x01(\tR\x12\x63onnectionProvider2\xb2\x01\n\x10\x41uditLogsService\x12\x9d\x01\n\x10ListAuthRequests\x12).scalekit.v1.auditlogs.ListAuthLogRequest\x1a*.scalekit.v1.auditlogs.ListAuthLogResponse\"2\x82\xb5\x18\x02\x18T\x82\xd3\xe4\x93\x02&\x12$/api/v1/logs/authentication/requestsB5Z3github.com/scalekit-inc/scalekit/pkg/grpc/auditlogsb\x06proto3')
22
22
 
23
23
  _globals = globals()
24
24
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -20,10 +20,10 @@ class ListAuthLogRequest(_message.Message):
20
20
  page_size: int
21
21
  page_token: str
22
22
  email: str
23
- status: str
23
+ status: _containers.RepeatedScalarFieldContainer[str]
24
24
  start_time: _timestamp_pb2.Timestamp
25
25
  end_time: _timestamp_pb2.Timestamp
26
- def __init__(self, page_size: _Optional[int] = ..., page_token: _Optional[str] = ..., email: _Optional[str] = ..., status: _Optional[str] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
26
+ def __init__(self, page_size: _Optional[int] = ..., page_token: _Optional[str] = ..., email: _Optional[str] = ..., status: _Optional[_Iterable[str]] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., end_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
27
27
 
28
28
  class ListAuthLogResponse(_message.Message):
29
29
  __slots__ = ("next_page_token", "prev_page_token", "total_size", "authRequests")