clerk-sdk-ruby 5.0.2 → 5.1.0

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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/lib/clerk/models/components/actortoken_object.rb +0 -3
  3. data/lib/clerk/models/components/actortoken_status.rb +0 -3
  4. data/lib/clerk/models/components/allowlistidentifier_identifier_type.rb +0 -3
  5. data/lib/clerk/models/components/allowlistidentifier_object.rb +0 -3
  6. data/lib/clerk/models/components/billingpaymentattempt_object.rb +0 -3
  7. data/lib/clerk/models/components/billingpaymentattempt_status.rb +0 -3
  8. data/lib/clerk/models/components/billingpriceresponse_object.rb +0 -3
  9. data/lib/clerk/models/components/billingstatement_status.rb +0 -3
  10. data/lib/clerk/models/components/blocklistidentifier_identifier_type.rb +0 -3
  11. data/lib/clerk/models/components/blocklistidentifier_object.rb +0 -3
  12. data/lib/clerk/models/components/client_object.rb +0 -3
  13. data/lib/clerk/models/components/commercepayerresponse.rb +5 -1
  14. data/lib/clerk/models/components/commercepayerresponse.rbi +2 -0
  15. data/lib/clerk/models/components/commercepayerresponse_object.rb +0 -3
  16. data/lib/clerk/models/components/commercepaymentmethodresponse_object.rb +0 -3
  17. data/lib/clerk/models/components/commercepaymentmethodresponse_status.rb +0 -3
  18. data/lib/clerk/models/components/commerceplan_object.rb +0 -3
  19. data/lib/clerk/models/components/commercepricetransitionresponse_object.rb +0 -3
  20. data/lib/clerk/models/components/commercesubscription_object.rb +0 -3
  21. data/lib/clerk/models/components/commercesubscription_status.rb +0 -3
  22. data/lib/clerk/models/components/commercesubscriptionitem_object.rb +0 -3
  23. data/lib/clerk/models/components/commercesubscriptionitem_object_commerceplan.rb +0 -3
  24. data/lib/clerk/models/components/commercesubscriptionitem_plan_period.rb +0 -3
  25. data/lib/clerk/models/components/commercesubscriptionitem_status.rb +0 -3
  26. data/lib/clerk/models/components/cookies_object.rb +0 -3
  27. data/lib/clerk/models/components/domain_object.rb +0 -3
  28. data/lib/clerk/models/components/domains_enrollment_mode.rb +0 -3
  29. data/lib/clerk/models/components/effective_mode.rb +0 -3
  30. data/lib/clerk/models/components/emailaddress.rb +1 -1
  31. data/lib/clerk/models/components/emailaddress_admin.rb +1 -1
  32. data/lib/clerk/models/components/emailaddress_object.rb +1 -3
  33. data/lib/clerk/models/components/emailaddress_otp.rb +1 -1
  34. data/lib/clerk/models/components/emailaddress_ticket.rb +1 -1
  35. data/lib/clerk/models/components/emailaddress_verification_admin_object.rb +0 -3
  36. data/lib/clerk/models/components/emailaddress_verification_admin_status.rb +0 -3
  37. data/lib/clerk/models/components/emailaddress_verification_admin_strategy.rb +1 -3
  38. data/lib/clerk/models/components/emailaddress_verification_otp_object.rb +0 -3
  39. data/lib/clerk/models/components/emailaddress_verification_otp_status.rb +0 -3
  40. data/lib/clerk/models/components/emailaddress_verification_otp_strategy.rb +1 -3
  41. data/lib/clerk/models/components/emailaddress_verification_saml_object.rb +0 -3
  42. data/lib/clerk/models/components/emailaddress_verification_saml_status.rb +0 -3
  43. data/lib/clerk/models/components/emailaddress_verification_saml_strategy.rb +0 -3
  44. data/lib/clerk/models/components/emailaddress_verification_ticket_object.rb +0 -3
  45. data/lib/clerk/models/components/emailaddress_verification_ticket_status.rb +0 -3
  46. data/lib/clerk/models/components/emailaddress_verification_ticket_strategy.rb +1 -3
  47. data/lib/clerk/models/components/enrollment_mode.rb +0 -3
  48. data/lib/clerk/models/components/enterpriseaccount_oauth.rb +1 -1
  49. data/lib/clerk/models/components/enterpriseaccount_object.rb +0 -3
  50. data/lib/clerk/models/components/enterpriseaccount_ticket.rb +1 -1
  51. data/lib/clerk/models/components/enterpriseaccount_verification_oauth_object.rb +0 -3
  52. data/lib/clerk/models/components/enterpriseaccount_verification_oauth_status.rb +1 -3
  53. data/lib/clerk/models/components/enterpriseaccount_verification_saml_object.rb +0 -3
  54. data/lib/clerk/models/components/enterpriseaccount_verification_saml_status.rb +0 -3
  55. data/lib/clerk/models/components/enterpriseaccount_verification_saml_strategy.rb +0 -3
  56. data/lib/clerk/models/components/enterpriseaccount_verification_ticket_object.rb +0 -3
  57. data/lib/clerk/models/components/enterpriseaccount_verification_ticket_status.rb +0 -3
  58. data/lib/clerk/models/components/enterpriseaccount_verification_ticket_strategy.rb +1 -3
  59. data/lib/clerk/models/components/externalaccountwithverification_oauth.rb +1 -1
  60. data/lib/clerk/models/components/externalaccountwithverification_object.rb +0 -3
  61. data/lib/clerk/models/components/externalaccountwithverification_verification_oauth_object.rb +0 -3
  62. data/lib/clerk/models/components/externalaccountwithverification_verification_oauth_status.rb +1 -3
  63. data/lib/clerk/models/components/featureresponse_object.rb +0 -3
  64. data/lib/clerk/models/components/instance_object.rb +0 -3
  65. data/lib/clerk/models/components/instanceprotect_object.rb +0 -3
  66. data/lib/clerk/models/components/instancerestrictions_object.rb +0 -3
  67. data/lib/clerk/models/components/instancesettings_object.rb +0 -3
  68. data/lib/clerk/models/components/invitation_object.rb +0 -3
  69. data/lib/clerk/models/components/invitation_revoked_object.rb +0 -3
  70. data/lib/clerk/models/components/invitation_status.rb +0 -3
  71. data/lib/clerk/models/components/jwttemplate_object.rb +0 -3
  72. data/lib/clerk/models/components/machine_created_object.rb +0 -3
  73. data/lib/clerk/models/components/machine_deleted_object.rb +0 -3
  74. data/lib/clerk/models/components/machine_object.rb +0 -3
  75. data/lib/clerk/models/components/machine_secretkey_object.rb +0 -3
  76. data/lib/clerk/models/components/machinescope_deleted_object.rb +0 -3
  77. data/lib/clerk/models/components/machinescope_object.rb +0 -3
  78. data/lib/clerk/models/components/machinewithoutscopedmachines_object.rb +0 -3
  79. data/lib/clerk/models/components/next_action.rb +0 -3
  80. data/lib/clerk/models/components/nonce.rb +0 -3
  81. data/lib/clerk/models/components/oauthaccesstoken_object.rb +0 -3
  82. data/lib/clerk/models/components/oauthapplication_object.rb +0 -3
  83. data/lib/clerk/models/components/oauthapplicationwithsecret_object.rb +0 -3
  84. data/lib/clerk/models/components/object_commercesource.rb +0 -3
  85. data/lib/clerk/models/components/object_commercestatement.rb +0 -3
  86. data/lib/clerk/models/components/object_commercestatementgroup.rb +0 -3
  87. data/lib/clerk/models/components/object_rolesetmigration.rb +0 -3
  88. data/lib/clerk/models/components/organization.rb +6 -1
  89. data/lib/clerk/models/components/organization.rbi +2 -0
  90. data/lib/clerk/models/components/organization_object.rb +0 -3
  91. data/lib/clerk/models/components/organizationdomain_object.rb +0 -3
  92. data/lib/clerk/models/components/organizationdomain_status.rb +0 -3
  93. data/lib/clerk/models/components/organizationinvitation_object.rb +0 -3
  94. data/lib/clerk/models/components/organizationinvitationwithpublicorganizationdata_object.rb +0 -3
  95. data/lib/clerk/models/components/organizationmembership_object.rb +0 -3
  96. data/lib/clerk/models/components/organizationmembership_object_organization.rb +0 -3
  97. data/lib/clerk/models/components/organizationmembership_organization.rb +6 -1
  98. data/lib/clerk/models/components/organizationmembership_organization.rbi +2 -0
  99. data/lib/clerk/models/components/organizationsettings_object.rb +0 -3
  100. data/lib/clerk/models/components/organizationwithlogo.rb +6 -1
  101. data/lib/clerk/models/components/organizationwithlogo.rbi +2 -0
  102. data/lib/clerk/models/components/organizationwithlogo_object.rb +0 -3
  103. data/lib/clerk/models/components/passkey_object.rb +0 -3
  104. data/lib/clerk/models/components/payer.rb +5 -1
  105. data/lib/clerk/models/components/payer.rbi +2 -0
  106. data/lib/clerk/models/components/payment_method.rb +0 -3
  107. data/lib/clerk/models/components/payment_type.rb +0 -3
  108. data/lib/clerk/models/components/permission_object.rb +0 -3
  109. data/lib/clerk/models/components/phonenumber_admin.rb +1 -1
  110. data/lib/clerk/models/components/phonenumber_object.rb +0 -3
  111. data/lib/clerk/models/components/phonenumber_otp.rb +1 -1
  112. data/lib/clerk/models/components/phonenumber_verification_admin_object.rb +0 -3
  113. data/lib/clerk/models/components/phonenumber_verification_admin_status.rb +0 -3
  114. data/lib/clerk/models/components/phonenumber_verification_admin_strategy.rb +1 -3
  115. data/lib/clerk/models/components/phonenumber_verification_otp_object.rb +0 -3
  116. data/lib/clerk/models/components/phonenumber_verification_otp_status.rb +0 -3
  117. data/lib/clerk/models/components/phonenumber_verification_otp_strategy.rb +1 -3
  118. data/lib/clerk/models/components/previous_subscription_item_status.rb +0 -3
  119. data/lib/clerk/models/components/protocol.rb +0 -3
  120. data/lib/clerk/models/components/proxycheck_object.rb +0 -3
  121. data/lib/clerk/models/components/redirecturl_object.rb +0 -3
  122. data/lib/clerk/models/components/role_object.rb +0 -3
  123. data/lib/clerk/models/components/roleset_object.rb +0 -3
  124. data/lib/clerk/models/components/roleset_object_rolesetitem.rb +0 -3
  125. data/lib/clerk/models/components/rolesetitem_object.rb +0 -3
  126. data/lib/clerk/models/components/samlaccount_object.rb +0 -3
  127. data/lib/clerk/models/components/samlaccount_ticket.rb +1 -1
  128. data/lib/clerk/models/components/samlaccount_verification_saml_object.rb +0 -3
  129. data/lib/clerk/models/components/samlaccount_verification_saml_status.rb +0 -3
  130. data/lib/clerk/models/components/samlaccount_verification_saml_strategy.rb +0 -3
  131. data/lib/clerk/models/components/samlaccount_verification_ticket_object.rb +0 -3
  132. data/lib/clerk/models/components/samlaccount_verification_ticket_status.rb +0 -3
  133. data/lib/clerk/models/components/samlaccount_verification_ticket_strategy.rb +1 -3
  134. data/lib/clerk/models/components/schemas_commerceplan_object.rb +0 -3
  135. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commercepayer.rb +0 -3
  136. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commerceplan.rb +0 -3
  137. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commercesubscriptionitem.rb +0 -3
  138. data/lib/clerk/models/components/schemas_commercesubscriptionitem_plan_period.rb +0 -3
  139. data/lib/clerk/models/components/schemas_commercesubscriptionitem_status.rb +0 -3
  140. data/lib/clerk/models/components/schemas_featureresponse_object.rb +0 -3
  141. data/lib/clerk/models/components/schemas_samlconnection_object_1.rb +0 -3
  142. data/lib/clerk/models/components/schemas_samlconnection_object_2.rb +0 -3
  143. data/lib/clerk/models/components/session_object.rb +0 -3
  144. data/lib/clerk/models/components/session_status.rb +0 -3
  145. data/lib/clerk/models/components/signintoken_object.rb +0 -3
  146. data/lib/clerk/models/components/signintoken_status.rb +0 -3
  147. data/lib/clerk/models/components/signup_object.rb +0 -3
  148. data/lib/clerk/models/components/signup_status.rb +0 -3
  149. data/lib/clerk/models/components/status_commercesource.rb +0 -3
  150. data/lib/clerk/models/components/status_response.rb +0 -3
  151. data/lib/clerk/models/components/template_object.rb +0 -3
  152. data/lib/clerk/models/components/testingtoken_object.rb +0 -3
  153. data/lib/clerk/models/components/token_object.rb +0 -3
  154. data/lib/clerk/models/components/totalcount_object.rb +0 -3
  155. data/lib/clerk/models/components/type.rb +0 -3
  156. data/lib/clerk/models/components/user_object.rb +0 -3
  157. data/lib/clerk/models/components/verification_email_link_object.rb +0 -3
  158. data/lib/clerk/models/components/verification_email_link_status.rb +0 -3
  159. data/lib/clerk/models/components/verification_email_link_strategy.rb +0 -3
  160. data/lib/clerk/models/components/verification_from_oauth_object.rb +0 -3
  161. data/lib/clerk/models/components/verification_from_oauth_status.rb +0 -3
  162. data/lib/clerk/models/components/verification_google_one_tap_object.rb +0 -3
  163. data/lib/clerk/models/components/verification_google_one_tap_status.rb +0 -3
  164. data/lib/clerk/models/components/verification_google_one_tap_strategy.rb +0 -3
  165. data/lib/clerk/models/components/verification_passkey_object.rb +0 -3
  166. data/lib/clerk/models/components/verification_passkey_status.rb +0 -3
  167. data/lib/clerk/models/components/verification_passkey_strategy.rb +0 -3
  168. data/lib/clerk/models/components/verification_web3_object.rb +0 -3
  169. data/lib/clerk/models/components/verification_web3_status.rb +0 -3
  170. data/lib/clerk/models/components/verification_web3_strategy.rb +0 -3
  171. data/lib/clerk/models/components/waitlistentry_object.rb +0 -3
  172. data/lib/clerk/models/components/waitlistentry_object_invitation.rb +0 -3
  173. data/lib/clerk/models/components/waitlistentry_status.rb +0 -3
  174. data/lib/clerk/models/components/waitlistentry_status_invitation.rb +0 -3
  175. data/lib/clerk/models/components/web3wallet_admin.rb +1 -1
  176. data/lib/clerk/models/components/web3wallet_object.rb +0 -3
  177. data/lib/clerk/models/components/web3wallet_verification_admin_object.rb +0 -3
  178. data/lib/clerk/models/components/web3wallet_verification_admin_status.rb +0 -3
  179. data/lib/clerk/models/components/web3wallet_verification_admin_strategy.rb +1 -3
  180. data/lib/clerk/models/operations/code_type.rb +0 -3
  181. data/lib/clerk/models/operations/createapikey_object.rb +0 -3
  182. data/lib/clerk/models/operations/createbulkinvitations_template_slug.rb +0 -3
  183. data/lib/clerk/models/operations/createinvitation_template_slug.rb +0 -3
  184. data/lib/clerk/models/operations/createm2mtoken_object.rb +0 -3
  185. data/lib/clerk/models/operations/createorganization_request.rb +5 -1
  186. data/lib/clerk/models/operations/createorganization_request.rbi +2 -0
  187. data/lib/clerk/models/operations/createroleset_type.rb +0 -3
  188. data/lib/clerk/models/operations/createsessiontoken_object.rb +0 -3
  189. data/lib/clerk/models/operations/createsessiontokenfromtemplate_object.rb +0 -3
  190. data/lib/clerk/models/operations/deleteapikey_object.rb +0 -3
  191. data/lib/clerk/models/operations/enrollment_mode.rb +0 -3
  192. data/lib/clerk/models/operations/format.rb +0 -3
  193. data/lib/clerk/models/operations/getapikey_object.rb +0 -3
  194. data/lib/clerk/models/operations/getapikeys_object.rb +0 -3
  195. data/lib/clerk/models/operations/getcommerceplanlist_payer_type.rb +0 -3
  196. data/lib/clerk/models/operations/getcommercesubscriptionitemlist_payer_type.rb +0 -3
  197. data/lib/clerk/models/operations/getcommercesubscriptionitemlist_status.rb +0 -3
  198. data/lib/clerk/models/operations/getm2mtokens_object.rb +0 -3
  199. data/lib/clerk/models/operations/getsessionlist_status.rb +0 -3
  200. data/lib/clerk/models/operations/gettemplate_template_type.rb +0 -3
  201. data/lib/clerk/models/operations/gettemplatelist_template_type.rb +0 -3
  202. data/lib/clerk/models/operations/include_invalid.rb +0 -3
  203. data/lib/clerk/models/operations/listinstanceorganizationinvitations_status.rb +0 -3
  204. data/lib/clerk/models/operations/listinvitations_status.rb +0 -3
  205. data/lib/clerk/models/operations/listorganizationinvitations_status.rb +0 -3
  206. data/lib/clerk/models/operations/listwaitlistentries_status.rb +0 -3
  207. data/lib/clerk/models/operations/provider_1.rb +0 -3
  208. data/lib/clerk/models/operations/provider_2.rb +0 -3
  209. data/lib/clerk/models/operations/reverttemplate_template_type.rb +0 -3
  210. data/lib/clerk/models/operations/revokeapikey_object.rb +0 -3
  211. data/lib/clerk/models/operations/revokem2mtoken_object.rb +0 -3
  212. data/lib/clerk/models/operations/toggletemplatedelivery_template_type.rb +0 -3
  213. data/lib/clerk/models/operations/updateapikey_object.rb +0 -3
  214. data/lib/clerk/models/operations/updateorganization_requestbody.rb +5 -1
  215. data/lib/clerk/models/operations/updateorganization_requestbody.rbi +2 -0
  216. data/lib/clerk/models/operations/updateroleset_type.rb +0 -3
  217. data/lib/clerk/models/operations/updatesamlconnection_requestbody.rb +5 -1
  218. data/lib/clerk/models/operations/updatesamlconnection_requestbody.rbi +2 -0
  219. data/lib/clerk/models/operations/upserttemplate_template_type.rb +0 -3
  220. data/lib/clerk/models/operations/usersgetorganizationinvitations_status.rb +0 -3
  221. data/lib/clerk/models/operations/verified.rb +0 -3
  222. data/lib/clerk/models/operations/verifyapikey_object.rb +0 -3
  223. data/lib/clerk/models/operations/verifym2mtoken_object.rb +0 -3
  224. data/lib/clerk/models/operations/verifyoauthaccesstoken_object.rb +0 -3
  225. data/lib/clerk/sdkconfiguration.rb +3 -3
  226. data/lib/clerk/utils/url.rb +1 -1
  227. data/lib/clerk/utils/utils.rb +9 -0
  228. data/lib/crystalline/enum.rbi +17 -0
  229. data/lib/crystalline/metadata_fields.rb +17 -13
  230. data/lib/crystalline/module.rb +90 -12
  231. data/lib/crystalline/types.rb +27 -0
  232. metadata +7 -6
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
  # ListWaitlistEntriesStatus - Filter waitlist entries by their status
