scalekit-sdk-python 2.23.0__tar.gz → 2.24.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 (323) hide show
  1. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/PKG-INFO +1 -1
  2. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/_version.py +1 -1
  3. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/triggers.py +20 -0
  4. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/triggers.py +115 -32
  5. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/core.py +1 -1
  6. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/resource.py +19 -5
  7. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/triggers.py +56 -16
  8. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/clients/clients_pb2.py +164 -162
  9. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/clients/clients_pb2.pyi +4 -2
  10. scalekit_sdk_python-2.24.0/scalekit/v1/triggers/triggers_pb2.py +660 -0
  11. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/triggers/triggers_pb2.pyi +32 -14
  12. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit_sdk_python.egg-info/PKG-INFO +1 -1
  13. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_actions.py +11 -14
  14. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_resource.py +54 -0
  15. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_triggers_api.py +234 -0
  16. scalekit_sdk_python-2.23.0/scalekit/v1/triggers/triggers_pb2.py +0 -642
  17. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/LICENSE +0 -0
  18. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/README.md +0 -0
  19. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/buf/__init__.py +0 -0
  20. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/buf/validate/__init__.py +0 -0
  21. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/buf/validate/validate_pb2.py +0 -0
  22. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/buf/validate/validate_pb2.pyi +0 -0
  23. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/buf/validate/validate_pb2_grpc.py +0 -0
  24. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/pyproject.toml +0 -0
  25. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/__init__.py +0 -0
  26. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/_convert.py +0 -0
  27. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/__init__.py +0 -0
  28. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/_proxy_path.py +0 -0
  29. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/_resumable_upload.py +0 -0
  30. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/actions.py +0 -0
  31. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/connections/__init__.py +0 -0
  32. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/connections/errors.py +0 -0
  33. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/connections/models.py +0 -0
  34. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/connections/service.py +0 -0
  35. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/frameworks/__init__.py +0 -0
  36. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/frameworks/google_adk.py +0 -0
  37. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/frameworks/langchain.py +0 -0
  38. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/frameworks/types/__init__.py +0 -0
  39. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/frameworks/types/google_adk_tool.py +0 -0
  40. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/frameworks/util.py +0 -0
  41. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/__init__.py +0 -0
  42. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/custom_provider.py +0 -0
  43. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/mcp_config.py +0 -0
  44. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/mcp_connection_auth_state.py +0 -0
  45. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/mcp_instance.py +0 -0
  46. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/__init__.py +0 -0
  47. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/create_connected_account_request.py +0 -0
  48. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/create_custom_provider_request.py +0 -0
  49. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/delete_custom_provider_request.py +0 -0
  50. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/list_providers_request.py +0 -0
  51. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/mcp_request.py +0 -0
  52. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/tool_request.py +0 -0
  53. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/update_connected_account_request.py +0 -0
  54. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/requests/update_custom_provider_request.py +0 -0
  55. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/__init__.py +0 -0
  56. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/create_connected_account_response.py +0 -0
  57. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/create_custom_provider_response.py +0 -0
  58. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/create_mcp_config_response.py +0 -0
  59. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/create_mcp_response.py +0 -0
  60. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/create_mcp_session_token_response.py +0 -0
  61. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/delete_connected_account_response.py +0 -0
  62. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/delete_custom_provider_response.py +0 -0
  63. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/delete_mcp_config_response.py +0 -0
  64. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/delete_mcp_instance_response.py +0 -0
  65. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/ensure_mcp_instance_response.py +0 -0
  66. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/execute_tool_response.py +0 -0
  67. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/get_connected_account_auth_response.py +0 -0
  68. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/get_mcp_instance_auth_state_response.py +0 -0
  69. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/get_mcp_instance_response.py +0 -0
  70. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/get_mcp_response.py +0 -0
  71. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/list_connected_accounts_response.py +0 -0
  72. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/list_mcp_configs_response.py +0 -0
  73. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/list_mcp_connected_accounts_response.py +0 -0
  74. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/list_mcp_instances_response.py +0 -0
  75. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/list_providers_response.py +0 -0
  76. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/list_tools_response.py +0 -0
  77. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/magic_link_response.py +0 -0
  78. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/update_connected_account_response.py +0 -0
  79. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/update_custom_provider_response.py +0 -0
  80. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/update_mcp_config_response.py +0 -0
  81. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/update_mcp_instance_response.py +0 -0
  82. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/responses/verify_connected_account_user_response.py +0 -0
  83. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/tool_input_output.py +0 -0
  84. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/tool_mapping.py +0 -0
  85. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/trigger_event.py +0 -0
  86. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/models/upload_progress.py +0 -0
  87. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/modifier.py +0 -0
  88. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/actions/types.py +0 -0
  89. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/auth.py +0 -0
  90. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/client.py +0 -0
  91. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/common/__init__.py +0 -0
  92. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/common/_webhook_signature.py +0 -0
  93. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/common/exceptions.py +0 -0
  94. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/common/scalekit.py +0 -0
  95. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/common/user.py +0 -0
  96. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/connected_accounts.py +0 -0
  97. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/connection.py +0 -0
  98. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/constants/__init__.py +0 -0
  99. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/constants/user.py +0 -0
  100. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/directory.py +0 -0
  101. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/domain.py +0 -0
  102. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/events.py +0 -0
  103. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/frameworks/__init__.py +0 -0
  104. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/frameworks/django.py +0 -0
  105. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/frameworks/fastapi.py +0 -0
  106. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/frameworks/flask.py +0 -0
  107. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/m2m_client.py +0 -0
  108. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/mcp.py +0 -0
  109. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/middleware/__init__.py +0 -0
  110. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/middleware/csrf_state.py +0 -0
  111. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/middleware/protocol.py +0 -0
  112. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/middleware/session_crypto.py +0 -0
  113. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/middleware/session_manager.py +0 -0
  114. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/organization.py +0 -0
  115. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/passwordless.py +0 -0
  116. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/permissions.py +0 -0
  117. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/providers.py +0 -0
  118. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/role.py +0 -0
  119. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/sessions.py +0 -0
  120. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/token.py +0 -0
  121. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/tools.py +0 -0
  122. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/users.py +0 -0
  123. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/utils/__init__.py +0 -0
  124. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/utils/directory.py +0 -0
  125. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/__init__.py +0 -0
  126. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/agentkit_logs/__init__.py +0 -0
  127. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2.py +0 -0
  128. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2.pyi +0 -0
  129. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/agentkit_logs/agentkit_analytics_pb2_grpc.py +0 -0
  130. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2.py +0 -0
  131. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2.pyi +0 -0
  132. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/agentkit_logs/agentkit_logs_pb2_grpc.py +0 -0
  133. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auditlogs/__init__.py +0 -0
  134. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auditlogs/auditlogs_pb2.py +0 -0
  135. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auditlogs/auditlogs_pb2.pyi +0 -0
  136. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auditlogs/auditlogs_pb2_grpc.py +0 -0
  137. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/__init__.py +0 -0
  138. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/auth_pb2.py +0 -0
  139. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/auth_pb2.pyi +0 -0
  140. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/auth_pb2_grpc.py +0 -0
  141. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/passwordless_pb2.py +0 -0
  142. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/passwordless_pb2.pyi +0 -0
  143. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/passwordless_pb2_grpc.py +0 -0
  144. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/totp_pb2.py +0 -0
  145. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/totp_pb2.pyi +0 -0
  146. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/totp_pb2_grpc.py +0 -0
  147. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/webauthn_pb2.py +0 -0
  148. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/webauthn_pb2.pyi +0 -0
  149. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/auth/webauthn_pb2_grpc.py +0 -0
  150. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/billing/__init__.py +0 -0
  151. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/billing/billing_pb2.py +0 -0
  152. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/billing/billing_pb2.pyi +0 -0
  153. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/billing/billing_pb2_grpc.py +0 -0
  154. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/clients/__init__.py +0 -0
  155. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/clients/clients_pb2_grpc.py +0 -0
  156. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/commons/__init__.py +0 -0
  157. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/commons/commons_pb2.py +0 -0
  158. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/commons/commons_pb2.pyi +0 -0
  159. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/commons/commons_pb2_grpc.py +0 -0
  160. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/connected_accounts/__init__.py +0 -0
  161. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.py +0 -0
  162. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/connected_accounts/connected_accounts_pb2.pyi +0 -0
  163. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/connected_accounts/connected_accounts_pb2_grpc.py +0 -0
  164. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/connections/__init__.py +0 -0
  165. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/connections/connections_pb2.py +0 -0
  166. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/connections/connections_pb2.pyi +0 -0
  167. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/connections/connections_pb2_grpc.py +0 -0
  168. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/directories/__init__.py +0 -0
  169. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/directories/directories_pb2.py +0 -0
  170. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/directories/directories_pb2.pyi +0 -0
  171. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/directories/directories_pb2_grpc.py +0 -0
  172. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/domains/__init__.py +0 -0
  173. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/domains/domains_pb2.py +0 -0
  174. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/domains/domains_pb2.pyi +0 -0
  175. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/domains/domains_pb2_grpc.py +0 -0
  176. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/emails/__init__.py +0 -0
  177. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/emails/emails_pb2.py +0 -0
  178. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/emails/emails_pb2.pyi +0 -0
  179. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/emails/emails_pb2_grpc.py +0 -0
  180. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/environments/__init__.py +0 -0
  181. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/environments/environments_pb2.py +0 -0
  182. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/environments/environments_pb2.pyi +0 -0
  183. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/environments/environments_pb2_grpc.py +0 -0
  184. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/errdetails/__init__.py +0 -0
  185. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/errdetails/errdetails_pb2.py +0 -0
  186. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/errdetails/errdetails_pb2.pyi +0 -0
  187. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/errdetails/errdetails_pb2_grpc.py +0 -0
  188. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/events/__init__.py +0 -0
  189. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/events/events_pb2.py +0 -0
  190. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/events/events_pb2.pyi +0 -0
  191. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/events/events_pb2_grpc.py +0 -0
  192. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/gateway/__init__.py +0 -0
  193. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/gateway/gateway_pb2.py +0 -0
  194. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/gateway/gateway_pb2.pyi +0 -0
  195. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/gateway/gateway_pb2_grpc.py +0 -0
  196. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/interceptors/__init__.py +0 -0
  197. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/interceptors/interceptors_pb2.py +0 -0
  198. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/interceptors/interceptors_pb2.pyi +0 -0
  199. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/interceptors/interceptors_pb2_grpc.py +0 -0
  200. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/keys/__init__.py +0 -0
  201. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/keys/keys_pb2.py +0 -0
  202. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/keys/keys_pb2.pyi +0 -0
  203. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/keys/keys_pb2_grpc.py +0 -0
  204. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/logstreams/__init__.py +0 -0
  205. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/logstreams/logstreams_pb2.py +0 -0
  206. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/logstreams/logstreams_pb2.pyi +0 -0
  207. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/logstreams/logstreams_pb2_grpc.py +0 -0
  208. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/mcp/__init__.py +0 -0
  209. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/mcp/mcp_pb2.py +0 -0
  210. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/mcp/mcp_pb2.pyi +0 -0
  211. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/mcp/mcp_pb2_grpc.py +0 -0
  212. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/members/__init__.py +0 -0
  213. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/members/members_pb2.py +0 -0
  214. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/members/members_pb2.pyi +0 -0
  215. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/members/members_pb2_grpc.py +0 -0
  216. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/migrations/__init__.py +0 -0
  217. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/migrations/migrations_pb2.py +0 -0
  218. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/migrations/migrations_pb2.pyi +0 -0
  219. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/migrations/migrations_pb2_grpc.py +0 -0
  220. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/options/__init__.py +0 -0
  221. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/options/options_pb2.py +0 -0
  222. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/options/options_pb2.pyi +0 -0
  223. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/options/options_pb2_grpc.py +0 -0
  224. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/organizations/__init__.py +0 -0
  225. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/organizations/organizations_pb2.py +0 -0
  226. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/organizations/organizations_pb2.pyi +0 -0
  227. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/organizations/organizations_pb2_grpc.py +0 -0
  228. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/providers/__init__.py +0 -0
  229. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/providers/providers_pb2.py +0 -0
  230. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/providers/providers_pb2.pyi +0 -0
  231. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/providers/providers_pb2_grpc.py +0 -0
  232. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/roles/__init__.py +0 -0
  233. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/roles/roles_pb2.py +0 -0
  234. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/roles/roles_pb2.pyi +0 -0
  235. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/roles/roles_pb2_grpc.py +0 -0
  236. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/secrets/__init__.py +0 -0
  237. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/secrets/secrets_pb2.py +0 -0
  238. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/secrets/secrets_pb2.pyi +0 -0
  239. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/secrets/secrets_pb2_grpc.py +0 -0
  240. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/sessions/__init__.py +0 -0
  241. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/sessions/sessions_pb2.py +0 -0
  242. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/sessions/sessions_pb2.pyi +0 -0
  243. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/sessions/sessions_pb2_grpc.py +0 -0
  244. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/tokens/__init__.py +0 -0
  245. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/tokens/tokens_pb2.py +0 -0
  246. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/tokens/tokens_pb2.pyi +0 -0
  247. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/tokens/tokens_pb2_grpc.py +0 -0
  248. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/tools/__init__.py +0 -0
  249. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/tools/tools_pb2.py +0 -0
  250. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/tools/tools_pb2.pyi +0 -0
  251. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/tools/tools_pb2_grpc.py +0 -0
  252. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/triggers/__init__.py +0 -0
  253. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/triggers/triggers_pb2_grpc.py +0 -0
  254. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/user_attributes/__init__.py +0 -0
  255. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/user_attributes/user_attributes_pb2.py +0 -0
  256. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/user_attributes/user_attributes_pb2.pyi +0 -0
  257. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/user_attributes/user_attributes_pb2_grpc.py +0 -0
  258. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/users/__init__.py +0 -0
  259. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/users/users_pb2.py +0 -0
  260. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/users/users_pb2.pyi +0 -0
  261. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/users/users_pb2_grpc.py +0 -0
  262. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/webhooks/__init__.py +0 -0
  263. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/webhooks/webhooks_pb2.py +0 -0
  264. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/webhooks/webhooks_pb2.pyi +0 -0
  265. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/webhooks/webhooks_pb2_grpc.py +0 -0
  266. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/workspaces/__init__.py +0 -0
  267. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/workspaces/workspaces_pb2.py +0 -0
  268. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/workspaces/workspaces_pb2.pyi +0 -0
  269. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/v1/workspaces/workspaces_pb2_grpc.py +0 -0
  270. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit/webauthn.py +0 -0
  271. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit_sdk_python.egg-info/SOURCES.txt +0 -0
  272. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit_sdk_python.egg-info/dependency_links.txt +0 -0
  273. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit_sdk_python.egg-info/requires.txt +0 -0
  274. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/scalekit_sdk_python.egg-info/top_level.txt +0 -0
  275. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/setup.cfg +0 -0
  276. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/setup.py +0 -0
  277. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_actions_list_connected_accounts_pagination.py +0 -0
  278. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_actions_request_path.py +0 -0
  279. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_actions_response_fields.py +0 -0
  280. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_agentkit_connections.py +0 -0
  281. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_call_timeout.py +0 -0
  282. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_connected_accounts.py +0 -0
  283. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_connection.py +0 -0
  284. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_directory.py +0 -0
  285. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_domain.py +0 -0
  286. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_events.py +0 -0
  287. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_http_timeout.py +0 -0
  288. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_keepalive_channel_options.py +0 -0
  289. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_list_connected_accounts_query_and_org_wide.py +0 -0
  290. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_login.py +0 -0
  291. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_m2m_client.py +0 -0
  292. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_mcp.py +0 -0
  293. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_mcp_connection_session_token.py +0 -0
  294. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_mcp_session_token_access_level.py +0 -0
  295. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_mcp_tool_exposure.py +0 -0
  296. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_middleware_csrf_state.py +0 -0
  297. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_middleware_django.py +0 -0
  298. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_middleware_fastapi.py +0 -0
  299. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_middleware_flask.py +0 -0
  300. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_middleware_session_crypto.py +0 -0
  301. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_middleware_session_manager.py +0 -0
  302. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_multi_issuer.py +0 -0
  303. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_org_roles.py +0 -0
  304. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_organization.py +0 -0
  305. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_organization_session_policy.py +0 -0
  306. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_organization_slug_logo.py +0 -0
  307. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_passwordless.py +0 -0
  308. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_permissions.py +0 -0
  309. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_providers.py +0 -0
  310. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_resumable_upload.py +0 -0
  311. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_resumable_upload_live.py +0 -0
  312. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_role_defaults_dependent.py +0 -0
  313. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_roles.py +0 -0
  314. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_sessions.py +0 -0
  315. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_sk819_retry_behavior.py +0 -0
  316. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_tokens.py +0 -0
  317. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_tools.py +0 -0
  318. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_transient_error_no_retry.py +0 -0
  319. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_trigger_events.py +0 -0
  320. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_triggers_api_live.py +0 -0
  321. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_user_roles_permissions.py +0 -0
  322. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.0}/tests/test_users.py +0 -0
  323. {scalekit_sdk_python-2.23.0 → scalekit_sdk_python-2.24.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.23.0
3
+ Version: 2.24.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.23.0"
3
+ __version__ = "2.24.0"
@@ -146,6 +146,9 @@ class TriggerSubscribeOutcome(str, Enum):
146
146
  NOT_FOUND = "NOT_FOUND"
147
147
  FAILED = "FAILED"
148
148
  """Could not be created this time; safe to retry."""
149
+ NOT_ATTEMPTED = "NOT_ATTEMPTED"
150
+ """Not tried: an earlier account stopped the batch or its time ran out. Nothing was
151
+ created for the account; ``reason`` says which, and retrying is safe."""
149
152
 
150
153
 
151
154
  class TriggerSubscriptionDeleteOutcome(str, Enum):
@@ -295,6 +298,11 @@ class AvailableTrigger(_TriggerModel):
295
298
  whole connection.
296
299
  requires_signing_secret: The provider signs its events with a secret you set
297
300
  with ``set_signing_secret``.
301
+ ingress_per_account: ``True`` when events arrive through one webhook URL per
302
+ connected account instead of one per connection. Create each URL and set
303
+ its secret by passing ``connected_account_id`` to
304
+ ``create_ingress_endpoint`` and the signing-secret methods. Always
305
+ ``False`` for poll triggers.
298
306
 
299
307
  Example:
300
308
  >>> page = client.actions.triggers.list_available("conn_123")
@@ -320,6 +328,7 @@ class AvailableTrigger(_TriggerModel):
320
328
  register_hint: str = ""
321
329
  secret_hint: str = ""
322
330
  provides_bearer_secret: bool = False
331
+ ingress_per_account: bool = False
323
332
 
324
333
  @classmethod
325
334
  def from_proto(cls, proto: pb.AvailableTrigger) -> AvailableTrigger:
@@ -352,6 +361,7 @@ class AvailableTrigger(_TriggerModel):
352
361
  register_hint=proto.register_hint,
353
362
  secret_hint=proto.secret_hint,
354
363
  provides_bearer_secret=proto.provides_bearer_secret,
364
+ ingress_per_account=proto.ingress_per_account,
355
365
  )
