scalekit-sdk-python 2.19.1__tar.gz → 2.21.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 (307) hide show
  1. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/PKG-INFO +2 -2
  2. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/README.md +1 -1
  3. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/_version.py +1 -1
  4. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/actions.py +110 -24
  5. scalekit_sdk_python-2.21.0/scalekit/actions/models/custom_provider.py +596 -0
  6. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/types.py +8 -1
  7. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/client.py +17 -3
  8. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/common/scalekit.py +8 -3
  9. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/core.py +1 -1
  10. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/mcp.py +158 -20
  11. scalekit_sdk_python-2.21.0/scalekit/resource.py +438 -0
  12. scalekit_sdk_python-2.21.0/scalekit/v1/auth/auth_pb2.py +248 -0
  13. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/auth_pb2.pyi +59 -3
  14. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/auth_pb2_grpc.py +46 -13
  15. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/passwordless_pb2.py +19 -19
  16. scalekit_sdk_python-2.21.0/scalekit/v1/billing/billing_pb2.py +171 -0
  17. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/billing/billing_pb2.pyi +72 -12
  18. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/billing/billing_pb2_grpc.py +131 -14
  19. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/clients/clients_pb2.py +248 -200
  20. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/clients/clients_pb2.pyi +69 -12
  21. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/commons/commons_pb2.py +29 -29
  22. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.py +75 -61
  23. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +18 -2
  24. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +34 -0
  25. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/connections/connections_pb2.py +108 -98
  26. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/connections/connections_pb2.pyi +14 -4
  27. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/environments/environments_pb2.py +164 -160
  28. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/environments/environments_pb2.pyi +8 -4
  29. scalekit_sdk_python-2.21.0/scalekit/v1/gateway/gateway_pb2.py +153 -0
  30. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/gateway/gateway_pb2.pyi +6 -2
  31. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/mcp/mcp_pb2.py +16 -10
  32. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/mcp/mcp_pb2.pyi +6 -2
  33. scalekit_sdk_python-2.21.0/scalekit/v1/migrations/migrations_pb2.py +129 -0
  34. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/migrations/migrations_pb2.pyi +32 -0
  35. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/migrations/migrations_pb2_grpc.py +33 -0
  36. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/organizations/organizations_pb2.py +63 -29
  37. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/organizations/organizations_pb2.pyi +47 -0
  38. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/organizations/organizations_pb2_grpc.py +66 -0
  39. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/tools/tools_pb2.py +48 -48
  40. scalekit_sdk_python-2.21.0/scalekit/v1/triggers/triggers_pb2.py +376 -0
  41. scalekit_sdk_python-2.21.0/scalekit/v1/triggers/triggers_pb2.pyi +567 -0
  42. scalekit_sdk_python-2.21.0/scalekit/v1/triggers/triggers_pb2_grpc.py +518 -0
  43. scalekit_sdk_python-2.21.0/scalekit/v1/workspaces/__init__.py +0 -0
  44. scalekit_sdk_python-2.21.0/scalekit/v1/workspaces/workspaces_pb2.py +277 -0
  45. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/workspaces/workspaces_pb2.pyi +13 -4
  46. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit_sdk_python.egg-info/PKG-INFO +2 -2
  47. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit_sdk_python.egg-info/SOURCES.txt +8 -0
  48. scalekit_sdk_python-2.21.0/tests/test_actions_list_connected_accounts_pagination.py +41 -0
  49. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_domain.py +18 -9
  50. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_mcp.py +46 -0
  51. scalekit_sdk_python-2.21.0/tests/test_mcp_connection_session_token.py +351 -0
  52. scalekit_sdk_python-2.21.0/tests/test_mcp_session_token_access_level.py +75 -0
  53. scalekit_sdk_python-2.21.0/tests/test_multi_issuer.py +143 -0
  54. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_providers.py +366 -0
  55. scalekit_sdk_python-2.21.0/tests/test_resource.py +506 -0
  56. scalekit_sdk_python-2.19.1/scalekit/actions/models/custom_provider.py +0 -380
  57. scalekit_sdk_python-2.19.1/scalekit/resource.py +0 -96
  58. scalekit_sdk_python-2.19.1/scalekit/v1/auth/auth_pb2.py +0 -202
  59. scalekit_sdk_python-2.19.1/scalekit/v1/billing/billing_pb2.py +0 -135
  60. scalekit_sdk_python-2.19.1/scalekit/v1/gateway/gateway_pb2.py +0 -151
  61. scalekit_sdk_python-2.19.1/scalekit/v1/migrations/migrations_pb2.py +0 -119
  62. scalekit_sdk_python-2.19.1/scalekit/v1/workspaces/workspaces_pb2.py +0 -273
  63. scalekit_sdk_python-2.19.1/tests/test_resource.py +0 -81
  64. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/LICENSE +0 -0
  65. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/buf/__init__.py +0 -0
  66. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/buf/validate/__init__.py +0 -0
  67. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/buf/validate/validate_pb2.py +0 -0
  68. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/buf/validate/validate_pb2.pyi +0 -0
  69. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/buf/validate/validate_pb2_grpc.py +0 -0
  70. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/pyproject.toml +0 -0
  71. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/__init__.py +0 -0
  72. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/__init__.py +0 -0
  73. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/frameworks/__init__.py +0 -0
  74. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/frameworks/google_adk.py +0 -0
  75. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/frameworks/langchain.py +0 -0
  76. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/frameworks/types/__init__.py +0 -0
  77. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/frameworks/types/google_adk_tool.py +0 -0
  78. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/frameworks/util.py +0 -0
  79. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/__init__.py +0 -0
  80. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/mcp_config.py +0 -0
  81. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/mcp_connection_auth_state.py +0 -0
  82. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/mcp_instance.py +0 -0
  83. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/__init__.py +0 -0
  84. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/create_connected_account_request.py +0 -0
  85. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/create_custom_provider_request.py +0 -0
  86. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/delete_custom_provider_request.py +0 -0
  87. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/list_providers_request.py +0 -0
  88. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/mcp_request.py +0 -0
  89. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/tool_request.py +0 -0
  90. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/update_connected_account_request.py +0 -0
  91. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/requests/update_custom_provider_request.py +0 -0
  92. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/__init__.py +0 -0
  93. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/create_connected_account_response.py +0 -0
  94. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/create_custom_provider_response.py +0 -0
  95. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/create_mcp_config_response.py +0 -0
  96. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/create_mcp_response.py +0 -0
  97. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/create_mcp_session_token_response.py +0 -0
  98. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/delete_connected_account_response.py +0 -0
  99. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/delete_custom_provider_response.py +0 -0
  100. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/delete_mcp_config_response.py +0 -0
  101. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/delete_mcp_instance_response.py +0 -0
  102. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/ensure_mcp_instance_response.py +0 -0
  103. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/execute_tool_response.py +0 -0
  104. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/get_connected_account_auth_response.py +0 -0
  105. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/get_mcp_instance_auth_state_response.py +0 -0
  106. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/get_mcp_instance_response.py +0 -0
  107. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/get_mcp_response.py +0 -0
  108. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/list_connected_accounts_response.py +0 -0
  109. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/list_mcp_configs_response.py +0 -0
  110. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/list_mcp_connected_accounts_response.py +0 -0
  111. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/list_mcp_instances_response.py +0 -0
  112. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/list_providers_response.py +0 -0
  113. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/list_tools_response.py +0 -0
  114. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/magic_link_response.py +0 -0
  115. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/update_connected_account_response.py +0 -0
  116. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/update_custom_provider_response.py +0 -0
  117. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/update_mcp_config_response.py +0 -0
  118. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/update_mcp_instance_response.py +0 -0
  119. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/responses/verify_connected_account_user_response.py +0 -0
  120. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/tool_input_output.py +0 -0
  121. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/models/tool_mapping.py +0 -0
  122. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/actions/modifier.py +0 -0
  123. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/auth.py +0 -0
  124. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/common/__init__.py +0 -0
  125. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/common/exceptions.py +0 -0
  126. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/common/user.py +0 -0
  127. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/connected_accounts.py +0 -0
  128. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/connection.py +0 -0
  129. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/constants/__init__.py +0 -0
  130. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/constants/user.py +0 -0
  131. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/directory.py +0 -0
  132. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/domain.py +0 -0
  133. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/events.py +0 -0
  134. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/frameworks/__init__.py +0 -0
  135. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/frameworks/django.py +0 -0
  136. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/frameworks/fastapi.py +0 -0
  137. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/frameworks/flask.py +0 -0
  138. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/m2m_client.py +0 -0
  139. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/middleware/__init__.py +0 -0
  140. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/middleware/csrf_state.py +0 -0
  141. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/middleware/protocol.py +0 -0
  142. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/middleware/session_crypto.py +0 -0
  143. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/middleware/session_manager.py +0 -0
  144. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/organization.py +0 -0
  145. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/passwordless.py +0 -0
  146. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/permissions.py +0 -0
  147. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/providers.py +0 -0
  148. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/role.py +0 -0
  149. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/sessions.py +0 -0
  150. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/token.py +0 -0
  151. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/tools.py +0 -0
  152. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/users.py +0 -0
  153. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/utils/__init__.py +0 -0
  154. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/utils/directory.py +0 -0
  155. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/__init__.py +0 -0
  156. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/agentkit_logs/__init__.py +0 -0
  157. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2.py +0 -0
  158. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2.pyi +0 -0
  159. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2_grpc.py +0 -0
  160. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2.py +0 -0
  161. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2.pyi +0 -0
  162. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2_grpc.py +0 -0
  163. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auditlogs/__init__.py +0 -0
  164. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auditlogs/auditlogs_pb2.py +0 -0
  165. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +0 -0
  166. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
  167. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/__init__.py +0 -0
  168. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
  169. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
  170. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/totp_pb2.py +0 -0
  171. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/totp_pb2.pyi +0 -0
  172. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/totp_pb2_grpc.py +0 -0
  173. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/webauthn_pb2.py +0 -0
  174. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/webauthn_pb2.pyi +0 -0
  175. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/auth/webauthn_pb2_grpc.py +0 -0
  176. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/billing/__init__.py +0 -0
  177. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/clients/__init__.py +0 -0
  178. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/clients/clients_pb2_grpc.py +0 -0
  179. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/commons/__init__.py +0 -0
  180. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/commons/commons_pb2.pyi +0 -0
  181. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
  182. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/connected_accounts/__init__.py +0 -0
  183. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/connections/__init__.py +0 -0
  184. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/connections/connections_pb2_grpc.py +0 -0
  185. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/directories/__init__.py +0 -0
  186. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/directories/directories_pb2.py +0 -0
  187. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/directories/directories_pb2.pyi +0 -0
  188. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
  189. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/domains/__init__.py +0 -0
  190. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/domains/domains_pb2.py +0 -0
  191. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/domains/domains_pb2.pyi +0 -0
  192. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
  193. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/emails/__init__.py +0 -0
  194. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/emails/emails_pb2.py +0 -0
  195. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/emails/emails_pb2.pyi +0 -0
  196. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
  197. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/environments/__init__.py +0 -0
  198. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/environments/environments_pb2_grpc.py +0 -0
  199. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/errdetails/__init__.py +0 -0
  200. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/errdetails/errdetails_pb2.py +0 -0
  201. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/errdetails/errdetails_pb2.pyi +0 -0
  202. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/errdetails/errdetails_pb2_grpc.py +0 -0
  203. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/events/__init__.py +0 -0
  204. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/events/events_pb2.py +0 -0
  205. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/events/events_pb2.pyi +0 -0
  206. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/events/events_pb2_grpc.py +0 -0
  207. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/gateway/__init__.py +0 -0
  208. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/gateway/gateway_pb2_grpc.py +0 -0
  209. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/interceptors/__init__.py +0 -0
  210. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/interceptors/interceptors_pb2.py +0 -0
  211. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/interceptors/interceptors_pb2.pyi +0 -0
  212. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/interceptors/interceptors_pb2_grpc.py +0 -0
  213. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/keys/__init__.py +0 -0
  214. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/keys/keys_pb2.py +0 -0
  215. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/keys/keys_pb2.pyi +0 -0
  216. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/keys/keys_pb2_grpc.py +0 -0
  217. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/logstreams/__init__.py +0 -0
  218. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/logstreams/logstreams_pb2.py +0 -0
  219. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/logstreams/logstreams_pb2.pyi +0 -0
  220. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/logstreams/logstreams_pb2_grpc.py +0 -0
  221. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/mcp/__init__.py +0 -0
  222. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/mcp/mcp_pb2_grpc.py +0 -0
  223. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/members/__init__.py +0 -0
  224. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/members/members_pb2.py +0 -0
  225. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/members/members_pb2.pyi +0 -0
  226. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/members/members_pb2_grpc.py +0 -0
  227. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/migrations/__init__.py +0 -0
  228. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/options/__init__.py +0 -0
  229. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/options/options_pb2.py +0 -0
  230. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/options/options_pb2.pyi +0 -0
  231. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/options/options_pb2_grpc.py +0 -0
  232. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/organizations/__init__.py +0 -0
  233. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/providers/__init__.py +0 -0
  234. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/providers/providers_pb2.py +0 -0
  235. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/providers/providers_pb2.pyi +0 -0
  236. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/providers/providers_pb2_grpc.py +0 -0
  237. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/roles/__init__.py +0 -0
  238. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/roles/roles_pb2.py +0 -0
  239. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/roles/roles_pb2.pyi +0 -0
  240. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
  241. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/secrets/__init__.py +0 -0
  242. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/secrets/secrets_pb2.py +0 -0
  243. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/secrets/secrets_pb2.pyi +0 -0
  244. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/secrets/secrets_pb2_grpc.py +0 -0
  245. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/sessions/__init__.py +0 -0
  246. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/sessions/sessions_pb2.py +0 -0
  247. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/sessions/sessions_pb2.pyi +0 -0
  248. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/sessions/sessions_pb2_grpc.py +0 -0
  249. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/tokens/__init__.py +0 -0
  250. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/tokens/tokens_pb2.py +0 -0
  251. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/tokens/tokens_pb2.pyi +0 -0
  252. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/tokens/tokens_pb2_grpc.py +0 -0
  253. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/tools/__init__.py +0 -0
  254. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/tools/tools_pb2.pyi +0 -0
  255. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/tools/tools_pb2_grpc.py +0 -0
  256. {scalekit_sdk_python-2.19.1/scalekit/v1/user_attributes → scalekit_sdk_python-2.21.0/scalekit/v1/triggers}/__init__.py +0 -0
  257. {scalekit_sdk_python-2.19.1/scalekit/v1/users → scalekit_sdk_python-2.21.0/scalekit/v1/user_attributes}/__init__.py +0 -0
  258. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
  259. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
  260. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
  261. {scalekit_sdk_python-2.19.1/scalekit/v1/webhooks → scalekit_sdk_python-2.21.0/scalekit/v1/users}/__init__.py +0 -0
  262. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/users/users_pb2.py +0 -0
  263. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/users/users_pb2.pyi +0 -0
  264. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/users/users_pb2_grpc.py +0 -0
  265. {scalekit_sdk_python-2.19.1/scalekit/v1/workspaces → scalekit_sdk_python-2.21.0/scalekit/v1/webhooks}/__init__.py +0 -0
  266. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
  267. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
  268. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
  269. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +0 -0
  270. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit/webauthn.py +0 -0
  271. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
  272. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit_sdk_python.egg-info/requires.txt +0 -0
  273. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
  274. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/setup.cfg +0 -0
  275. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/setup.py +0 -0
  276. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_actions.py +0 -0
  277. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_call_timeout.py +0 -0
  278. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_connected_accounts.py +0 -0
  279. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_connection.py +0 -0
  280. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_directory.py +0 -0
  281. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_events.py +0 -0
  282. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_http_timeout.py +0 -0
  283. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_keepalive_channel_options.py +0 -0
  284. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_login.py +0 -0
  285. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_m2m_client.py +0 -0
  286. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_middleware_csrf_state.py +0 -0
  287. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_middleware_django.py +0 -0
  288. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_middleware_fastapi.py +0 -0
  289. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_middleware_flask.py +0 -0
  290. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_middleware_session_crypto.py +0 -0
  291. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_middleware_session_manager.py +0 -0
  292. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_org_roles.py +0 -0
  293. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_organization.py +0 -0
  294. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_organization_session_policy.py +0 -0
  295. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_organization_slug_logo.py +0 -0
  296. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_passwordless.py +0 -0
  297. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_permissions.py +0 -0
  298. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_role_defaults_dependent.py +0 -0
  299. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_roles.py +0 -0
  300. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_sessions.py +0 -0
  301. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_sk819_retry_behavior.py +0 -0
  302. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_tokens.py +0 -0
  303. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_tools.py +0 -0
  304. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_transient_error_no_retry.py +0 -0
  305. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_user_roles_permissions.py +0 -0
  306. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.0}/tests/test_users.py +0 -0
  307. {scalekit_sdk_python-2.19.1 → scalekit_sdk_python-2.21.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.19.1
3
+ Version: 2.21.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
@@ -60,7 +60,7 @@ Dynamic: summary
60
60
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
61
61
  [![Python versions](https://img.shields.io/pypi/pyversions/scalekit-sdk-python.svg?style=flat-square)](https://pypi.org/project/scalekit-sdk-python/)
62
62
 
63
- <a href="https://scalekit.com" target="_blank" rel="noopener noreferrer">Scalekit</a> is the **auth stack for AI apps** - from human authentication to agent authorization. Build secure AI products faster with authentication for humans (SSO, passwordless, full-stack auth) and agents (MCP/APIs, delegated actions), all unified on one platform. This Python SDK enables both traditional B2B authentication and cutting-edge agentic workflows.
63
+ <a href="https://scalekit.com" target="_blank" rel="noopener noreferrer">Scalekit</a> provides auth and actions on behalf of users, with 500+ connectors and 20,000+ tools. Build secure AI products faster with authentication for humans (SSO, passwordless, full-stack auth) and agents (MCP/APIs, delegated actions), all unified on one platform. This Python SDK enables both traditional B2B authentication and cutting-edge agentic workflows.
64
64
 
65
65
  ## 🤖 Agent-First Features
66
66
 
@@ -13,7 +13,7 @@
13
13
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
14
14
  [![Python versions](https://img.shields.io/pypi/pyversions/scalekit-sdk-python.svg?style=flat-square)](https://pypi.org/project/scalekit-sdk-python/)
15
15
 
16
- <a href="https://scalekit.com" target="_blank" rel="noopener noreferrer">Scalekit</a> is the **auth stack for AI apps** - from human authentication to agent authorization. Build secure AI products faster with authentication for humans (SSO, passwordless, full-stack auth) and agents (MCP/APIs, delegated actions), all unified on one platform. This Python SDK enables both traditional B2B authentication and cutting-edge agentic workflows.
16
+ <a href="https://scalekit.com" target="_blank" rel="noopener noreferrer">Scalekit</a> provides auth and actions on behalf of users, with 500+ connectors and 20,000+ tools. Build secure AI products faster with authentication for humans (SSO, passwordless, full-stack auth) and agents (MCP/APIs, delegated actions), all unified on one platform. This Python SDK enables both traditional B2B authentication and cutting-edge agentic workflows.
17
17
 
18
18
  ## 🤖 Agent-First Features
19
19
 
@@ -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.19.1"
3
+ __version__ = "2.21.0"
@@ -1,5 +1,5 @@
1
1
  from datetime import timedelta
2
- from typing import Optional, Any, List, Dict, Union
2
+ from typing import Optional, Any, List, Dict, Union, overload
3
3
  import requests
4
4
  from scalekit.actions.types import ToolRequest,ExecuteToolResponse,MagicLinkResponse,ListConnectedAccountsResponse,ListToolsResponse,DeleteConnectedAccountResponse,GetConnectedAccountAuthResponse,GetConnectedAccountDetailsResponse,ToolInput, \
5
5
  UpdateConnectedAccountResponse,CreateMcpConfigResponse,ListMcpConfigsResponse,UpdateMcpConfigResponse,DeleteMcpConfigResponse, \
@@ -16,6 +16,7 @@ from scalekit.actions.modifier import (
16
16
  apply_pre_modifiers, apply_post_modifiers
17
17
  )
18
18
  from scalekit.common.exceptions import ScalekitNotFoundException
19
+ from scalekit.mcp import _check_connection_token_args
19
20
  from scalekit.v1.tools.tools_pb2 import Filter
20
21
  from google.protobuf.wrappers_pb2 import BoolValue
21
22
 
@@ -328,6 +329,8 @@ class ActionClient:
328
329
  identifier: Optional[str] = None,
329
330
  provider: Optional[str] = None,
330
331
  connection_names: Optional[List[str]] = None,
332
+ page_size: Optional[int] = None,
333
+ page_token: Optional[str] = None,
331
334
  **kwargs
332
335
  ) -> ListConnectedAccountsResponse:
333
336
  """List connected accounts with optional filtering.
@@ -341,14 +344,20 @@ class ActionClient:
341
344
  of these connection slugs. Useful when you want to check multiple
342
345
  connectors at once, e.g. ``["github", "google-calendar", "slack"]``.
343
346
  Can be combined with ``identifier`` to narrow results to a specific user.
347
+ page_size: Maximum number of connected accounts per page (optional).
348
+ page_token: ``next_page_token`` from a previous response, to fetch the
349
+ next page (optional).
344
350
 
345
351
  Returns:
346
- ListConnectedAccountsResponse containing the matching connected accounts.
352
+ ListConnectedAccountsResponse containing the matching connected accounts,
353
+ with ``next_page_token`` set when more pages remain.
347
354
  """
348
355
  result_tuple = self.connected_accounts.list_connected_accounts(
349
356
  connector=connection_name,
350
357
  identifier=identifier,
351
358
  provider=provider,
359
+ page_size=page_size,
360
+ page_token=page_token,
352
361
  connection_names=connection_names,
353
362
  )
354
363
  return ListConnectedAccountsResponse.from_proto(result_tuple[0])
@@ -1358,63 +1367,140 @@ class ActionMcp:
1358
1367
  )
1359
1368
  return ListMcpConnectedAccountsResponse.from_proto(result_tuple[0])
1360
1369
 
1370
+ @overload
1361
1371
  def create_session_token(
1362
1372
  self,
1363
1373
  mcp_config_id: str,
1364
1374
  identifier: str,
1365
- expiry: Optional[timedelta] = None,
1375
+ expiry: timedelta | None = None,
1376
+ access_level: str | None = None,
1377
+ ) -> CreateMcpSessionTokenResponse: ...
1378
+
1379
+ @overload
1380
+ def create_session_token(
1381
+ self,
1382
+ *,
1383
+ connection_name: str,
1384
+ identifier: str,
1385
+ expiry: timedelta | None = None,
1386
+ access_level: str | None = None,
1387
+ ) -> CreateMcpSessionTokenResponse: ...
1388
+
1389
+ def create_session_token(
1390
+ self,
1391
+ mcp_config_id: str | None = None,
1392
+ identifier: str | None = None,
1393
+ expiry: timedelta | None = None,
1394
+ access_level: str | None = None,
1395
+ *,
1396
+ connection_name: str | None = None,
1366
1397
  ) -> CreateMcpSessionTokenResponse:
1367
1398
  """Create a short-lived session token for a user to access an MCP server.
1368
1399
 
1369
- The token is scoped to a specific MCP configuration and end-user. Pass it
1370
- as a ``Bearer`` token in the ``Authorization`` header when making requests
1371
- to the MCP server URL associated with the config.
1400
+ Pass exactly one of ``mcp_config_id`` or ``connection_name``; the
1401
+ token works only on the MCP server of that target:
1402
+
1403
+ - ``mcp_config_id``: the MCP configuration's server, at the config's
1404
+ ``mcp_server_url``. It serves the tools the configuration exposes.
1405
+ - ``connection_name``: the connection's own MCP server, at
1406
+ ``<environment_url>/mcp/v3/connections/<connection_name>``. It
1407
+ serves every tool of that connection, with no MCP configuration.
1408
+
1409
+ Send the token as a ``Bearer`` token in the ``Authorization`` header
1410
+ when calling that URL.
1372
1411
 
1373
1412
  Args:
1374
- mcp_config_id: Scalekit ID of the MCP configuration the token should
1375
- grant access to, e.g. ``"cfg_01abc123"``.
1376
- identifier: End-user identifier for whom the token is minted — typically
1377
- the same email or opaque ID used when calling ``ensure_instance``,
1378
- e.g. ``"alice@example.com"``.
1413
+ mcp_config_id: Scalekit ID of the MCP configuration the token
1414
+ grants access to, e.g. ``"cfg_01abc123"``.
1415
+ identifier: End-user identifier the token acts as. For a
1416
+ configuration, typically the same email or opaque ID used when
1417
+ calling ``ensure_instance``, e.g. ``"alice@example.com"``; for
1418
+ a connection, the user whose connected account on it is used.
1419
+ 1 to 255 characters. Required.
1379
1420
  expiry: Requested lifetime for the token as a Python ``timedelta``.
1380
- When omitted, the server-side default TTL is applied (typically
1381
- 1 hour). Example values:
1421
+ The server accepts 60 seconds to 24 hours and applies 1 hour
1422
+ when omitted. Fractions of a second are dropped. Example values:
1382
1423
 
1383
1424
  - ``timedelta(minutes=30)`` — 30-minute token
1384
1425
  - ``timedelta(hours=8)`` — 8-hour token (work-day session)
1385
1426
  - ``timedelta(days=1)`` — 24-hour token
1427
+ access_level: Tools the token can use. ``"READ_ONLY"`` limits it to
1428
+ tools annotated read-only: other tools are left out of the tool
1429
+ list and refused when called. ``"FULL"``, or omitting it, exposes
1430
+ every tool of the target. Values are case-sensitive.
1431
+ connection_name: Name of the connection whose MCP server the token
1432
+ grants access to, e.g. ``"gmail"``. Keyword-only. Matched
1433
+ without regard to case, but the server URL path is
1434
+ case-sensitive: connect using the name exactly as stored, e.g.
1435
+ copied from the dashboard.
1386
1436
 
1387
1437
  Returns:
1388
1438
  CreateMcpSessionTokenResponse: Contains:
1389
1439
 
1390
1440
  - ``token`` (``str``) — opaque bearer token string.
1391
- - ``expires_at`` (``datetime``) — UTC datetime when the token expires.
1441
+ - ``expires_at`` (``datetime``) — naive datetime, in UTC, when the
1442
+ token expires.
1392
1443
 
1393
1444
  Raises:
1394
- ValueError: If ``mcp_config_id`` or ``identifier`` is blank.
1445
+ ValueError: Raised before any request. Without
1446
+ ``connection_name``: ``mcp_config_id`` or ``identifier`` is
1447
+ empty or missing. With ``connection_name``: ``mcp_config_id``
1448
+ is also given, ``connection_name`` is empty, or ``identifier``
1449
+ is missing or empty.
1450
+ ScalekitNotFoundException: No active connection has
1451
+ ``connection_name``.
1452
+ ScalekitBadRequestException: Any other invalid request, e.g. an
1453
+ invalid ``identifier``, ``expiry`` or ``access_level``, or a
1454
+ connection that is not an AgentKit connection. Depending on
1455
+ the environment's configuration, a connection token also
1456
+ requires ``identifier`` to have an active connected account on
1457
+ the connection; otherwise the server creates a pending
1458
+ connected account for ``identifier`` if it has none on the
1459
+ connection, a token is minted, and the account is reported as
1460
+ not connected when tools are called.
1395
1461
 
1396
1462
  Example::
1397
1463
 
1398
1464
  from datetime import timedelta
1399
1465
 
1466
+ # MCP configuration
1400
1467
  resp = client.actions.mcp.create_session_token(
1401
1468
  mcp_config_id="cfg_01abc123",
1402
1469
  identifier="alice@example.com",
1403
1470
  expiry=timedelta(hours=8),
1404
1471
  )
1405
1472
 
1473
+ # A connection's MCP server, read-only tools for 15 minutes
1474
+ resp = client.actions.mcp.create_session_token(
1475
+ connection_name="gmail",
1476
+ identifier="user_123",
1477
+ expiry=timedelta(minutes=15),
1478
+ access_level="READ_ONLY",
1479
+ )
1480
+
1406
1481
  headers = {"Authorization": f"Bearer {resp.token}"}
1407
1482
  # Use headers when calling the MCP server URL
1408
1483
  """
1409
- if not mcp_config_id:
1410
- raise ValueError("mcp_config_id is required")
1411
- if not identifier:
1412
- raise ValueError("identifier is required")
1413
- result_tuple = self._client().create_session_token(
1414
- mcp_config_id=mcp_config_id,
1415
- identifier=identifier,
1416
- expiry=expiry,
1417
- )
1484
+ if connection_name is None:
1485
+ # Checks and messages unchanged from before connection_name existed.
1486
+ if not mcp_config_id:
1487
+ raise ValueError("mcp_config_id is required")
1488
+ if not identifier:
1489
+ raise ValueError("identifier is required")
1490
+ result_tuple = self._client().create_session_token(
1491
+ mcp_config_id=mcp_config_id,
1492
+ identifier=identifier,
1493
+ expiry=expiry,
1494
+ access_level=access_level,
1495
+ )
1496
+ else:
1497
+ identifier = _check_connection_token_args(mcp_config_id, connection_name, identifier)
1498
+ result_tuple = self._client().create_session_token(
1499
+ connection_name=connection_name,
1500
+ identifier=identifier,
1501
+ expiry=expiry,
1502
+ access_level=access_level,
1503
+ )
1418
1504
  return CreateMcpSessionTokenResponse.from_proto(result_tuple[0])
1419
1505
 
1420
1506