11
11
  class ListWaitlistEntriesStatus
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  PENDING = new('pending')
18
15
  INVITED = new('invited')
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
  # Provider1 - The IdP provider of the connection.
11
11
  class Provider1
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  SAML_CUSTOM = new('saml_custom')
18
15
  SAML_OKTA = new('saml_okta')
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
  # Provider2 - The IdP provider of the connection.
11
11
  class Provider2
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  SAML_CUSTOM = new('saml_custom')
18
15
  SAML_OKTA = new('saml_okta')
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
  # RevertTemplateTemplateType - The type of template to revert
11
11
  class RevertTemplateTemplateType
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  EMAIL = new('email')
18
15
  SMS = new('sms')
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
 
11
11
  class RevokeApiKeyObject
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  API_KEY = new('api_key')
18
15
  end
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
 
11
11
  class RevokeM2MTokenObject
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  MACHINE_TO_MACHINE_TOKEN = new('machine_to_machine_token')
18
15
  end
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
  # ToggleTemplateDeliveryTemplateType - The type of template to toggle delivery for
11
11
  class ToggleTemplateDeliveryTemplateType
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  EMAIL = new('email')
18
15
  SMS = new('sms')
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
 
11
11
  class UpdateApiKeyObject
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  API_KEY = new('api_key')
18
15
  end