356
366
 
357
367
 
@@ -843,6 +853,12 @@ class TriggerIngressEndpoint(_TriggerModel):
843
853
  accepted; ``None`` when no rotation is in progress.
844
854
  signing_secret_rotation_id: The latest rotation; pass it to
845
855
  ``confirm_signing_secret_rotation``. ``0`` when none ever started.
856
+ connected_account_id: The connected account this URL delivers to, when
857
+ ``scope`` is ``DeliveryScope.ACCOUNT``; ``""`` for the connection's URL.
858
+ scope: ``DeliveryScope.CONNECTION`` for the connection's URL,
859
+ ``DeliveryScope.ACCOUNT`` for one connected account's own URL; ``None``
860
+ when the server did not say. A scope this SDK version does not know is a
861
+ plain ``str``.
846
862
 
847
863
  Example:
848
864
  >>> endpoint = client.actions.triggers.create_ingress_endpoint("conn_123")
@@ -857,6 +873,8 @@ class TriggerIngressEndpoint(_TriggerModel):
857
873
  rotation_in_progress: bool = False
858
874
  previous_signing_secret_expires_at: datetime | None = None
859
875
  signing_secret_rotation_id: int = 0
876
+ connected_account_id: str = ""
877
+ scope: DeliveryScope | str | None = None
860
878
 