@@ -28,9 +28,11 @@ module Clerk
28
28
  field :admin_delete_enabled, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('admin_delete_enabled') } }
29
29
  # A custom date/time denoting _when_ the organization was created, specified in RFC3339 format (e.g. `2012-10-20T07:15:20.902Z`).
30
30
  field :created_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('created_at') } }
31
+ # The key of the [role set](https://clerk.com/docs/guides/organizations/control-access/role-sets) to assign to this organization.
32
+ field :role_set_key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('role_set_key') } }
31
33
 
32
34
 
33
- def initialize(public_metadata: nil, private_metadata: nil, name: nil, slug: nil, max_allowed_memberships: nil, admin_delete_enabled: nil, created_at: nil)
35
+ def initialize(public_metadata: nil, private_metadata: nil, name: nil, slug: nil, max_allowed_memberships: nil, admin_delete_enabled: nil, created_at: nil, role_set_key: nil)
34
36
  @public_metadata = public_metadata
35
37
  @private_metadata = private_metadata
36
38
  @name = name
@@ -38,6 +40,7 @@ module Clerk
38
40
  @max_allowed_memberships = max_allowed_memberships
39
41
  @admin_delete_enabled = admin_delete_enabled
40
42
  @created_at = created_at
43
+ @role_set_key = role_set_key
41
44
  end
42
45
 
43
46
 
@@ -50,6 +53,7 @@ module Clerk
50
53
  return false unless @max_allowed_memberships == other.max_allowed_memberships
51
54
  return false unless @admin_delete_enabled == other.admin_delete_enabled
52
55
  return false unless @created_at == other.created_at
56
+ return false unless @role_set_key == other.role_set_key
53
57
  true
54
58
  end
55
59
  end
@@ -22,4 +22,6 @@ class Clerk::Models::Operations::UpdateOrganizationRequestBody
22
22
  def admin_delete_enabled=(str_); end
23
23
  def created_at(); end
24
24
  def created_at=(str_); end
25
+ def role_set_key(); end
26
+ def role_set_key=(str_); end
25
27
  end
@@ -10,10 +10,7 @@ module Clerk
10
10
  # UpdateRoleSetType - Set to "initial" to make this the default role set for new organizations.
11
11
  # Only one role set can be "initial" per instance; setting this will change any existing initial role set to "custom".
12
12
  class UpdateRoleSetType
13
-
14
-
15
13
  include ::Crystalline::Enum
16
-
17
14
  enums do
18
15
  INITIAL = new('initial')
19
16
  end
@@ -46,9 +46,11 @@ module Clerk
46
46
  field :allow_idp_initiated, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('allow_idp_initiated') } }