861
879
  @classmethod
862
880
  def from_proto(cls, proto: pb.TriggerIngressEndpoint) -> TriggerIngressEndpoint:
@@ -872,6 +890,8 @@ class TriggerIngressEndpoint(_TriggerModel):
872
890
  proto, "previous_signing_secret_expires_at"
873
891
  ),
874
892
  signing_secret_rotation_id=proto.signing_secret_rotation_id,
893
+ connected_account_id=proto.connected_account_id,
894
+ scope=enum_from_proto(DeliveryScope, pb.TriggerDeliveryScope, proto.scope),
875
895
  )
876
896
 
877
897
 
@@ -10,7 +10,13 @@ from typing import Protocol
10
10
 
11
11
  from pydantic import ValidationError
12
12
 
13
- from scalekit._convert import date_to_str, enum_to_proto, str_list, timedelta_to_seconds
13
+ from scalekit._convert import (
14
+ date_to_str,
15
+ enum_to_proto,
16
+ require,
17
+ str_list,
18
+ timedelta_to_seconds,
19
+ )
14
20
  from scalekit.actions.models.trigger_event import TriggerEvent
15
21
  from scalekit.actions.models.triggers import (
16
22
  BatchCreateTriggerSubscriptionsResponse,
@@ -68,6 +74,17 @@ class HeadersLike(Protocol):
68
74
  ...
69
75
 
70
76
 
77
+ def _account_id(value: str | None) -> str | None:
78
+ """Pass ``connected_account_id`` through, refusing ``""``.
79
+
80
+ The server reads an empty ID as "not given", so ``""`` would quietly act on the
81
+ connection's own URL instead of failing; ``None`` is the way to leave it out.
82
+ """
83
+ if value is not None:
84
+ require("connected_account_id", value)
85
+ return value
86
+
87
+
71
88
  # Separator a server or proxy puts between repeated header values it joins into one
72
89
  # line: "," plus the spaces or tabs after it. Values are not otherwise trimmed, so
73
90
  # " 1" stays " 1" (and fails the timestamp check).
@@ -496,8 +513,9 @@ class ActionTriggers:
496
513
  """Subscribe up to 100 connected accounts to a trigger in one call.
497
514
 
498
515
  Not atomic: each account gets its own outcome in ``results`` (``CREATED``,
499
- ``ALREADY_SUBSCRIBED``, ``REFUSED``, ``NOT_FOUND``, ``FAILED``), and those never
500
- raise. Safe to call again for the ``FAILED`` ones. For a connection-scoped
516
+ ``ALREADY_SUBSCRIBED``, ``REFUSED``, ``NOT_FOUND``, ``FAILED``,
517
+ ``NOT_ATTEMPTED``), and those never raise. Safe to call again for the ``FAILED``
518
+ and ``NOT_ATTEMPTED`` ones (nothing was created for them). For a connection-scoped
501
519
  trigger, leave ``connected_account_ids`` out.
502
520
 
503
521
  Args:
@@ -655,54 +673,84 @@ class ActionTriggers:
655
673
 
656
674
  # Ingress endpoint and signing secret
657
675
 
658
- def get_ingress_endpoint(self, connection_id: str) -> TriggerIngressEndpoint:
659
- """Read the webhook URL a provider sends a connection's events to.
676
+ def get_ingress_endpoint(
677
+ self, connection_id: str, *, connected_account_id: str | None = None
678
+ ) -> TriggerIngressEndpoint:
679
+ """Read the webhook URL a provider sends events to, and its signing-secret state.
660
680
 
661
681
  Args:
662
682
  connection_id: The connection (``conn_...``).
683
+ connected_account_id: Act on this connected account's own webhook URL
684
+ (``ca_...``), for a trigger whose ``AvailableTrigger.ingress_per_account``
685
+ is ``True``. Leave it out to act on the connection's URL. The server
686
+ answers an account that is not on this connection as not found.
663
687
 
664
688
  Returns:
665
689
  The URL and the state of its signing secret (never the secret itself).
666
690
 
667
691
  Raises:
668
- ValueError: ``connection_id`` is empty.
692
+ ValueError: ``connection_id`` or ``connected_account_id`` is empty.
693
+ ScalekitBadRequestException: ``connected_account_id`` is malformed.
669
694
  ScalekitNotFoundException: No webhook URL yet
670
695
  (``TRIGGER_INGRESS_ENDPOINT_NOT_CREATED``; call
671
- ``create_ingress_endpoint``), or unknown connection
672
- (``RESOURCE_NOT_FOUND``).
696
+ ``create_ingress_endpoint``), or unknown connection or connected
697
+ account (``RESOURCE_NOT_FOUND``).
673
698
 
674
699
  Example:
675
700
  >>> endpoint = client.actions.triggers.get_ingress_endpoint("conn_123")
676
701
  >>> endpoint.signing_secret_configured
702
+ >>> account_endpoint = client.actions.triggers.get_ingress_endpoint(
703
+ ... "conn_123", connected_account_id="ca_456")
704
+ >>> account_endpoint.scope
677
705
  """
678
- response = self._client().get_trigger_ingress_endpoint(connection_id)
706
+ response = self._client().get_trigger_ingress_endpoint(
707
+ connection_id, connected_account_id=_account_id(connected_account_id)
708
+ )
679
709
  return TriggerIngressEndpoint.from_proto(response[0])
680
710
 
681
- def create_ingress_endpoint(self, connection_id: str) -> TriggerIngressEndpoint:
682
- """Create a connection's webhook URL, or return the existing one.
711
+ def create_ingress_endpoint(
712
+ self, connection_id: str, *, connected_account_id: str | None = None
713
+ ) -> TriggerIngressEndpoint:
714
+ """Create a webhook URL, or return the existing one.
683
715
 
684
716
  Args:
685
717
  connection_id: The connection (``conn_...``).
718
+ connected_account_id: Act on this connected account's own webhook URL
719
+ (``ca_...``), for a trigger whose ``AvailableTrigger.ingress_per_account``
720
+ is ``True``. Leave it out to act on the connection's URL. The server
721
+ answers an account that is not on this connection as not found.
686
722
 
687
723
  Returns:
688
724
  The URL to paste into the provider's app configuration.
689
725
 
690
726
  Raises:
691
- ValueError: ``connection_id`` is empty.
727
+ ValueError: ``connection_id`` or ``connected_account_id`` is empty.
692
728
  ScalekitBadRequestException: The connection has no webhook trigger
693
- (``TRIGGER_INGRESS_NOT_APPLICABLE``), or its trigger definitions are
694
- unavailable (``TRIGGER_INGRESS_DEFINITIONS_UNAVAILABLE``).
695
- ScalekitNotFoundException: Unknown connection.
729
+ (``TRIGGER_INGRESS_NOT_APPLICABLE``), its trigger definitions are
730
+ unavailable (``TRIGGER_INGRESS_DEFINITIONS_UNAVAILABLE``), or the
731
+ request does not fit how the connection's webhook triggers are
732
+ delivered (``TRIGGER_INGRESS_SCOPE_MISMATCH``), ``connected_account_id``
733
+ is malformed, or that account is inactive or only has a pending
734
+ consent.
735
+ ScalekitNotFoundException: Unknown connection or connected account.
696
736
 
697
737
  Example:
698
738
  >>> endpoint = client.actions.triggers.create_ingress_endpoint("conn_123")
699
739
  >>> print("paste into the provider:", endpoint.url)
740
+ >>> account_endpoint = client.actions.triggers.create_ingress_endpoint(
741
+ ... "conn_123", connected_account_id="ca_456")
700
742
  """
701
- response = self._client().create_trigger_ingress_endpoint(connection_id)
743
+ response = self._client().create_trigger_ingress_endpoint(
744
+ connection_id, connected_account_id=_account_id(connected_account_id)
745
+ )
702
746
  return TriggerIngressEndpoint.from_proto(response[0])
703
747
 
704
748
  def set_signing_secret(
705
- self, connection_id: str, *, signing_secret: str
749
+ self,
750
+ connection_id: str,
751
+ *,
752
+ signing_secret: str,
753
+ connected_account_id: str | None = None,
706
754
  ) -> TriggerIngressEndpoint:
707
755
  """Store the signing secret the provider signs its events with.
708
756
 
@@ -715,31 +763,47 @@ class ActionTriggers:
715
763
  connection_id: The connection (``conn_...``).
716
764
  signing_secret: The secret from the provider's app configuration (8-4096
717
765
  characters; surrounding whitespace is trimmed by the server).