47
47
  # Enable or deactivate additional identifications
48
48
  field :disable_additional_identifications, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('disable_additional_identifications') } }
49
+ # When enabling the connection, controls behavior when verified domains used for enrollment modes like automatic invitation or automatic suggestion already exist for the same domain. If true, those verified domains are removed and the connection is enabled. If false or omitted, the request fails when any such verified domain exists.
50
+ field :consent_verified_domains_deletion, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Clerk::Utils.field_name('consent_verified_domains_deletion') } }
49
51
 
50
52
 
51
- def initialize(force_authn: nil, name: nil, domain: nil, domains: nil, idp_entity_id: nil, idp_sso_url: nil, idp_certificate: nil, idp_metadata_url: nil, idp_metadata: nil, organization_id: nil, attribute_mapping: nil, active: nil, sync_user_attributes: nil, allow_subdomains: nil, allow_idp_initiated: nil, disable_additional_identifications: nil)
53
+ def initialize(force_authn: nil, name: nil, domain: nil, domains: nil, idp_entity_id: nil, idp_sso_url: nil, idp_certificate: nil, idp_metadata_url: nil, idp_metadata: nil, organization_id: nil, attribute_mapping: nil, active: nil, sync_user_attributes: nil, allow_subdomains: nil, allow_idp_initiated: nil, disable_additional_identifications: nil, consent_verified_domains_deletion: nil)
52
54
  @force_authn = force_authn