766
+ connected_account_id: Act on this connected account's own webhook URL
767
+ (``ca_...``), for a trigger whose ``AvailableTrigger.ingress_per_account``
768
+ is ``True``. Leave it out to act on the connection's URL. The server
769
+ answers an account that is not on this connection as not found.
718
770
 
719
771
  Returns:
720
772
  The endpoint, with ``masked_signing_secret`` and rotation state.
721
773
 
722
774
  Raises:
723
- ValueError: ``connection_id`` is empty.
724
- ScalekitBadRequestException: The secret is too short, or this provider uses
775
+ ValueError: ``connection_id`` or ``connected_account_id`` is empty.
776
+ ScalekitBadRequestException: ``connected_account_id`` is malformed, the
777
+ secret is too short, or this provider uses
725
778
  a secret Scalekit generates (``TRIGGER_SIGNING_SECRET_GENERATED_ONLY``;
726
779
  call ``generate_signing_secret``).
727
780
  ScalekitConflictException: A rotation is already in progress.
728
781
  ScalekitNotFoundException: No webhook URL yet
729
- (``TRIGGER_INGRESS_ENDPOINT_NOT_CREATED``).
782
+ (``TRIGGER_INGRESS_ENDPOINT_NOT_CREATED``), or unknown connection or
783
+ connected account.
730
784
 