53
55
  @name = name
54
56
  @domain = domain
@@ -65,6 +67,7 @@ module Clerk
65
67
  @allow_subdomains = allow_subdomains
66
68
  @allow_idp_initiated = allow_idp_initiated
67
69
  @disable_additional_identifications = disable_additional_identifications
70
+ @consent_verified_domains_deletion = consent_verified_domains_deletion
68
71
  end
69
72
 
70
73
 
@@ -86,6 +89,7 @@ module Clerk
86
89
  return false unless @allow_subdomains == other.allow_subdomains
87
90
  return false unless @allow_idp_initiated == other.allow_idp_initiated
88
91
  return false unless @disable_additional_identifications == other.disable_additional_identifications
92
+ return false unless @consent_verified_domains_deletion == other.consent_verified_domains_deletion
89
93
  true
90
94
  end
91
95
  end
@@ -40,4 +40,6 @@ class Clerk::Models::Operations::UpdateSAMLConnectionRequestBody
40
40
  def allow_idp_initiated=(str_); end
41
41
  def disable_additional_identifications(); end
42
42
  def disable_additional_identifications=(str_); end
43
+ def consent_verified_domains_deletion(); end
44
+ def consent_verified_domains_deletion=(str_); end
43
45
  end
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
  # UpsertTemplateTemplateType - The type of template to update
11
11
  class UpsertTemplateTemplateType
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  EMAIL = new('email')
18
15
  SMS = new('sms')
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
  # UsersGetOrganizationInvitationsStatus - Filter organization invitations based on their status
11
11
  class UsersGetOrganizationInvitationsStatus
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  PENDING = new('pending')
18
15
  ACCEPTED = new('accepted')
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
  # Verified - Filter by verification status
11
11
  class Verified
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  TRUE = new('true')
18
15
  FALSE = new('false')
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
 
11
11
  class VerifyApiKeyObject
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  API_KEY = new('api_key')
18
15
  end
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
 
11
11
  class VerifyM2MTokenObject
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  MACHINE_TO_MACHINE_TOKEN = new('machine_to_machine_token')
18
15
  end
@@ -9,10 +9,7 @@ module Clerk
9
9
  module Operations
10
10
 
11
11
  class VerifyOAuthAccessTokenObject
12
-
13
-
14
12
  include ::Crystalline::Enum
15
-
16
13
  enums do
17
14
  CLERK_IDP_OAUTH_ACCESS_TOKEN = new('clerk_idp_oauth_access_token')
18
15
  end
@@ -77,9 +77,9 @@ module Clerk
77
77
  end
78
78
  @language = 'ruby'
79
79
  @openapi_doc_version = '2025-11-10'
80
- @sdk_version = '5.0.2'
81
- @gen_version = '2.809.2'
82
- @user_agent = 'speakeasy-sdk/ruby 5.0.2 2.809.2 2025-11-10 clerk-sdk-ruby'
80
+ @sdk_version = '5.1.0'
81
+ @gen_version = '2.822.1'
82
+ @user_agent = 'speakeasy-sdk/ruby 5.1.0 2.822.1 2025-11-10 clerk-sdk-ruby'
83
83
  end
84
84
 
85
85
 
@@ -74,7 +74,7 @@ module Clerk
74
74
  end
75
75
  path = path.sub("{#{param_metadata.fetch(:field_name, f.name)}}", pp_vals.join(','))
76
76
  else
77
- path = path.sub("{#{param_metadata.fetch(:field_name, f.name)}}", param.to_s)
77
+ path = path.sub("{#{param_metadata.fetch(:field_name, f.name)}}", val_to_string(param))
78
78
  end