731
785
  Example:
732
786
  >>> endpoint = client.actions.triggers.set_signing_secret(
733
787
  ... "conn_123", signing_secret=os.environ["PROVIDER_SIGNING_SECRET"])
734
788
  >>> endpoint.rotation_in_progress
789
+ >>> client.actions.triggers.set_signing_secret(
790
+ ... "conn_123",
791
+ ... signing_secret=os.environ["PROVIDER_SIGNING_SECRET"],
792
+ ... connected_account_id="ca_456")
735
793
  """
736
794
  response = self._client().set_trigger_signing_secret(
737
- connection_id, signing_secret=signing_secret
795
+ connection_id,
796
+ signing_secret=signing_secret,
797
+ connected_account_id=_account_id(connected_account_id),
738
798
  )
739
799
  return TriggerIngressEndpoint.from_proto(response[0])
740
800
 
741
801
  def confirm_signing_secret_rotation(
742
- self, connection_id: str, *, signing_secret_rotation_id: int | None = None
802
+ self,
803
+ connection_id: str,
804
+ *,
805
+ signing_secret_rotation_id: int | None = None,
806
+ connected_account_id: str | None = None,
743
807
  ) -> TriggerIngressEndpoint:
744
808
  """Finish a signing-secret rotation so only the new secret is accepted.
745
809
 
@@ -748,15 +812,20 @@ class ActionTriggers:
748
812
  signing_secret_rotation_id: ``TriggerIngressEndpoint.signing_secret_rotation_id``
749
813
  of the rotation to confirm. Required while a rotation is in progress;
750
814
  ignored when none is.
815
+ connected_account_id: Act on this connected account's own webhook URL
816
+ (``ca_...``), for a trigger whose ``AvailableTrigger.ingress_per_account``
817
+ is ``True``. Leave it out to act on the connection's URL. The server
818
+ answers an account that is not on this connection as not found.
751
819
 
752
820
  Returns:
753
821
  The endpoint after the confirmation.
754
822
 
755
823
  Raises:
756
- ValueError: ``connection_id`` is empty.
757
- ScalekitBadRequestException: The rotation ID is missing or names an older
758
- rotation.
759
- ScalekitNotFoundException: No webhook URL yet.
824
+ ValueError: ``connection_id`` or ``connected_account_id`` is empty.
825
+ ScalekitBadRequestException: ``connected_account_id`` is malformed, or the
826
+ rotation ID is missing or names an older rotation.
827
+ ScalekitNotFoundException: No webhook URL yet, or unknown connection or
828
+ connected account.
760
829
 
761
830
  Example:
762
831
  >>> endpoint = client.actions.triggers.get_ingress_endpoint("conn_123")
@@ -764,11 +833,15 @@ class ActionTriggers:
764
833
  ... "conn_123", signing_secret_rotation_id=endpoint.signing_secret_rotation_id)
765
834
  """
766
835
  response = self._client().confirm_trigger_signing_secret_rotation(
767
- connection_id, signing_secret_rotation_id=signing_secret_rotation_id
836
+ connection_id,
837
+ signing_secret_rotation_id=signing_secret_rotation_id,
838
+ connected_account_id=_account_id(connected_account_id),
768
839
  )
769
840
  return TriggerIngressEndpoint.from_proto(response[0])
770
841
 
771
- def generate_signing_secret(self, connection_id: str) -> GenerateTriggerSigningSecretResponse:
842
+ def generate_signing_secret(
843
+ self, connection_id: str, *, connected_account_id: str | None = None
844
+ ) -> GenerateTriggerSigningSecretResponse:
772
845
  """Generate a signing secret, for providers that use one Scalekit creates.