79
79
  end
80
80
  end
@@ -97,6 +97,15 @@ module Clerk
97
97
  end
98
98
 
99
99
 
100
+ def self.open_enum_from_string(enum_type, optional)
101
+ Kernel.lambda do |s|
102
+ return nil if optional && s.nil?
103
+
104
+ return enum_type.deserialize(s)
105
+ end
106
+ end
107
+
108
+
100
109
  def self.field_name(name)
101
110
  proc { name }
102
111
  end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+
3
+ module Crystalline
4
+ module Enum
5
+ mixes_in_class_methods(ClassMethods)
6
+
7
+ module ClassMethods
8
+ def enums(&blk); end
9
+ def open!; end
10
+ def open?; end
11
+ def deserialize(val); end
12
+ end
13
+
14
+ def serialize; end
15
+ def known?; end
16
+ end
17
+ end
@@ -112,17 +112,21 @@ module Crystalline
112
112
  union_types = Crystalline::Utils.get_union_types(field_type)
113
113
  union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
114
114
 
115
- union_types.each do |union_type|
116
- begin
117
- to_build[key] = Crystalline.unmarshal_json(value, union_type)
118
- rescue TypeError
119
- next
120
- rescue NoMethodError
121
- next
122
- rescue KeyError
123
- next
115
+ if Crystalline.union_strategy == :populated_fields
116
+ to_build[key] = Crystalline.unmarshal_union_populated_fields(value, union_types)
117
+ else
118
+ union_types.each do |union_type|
119
+ begin
120
+ to_build[key] = Crystalline.unmarshal_json(value, union_type)
121
+ rescue TypeError
122
+ next
123
+ rescue NoMethodError
124
+ next
125
+ rescue KeyError
126
+ next
127
+ end
128
+ break
124
129
  end
125
- break
126
130
  end
127
131
  end
128
132
  elsif field_type.instance_of?(Class) && field_type.include?(::Crystalline::MetadataFields)
@@ -182,10 +186,10 @@ module Crystalline
182
186
  next if f.nil? && !required
183
187
  result[key] = nil if f.nil? && required
184
188
 
185
- if f.is_a? Array
189
+ if f.is_a? ::Array
186
190
  result[key] = f.map { |o| marshal_single(o) }
187
- elsif f.is_a? Hash
188
- result[key] = f.map { |k, v| [k, marshal_single(v)] }
191
+ elsif f.is_a? ::Hash
192
+ result[key] = f.transform_values { |v| marshal_single(v) }
189
193
  else
190
194
  result[key] = marshal_single(f)
191
195
  end
@@ -4,6 +4,11 @@
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module Crystalline
7
+ @union_strategy = :left_to_right
8
+
9
+ class << self
10
+ attr_accessor :union_strategy
11
+ end
7
12
 
8
13
  def self.to_dict(complex)
9
14
  if complex.is_a? Array
@@ -35,15 +40,10 @@ module Crystalline
35
40
  union_types = Crystalline::Utils.get_union_types(type)
36
41
  union_types = union_types.sort_by { |klass| Crystalline.non_nilable_attr_count(klass) }
37
42
 
38
- union_types.each do |union_type|
39
- unmarshalled_val = Crystalline.unmarshal_json(data, union_type)
40
- return unmarshalled_val
41
- rescue TypeError
42
- next
43
- rescue NoMethodError
44
- next
45
- rescue KeyError
46
- next
43
+ if Crystalline.union_strategy == :populated_fields
44
+ Crystalline.unmarshal_union_populated_fields(data, union_types)
45
+ else
46
+ Crystalline.unmarshal_union_left_to_right(data, union_types)
47
47
  end
48
48
  elsif Crystalline::Utils.arr? type
49
49
  data.map { |v| Crystalline.unmarshal_json(v, Crystalline::Utils.arr_of(type)) }
@@ -53,7 +53,7 @@ module Crystalline
53
53
  nil
54
54
  elsif Crystalline::Utils.boolean? type
55
55
  Crystalline::Utils.to_boolean(data)
56
- elsif type.is_a?(Class) && type < T::Enum
56
+ elsif type.is_a?(Class) && type.respond_to?(:enums) && type.respond_to?(:deserialize)
57
57
  type.deserialize(data)
58
58
  else
59
59
  data
@@ -74,6 +74,86 @@ module Crystalline
74
74
  end
75
75
  end
76
76
 