773
846
 
774
847
  The secret is returned in plaintext only in this response; it is left out of
@@ -776,22 +849,32 @@ class ActionTriggers:
776
849
 
777
850
  Args:
778
851
  connection_id: The connection (``conn_...``).
852
+ connected_account_id: Act on this connected account's own webhook URL
853
+ (``ca_...``), for a trigger whose ``AvailableTrigger.ingress_per_account``
854
+ is ``True``. Leave it out to act on the connection's URL. The server
855
+ answers an account that is not on this connection as not found.
779
856
 
780
857
  Returns:
781
858
  The endpoint, the secret and the URL that includes it.
782
859
 
783
860
  Raises:
784
- ValueError: ``connection_id`` is empty.
785
- ScalekitBadRequestException: The provider signs its own events
861
+ ValueError: ``connection_id`` or ``connected_account_id`` is empty.
862
+ ScalekitBadRequestException: ``connected_account_id`` is malformed, or the
863
+ provider signs its own events
786
864
  (``TRIGGER_SIGNING_SECRET_NOT_GENERATABLE``; use ``set_signing_secret``).
787
865
  ScalekitConflictException: A rotation is in progress.
788
- ScalekitNotFoundException: No webhook URL yet.
866
+ ScalekitNotFoundException: No webhook URL yet, or unknown connection or
867
+ connected account.
789
868
 
790
869
  Example:
791
870
  >>> generated = client.actions.triggers.generate_signing_secret("conn_123")
792
871
  >>> save_to_provider(generated.url_with_secret)
872
+ >>> client.actions.triggers.generate_signing_secret(
873
+ ... "conn_123", connected_account_id="ca_456")
793
874
  """
794
- response = self._client().generate_trigger_signing_secret(connection_id)
875
+ response = self._client().generate_trigger_signing_secret(
876
+ connection_id, connected_account_id=_account_id(connected_account_id)
877
+ )
795
878
  return GenerateTriggerSigningSecretResponse.from_proto(response[0])
796
879
 
797
880
  # Deliveries
@@ -187,7 +187,7 @@ class CoreClient:
187
187
 
188
188
  sdk_version = f"Scalekit-Python/{_sdk_version}"
189
189
  # YYYYMMDD
190
- api_version = "20261027"
190
+ api_version = "20261106"
191
191
  user_agent = f"{sdk_version} Python/{platform.python_version()} ({platform.system()}; {platform.architecture()}"
192
192
 
193
193
  def __init__(
@@ -369,6 +369,7 @@ class ResourceClient:
369
369
  page_size: Optional[int] = None,
370
370
  page_token: Optional[str] = None,
371
371
  user_ids: Optional[List[str]] = None,
372
+ consent_ids: Optional[List[str]] = None,
372
373
  ) -> ListResourceUserConsentsResponse:
373
374
  """
374
375
  Method to list the end-user consents granted against a resource
@@ -377,9 +378,12 @@ class ResourceClient:
377
378
  scopes and granted_at. The response also carries total_size plus
378
379
  next_page_token / prev_page_token cursors.
379
380
 
380
- Pass user_ids to match specific external user IDs exactly and
381
- case-sensitively. Pass search for a case-insensitive substring match.
382
- When both are given, user_ids wins and search is ignored.
381
+ Pass consent_ids to fetch specific consents by ID. Pass user_ids to match
382
+ specific external user IDs exactly and case-sensitively. Pass search for a
383
+ case-insensitive substring match. When several are given, the priority is
384
+ consent_ids, then user_ids, then search; the lower ones are ignored. Blank-only
385
+ consent_ids are ignored. An older server ignores consent_ids, so confirm each
386
+ returned id is one you passed before revoking.
383
387
 
384
388
  :param resource_id : Resource id to list consents for (format: res_xxxxx)
385
389
  :type : ``` str ```
@@ -389,7 +393,11 @@ class ResourceClient:
389
393
  :type : ``` int ```
390
394
  :param page_token : Page token for pagination
391
395
  :type : ``` str ```
392
- :param user_ids : Exact match on external user IDs (max 25)
396
+ :param user_ids : Exact match on external user IDs (max 25). Ignored when consent_ids is set
397
+ :type : ``` list ```
398
+ :param consent_ids : Exact match on consent IDs (format: usrcnst_xxxxx), max 25 distinct.
399
+ Blank-only values are ignored. IDs that do not exist or belong to another
400
+ resource are omitted from the result
393
401
  :type : ``` list ```
394
402
  :returns:
395
403
  List Resource User Consents Response
@@ -397,6 +405,12 @@ class ResourceClient:
397
405
  if not resource_id:
398
406
  raise ValueError("resource_id is required")
399
407
 
408
+ # The filter overrides search server-side, so attach it only when IDs were supplied.
409
+ consent_filter = (
410
+ ResourceUserConsentFilter(external_user_id=user_ids, consent_id=consent_ids)
411
+ if user_ids or consent_ids else None
412
+ )
413
+
400
414
  return self.core_client.grpc_exec(
401
415
  self.client_service.ListResourceUserConsents.with_call,
402
416
  ListResourceUserConsentsRequest(
@@ -404,7 +418,7 @@ class ResourceClient:
404
418
  search=search,
405
419
  page_size=page_size,
406
420
  page_token=page_token,
407
- filter=ResourceUserConsentFilter(external_user_id=user_ids) if user_ids else None,
421
+ filter=consent_filter,
408
422
  )
409
423
  )
410
424
 
@@ -227,59 +227,99 @@ class TriggersClient:
227
227
  # Ingress endpoint and signing secret
228
228
 
229
229
  def get_trigger_ingress_endpoint(
230
- self, connection_id: str
230
+ self, connection_id: str, *, connected_account_id: str | None = None
231
231
  ) -> tuple[pb.TriggerIngressEndpoint, grpc.Call]:
232
- """Read a connection's webhook URL and signing-secret state."""
232
+ """Read a webhook URL and signing-secret state.
233
+
234
+ Reads the connection's URL, or one connected account's own URL when
235
+ ``connected_account_id`` is given. The ID is sent as given: the server treats
236
+ ``""`` as omitted, and validates the rest.
237
+ """
233
238
  require("connection_id", connection_id)
239
+ request = pb.GetTriggerIngressEndpointRequest(connection_id=connection_id)
240
+ if connected_account_id is not None:
241
+ request.connected_account_id = connected_account_id
234
242
  return self.core_client.grpc_exec(
235
243
  self.trigger_service.GetTriggerIngressEndpoint.with_call,
236
- pb.GetTriggerIngressEndpointRequest(connection_id=connection_id),
244
+ request,
237
245
  )
238
246
 
239
247
  def create_trigger_ingress_endpoint(
240
- self, connection_id: str
248
+ self, connection_id: str, *, connected_account_id: str | None = None
241
249
  ) -> tuple[pb.TriggerIngressEndpoint, grpc.Call]:
242
- """Create a connection's webhook URL, or return the existing one."""
250
+ """Create a webhook URL, or return the existing one.
251
+
252
+ Creates the connection's URL, or one connected account's own URL when
253
+ ``connected_account_id`` is given.
254
+ """
243
255
  require("connection_id", connection_id)
256
+ request = pb.CreateTriggerIngressEndpointRequest(connection_id=connection_id)
257
+ if connected_account_id is not None:
258
+ request.connected_account_id = connected_account_id
244
259
  return self.core_client.grpc_exec(
245
260
  self.trigger_service.CreateTriggerIngressEndpoint.with_call,
246
- pb.CreateTriggerIngressEndpointRequest(connection_id=connection_id),
261
+ request,
247
262
  )
248
263
 
249
264
  def set_trigger_signing_secret(
250
- self, connection_id: str, *, signing_secret: str
265
+ self,
266
+ connection_id: str,
267
+ *,
268
+ signing_secret: str,
269
+ connected_account_id: str | None = None,
251
270
  ) -> tuple[pb.TriggerIngressEndpoint, grpc.Call]:
252
- """Store the provider's signing secret, or start a rotation. Not retried."""
271
+ """Store the provider's signing secret, or start a rotation. Not retried.
272
+
273
+ Acts on one connected account's URL when ``connected_account_id`` is given.
274
+ """
253
275
  require("connection_id", connection_id)
276
+ request = pb.SetTriggerSigningSecretRequest(
277
+ connection_id=connection_id, signing_secret=signing_secret
278
+ )
279
+ if connected_account_id is not None:
280
+ request.connected_account_id = connected_account_id
254
281
  return self.core_client.grpc_exec(
255
282
  self.trigger_service.SetTriggerSigningSecret.with_call,
256
- pb.SetTriggerSigningSecretRequest(
257
- connection_id=connection_id, signing_secret=signing_secret
258
- ),
283
+ request,
259
284
  retry_on_unavailable=False,
260
285
  )
261
286
 
262
287
  def confirm_trigger_signing_secret_rotation(
263
- self, connection_id: str, *, signing_secret_rotation_id: int | None = None
288
+ self,
289
+ connection_id: str,
290
+ *,
291
+ signing_secret_rotation_id: int | None = None,
292
+ connected_account_id: str | None = None,
264
293
  ) -> tuple[pb.TriggerIngressEndpoint, grpc.Call]:
265
- """Confirm a signing-secret rotation so the previous secret stops being accepted."""
294
+ """Confirm a signing-secret rotation so the previous secret stops being accepted.
295
+
296
+ Acts on one connected account's URL when ``connected_account_id`` is given.
297
+ """
266
298
  require("connection_id", connection_id)
267
299
  request = pb.ConfirmTriggerSigningSecretRotationRequest(connection_id=connection_id)
268
300
  if signing_secret_rotation_id is not None:
269
301
  request.signing_secret_rotation_id = signing_secret_rotation_id
302
+ if connected_account_id is not None:
303
+ request.connected_account_id = connected_account_id
270
304
  return self.core_client.grpc_exec(
271
305
  self.trigger_service.ConfirmTriggerSigningSecretRotation.with_call,
272
306
  request,
273
307
  )
274
308
 
275
309
  def generate_trigger_signing_secret(
276
- self, connection_id: str
310
+ self, connection_id: str, *, connected_account_id: str | None = None
277
311
  ) -> tuple[pb.GenerateTriggerSigningSecretResponse, grpc.Call]:
278
- """Generate a signing secret for providers that use one Scalekit creates. Not retried."""
312
+ """Generate a signing secret for providers that use one Scalekit creates. Not retried.
313
+
314
+ Acts on one connected account's URL when ``connected_account_id`` is given.
315
+ """
279
316
  require("connection_id", connection_id)
317
+ request = pb.GenerateTriggerSigningSecretRequest(connection_id=connection_id)
318
+ if connected_account_id is not None:
319
+ request.connected_account_id = connected_account_id
280
320
  return self.core_client.grpc_exec(
281
321
  self.trigger_service.GenerateTriggerSigningSecret.with_call,
282
- pb.GenerateTriggerSigningSecretRequest(connection_id=connection_id),
322
+ request,
283
323
  retry_on_unavailable=False,
284
324
  )
285
325