77
+ def self.unmarshal_union_left_to_right(data, union_types)
78
+ union_types.each do |union_type|
79
+ return Crystalline.unmarshal_json(data, union_type)
80
+ rescue TypeError
81
+ next
82
+ rescue NoMethodError
83
+ next
84
+ rescue KeyError
85
+ next
86
+ end
87
+ nil
88
+ end
89
+
90
+ def self.unmarshal_union_populated_fields(data, union_types)
91
+ best_value = nil
92
+ best_matched = -1
93
+ best_inexact = 0
94
+ best_unmatched = 0
95
+
96
+ union_types.each do |union_type|
97
+ value = Crystalline.unmarshal_json(data, union_type)
98
+ matched, inexact, unmatched = count_matched_fields(value, data)
99
+
100
+ if best_value.nil? ||
101
+ matched > best_matched ||
102
+ (matched == best_matched && inexact < best_inexact) ||
103
+ (matched == best_matched && inexact == best_inexact && unmatched < best_unmatched)
104
+ best_value = value
105
+ best_matched = matched
106
+ best_inexact = inexact
107
+ best_unmatched = unmatched
108
+ end
109
+ rescue TypeError
110
+ next
111
+ rescue NoMethodError
112
+ next
113
+ rescue KeyError
114
+ next
115
+ end
116
+ best_value
117
+ end
118
+
119
+ def self.count_matched_fields(value, raw_data)
120
+ matched = 0
121
+ inexact = 0
122
+ unmatched = 0
123
+
124
+ if value.class.include?(::Crystalline::MetadataFields)
125
+ value.fields.each do |field|
126
+ format_metadata = field.metadata.fetch(:format_json, {})
127
+ lookup = format_metadata.fetch(:letter_case, nil)&.call
128
+ field_val = value.send(field.name)
129
+
130
+ if raw_data.is_a?(::Hash) && lookup && raw_data.key?(lookup)
131
+ if field_val.class.include?(::Crystalline::MetadataFields) && raw_data[lookup].is_a?(::Hash)
132
+ nested_matched, nested_inexact, nested_unmatched = count_matched_fields(field_val, raw_data[lookup])
133
+ matched += nested_matched
134
+ inexact += nested_inexact
135
+ unmatched += nested_unmatched
136
+ else
137
+ matched += 1
138
+ if field_val.respond_to?(:known?) && !field_val.known?
139
+ inexact += 1
140
+ end
141
+ end
142
+ elsif !::Crystalline::Utils.nilable?(field.type)
143
+ unmatched += 1
144
+ end
145
+ end
146
+ elsif value.is_a?(::Array)
147
+ matched = value.length
148
+ elsif value.is_a?(::Hash)
149
+ matched = value.length
150
+ else
151
+ matched = 1
152
+ end
153
+
154
+ [matched, inexact, unmatched]
155
+ end
156
+
77
157
  def self.non_nilable_attr_count(klass)
78
158
  # somewhat sane sort ordering for Union deserialization.
79
159
  # All Crystalline objects return the number of non-nilable fields
@@ -87,8 +167,6 @@ module Crystalline
87
167
  else
88
168
  if klass == String
89
169
  return 0
90
- elsif klass.is_a?(T::Types::TypedArray) || klass.is_a?(T::Types::TypedHash)
91
- return 1
92
170
  end
93
171
  return 2
94
172
  end
@@ -67,9 +67,19 @@ module Crystalline
67
67
  end
68
68
  end
69
69
 
70
+ def open!
71
+ @open = true
72
+ end
73
+
74
+ def open?
75
+ @open == true
76
+ end
77
+
70
78
  def deserialize(val)
71
79
  if @mapping.include? val
72
80
  @mapping[val]
81
+ elsif open?
82
+ new(val)
73
83
  else
74
84
  raise "Invalid value for enum: #{val}"
75
85
  end
@@ -79,5 +89,22 @@ module Crystalline
79
89
  def serialize
80
90
  @val
81
91
  end
92
+
93
+ def known?
94
+ self.class.instance_variable_get(:@mapping)&.value?(self) || false
95
+ end
96
+
97
+ def ==(other)
98
+ other = other.serialize if other.is_a?(self.class)
99
+ @val == other
100
+ end
101
+
102
+ def eql?(other)
103
+ self == other
104
+ end
105
+
106
+ def hash
107
+ @val.hash
108
+ end
82
109
  end
83
110
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clerk-sdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.2
4
+ version: 5.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-02-06 00:00:00.000000000 Z
11
+ date: 2026-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '0'
53
+ version: 2.14.1
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: '0'
60
+ version: 2.14.1
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: faraday-multipart
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '2.5'
95
+ version: '3.0'
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '2.5'
102
+ version: '3.0'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: activesupport
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -2153,6 +2153,7 @@ files:
2153
2153
  - lib/clerk/webhooks.rb
2154
2154
  - lib/clerk_sdk_ruby.rb
2155
2155
  - lib/crystalline.rb
2156
+ - lib/crystalline/enum.rbi
2156
2157
  - lib/crystalline/metadata_fields.rb
2157
2158
  - lib/crystalline/module.rb
2158
2159
  - lib/crystalline/types.rb