clerk-sdk-ruby 7.0.0 → 8.0.1

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 (523) hide show
  1. checksums.yaml +4 -4
  2. data/lib/clerk/actortokens.rb +11 -11
  3. data/lib/clerk/admin_portal_link_tokens.rb +10 -10
  4. data/lib/clerk/agenttasks.rb +10 -10
  5. data/lib/clerk/allowlistidentifiers.rb +15 -15
  6. data/lib/clerk/api_keys.rb +40 -40
  7. data/lib/clerk/betafeatures.rb +10 -10
  8. data/lib/clerk/billing.rb +388 -52
  9. data/lib/clerk/blocklistidentifiers.rb +15 -15
  10. data/lib/clerk/clients.rb +15 -15
  11. data/lib/clerk/directories.rb +1534 -0
  12. data/lib/clerk/domains.rb +27 -24
  13. data/lib/clerk/emailaddresses.rb +43 -36
  14. data/lib/clerk/emailandsmstemplates.rb +6 -6
  15. data/lib/clerk/emailsmstemplates.rb +21 -21
  16. data/lib/clerk/enterpriseconnections.rb +35 -35
  17. data/lib/clerk/instancesettings.rb +60 -60
  18. data/lib/clerk/invitations.rb +20 -20
  19. data/lib/clerk/jwks.rb +5 -5
  20. data/lib/clerk/jwttemplates.rb +25 -25
  21. data/lib/clerk/m2m.rb +20 -20
  22. data/lib/clerk/machines.rb +45 -45
  23. data/lib/clerk/miscellaneous.rb +5 -5
  24. data/lib/clerk/models/components/amount_off.rb +44 -0
  25. data/lib/clerk/models/components/{schemas_commerceplan_fee.rbi → amount_off.rbi} +2 -2
  26. data/lib/clerk/models/components/applycommercediscountrequest.rb +32 -0
  27. data/lib/clerk/models/components/applycommercediscountrequest.rbi +13 -0
  28. data/lib/clerk/models/components/automation_disposition.rb +21 -0
  29. data/lib/clerk/models/components/automation_disposition.rbi +11 -0
  30. data/lib/clerk/models/components/billingpaymentattempt_totals.rb +1 -1
  31. data/lib/clerk/models/components/billingstatement.rb +1 -1
  32. data/lib/clerk/models/components/{group.rb → billingstatement_group.rb} +1 -1
  33. data/lib/clerk/models/components/{group.rbi → billingstatement_group.rbi} +2 -2
  34. data/lib/clerk/models/components/biometriccredential.rb +72 -0
  35. data/lib/clerk/models/components/biometriccredential.rbi +33 -0
  36. data/lib/clerk/models/components/biometriccredential_algorithm.rb +19 -0
  37. data/lib/clerk/models/components/biometriccredential_algorithm.rbi +11 -0
  38. data/lib/clerk/models/components/biometriccredential_list.rb +36 -0
  39. data/lib/clerk/models/components/biometriccredential_list.rbi +15 -0
  40. data/lib/clerk/models/components/biometriccredential_object.rb +19 -0
  41. data/lib/clerk/models/components/biometriccredential_object.rbi +11 -0
  42. data/lib/clerk/models/components/biometriccredential_platform.rb +20 -0
  43. data/lib/clerk/models/components/biometriccredential_platform.rbi +11 -0
  44. data/lib/clerk/models/components/biometriccredential_status.rb +20 -0
  45. data/lib/clerk/models/components/biometriccredential_status.rbi +11 -0
  46. data/lib/clerk/models/components/clerkerror.rb +1 -1
  47. data/lib/clerk/models/components/commercecreditledgerresponse.rb +3 -7
  48. data/lib/clerk/models/components/commercecreditledgerresponse.rbi +0 -2
  49. data/lib/clerk/models/components/commercediscountredemptionresponse.rb +93 -0
  50. data/lib/clerk/models/components/commercediscountredemptionresponse.rbi +43 -0
  51. data/lib/clerk/models/components/commercediscountredemptionresponse_amount.rb +45 -0
  52. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_amount.rbi → commercediscountredemptionresponse_amount.rbi} +2 -2
  53. data/lib/clerk/models/components/commercediscountredemptionresponse_object.rb +19 -0
  54. data/lib/clerk/models/components/commercediscountredemptionresponse_object.rbi +11 -0
  55. data/lib/clerk/models/components/commercediscountredemptionresponse_status.rb +21 -0
  56. data/lib/clerk/models/components/commercediscountredemptionresponse_status.rbi +11 -0
  57. data/lib/clerk/models/components/{schemas_commerceperunittotal.rb → commerceperunittotal_2.rb} +2 -2
  58. data/lib/clerk/models/components/{schemas_commerceperunittotal.rbi → commerceperunittotal_2.rbi} +2 -2
  59. data/lib/clerk/models/components/{schemas_commerceperunittotaltier.rb → commerceperunittotaltier_2.rb} +1 -1
  60. data/lib/clerk/models/components/{schemas_commerceperunittotaltier.rbi → commerceperunittotaltier_2.rbi} +2 -2
  61. data/lib/clerk/models/components/{schemas_commerceplan.rb → commerceplan_2.rb} +6 -6
  62. data/lib/clerk/models/components/{schemas_commerceplan.rbi → commerceplan_2.rbi} +2 -2
  63. data/lib/clerk/models/components/{schemas_commerceplan_fee.rb → commerceplan_2_annual_fee.rb} +1 -1
  64. data/lib/clerk/models/components/{schemas_commerceplan_annual_fee.rbi → commerceplan_2_annual_fee.rbi} +2 -2
  65. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_fee.rb → commerceplan_2_annual_monthly_fee.rb} +1 -1
  66. data/lib/clerk/models/components/{schemas_commerceplan_annual_monthly_fee.rbi → commerceplan_2_annual_monthly_fee.rbi} +2 -2
  67. data/lib/clerk/models/components/{schemas_commerceplan_annual_fee.rb → commerceplan_2_fee.rb} +1 -1
  68. data/lib/clerk/models/components/commerceplan_2_fee.rbi +19 -0
  69. data/lib/clerk/models/components/{schemas_commerceplan_object.rb → commerceplan_2_object.rb} +2 -2
  70. data/lib/clerk/models/components/commerceplan_2_object.rbi +11 -0
  71. data/lib/clerk/models/components/commercepricetransitiondetails.rb +1 -1
  72. data/lib/clerk/models/components/commercepricetransitionresponse.rb +1 -1
  73. data/lib/clerk/models/components/{schemas_commercesubscriptionitem.rb → commercesubscriptionitem_2.rb} +7 -7
  74. data/lib/clerk/models/components/{schemas_commercesubscriptionitem.rbi → commercesubscriptionitem_2.rbi} +2 -2
  75. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_amount.rb → commercesubscriptionitem_2_amount.rb} +1 -1
  76. data/lib/clerk/models/components/commercesubscriptionitem_2_amount.rbi +19 -0
  77. data/lib/clerk/models/components/{schemas_commerceplan_annual_monthly_fee.rb → commercesubscriptionitem_2_annual_fee.rb} +1 -1
  78. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_fee.rbi → commercesubscriptionitem_2_annual_fee.rbi} +2 -2
  79. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_annual_fee.rb → commercesubscriptionitem_2_annual_monthly_fee.rb} +1 -1
  80. data/lib/clerk/models/components/commercesubscriptionitem_2_annual_monthly_fee.rbi +19 -0
  81. data/lib/clerk/models/components/commercesubscriptionitem_2_fee.rb +44 -0
  82. data/lib/clerk/models/components/commercesubscriptionitem_2_fee.rbi +19 -0
  83. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment.rb → commercesubscriptionitem_2_next_payment.rb} +3 -3
  84. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment.rbi → commercesubscriptionitem_2_next_payment.rbi} +2 -2
  85. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_amount.rb → commercesubscriptionitem_2_next_payment_amount.rb} +1 -1
  86. data/lib/clerk/models/components/commercesubscriptionitem_2_next_payment_amount.rbi +19 -0
  87. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_credits.rb → commercesubscriptionitem_2_next_payment_credits.rb} +3 -3
  88. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_credits.rbi → commercesubscriptionitem_2_next_payment_credits.rbi} +2 -2
  89. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_credits_proration.rb → commercesubscriptionitem_2_next_payment_credits_proration.rb} +1 -1
  90. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_credits_proration.rbi → commercesubscriptionitem_2_next_payment_credits_proration.rbi} +2 -2
  91. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_discounts.rb → commercesubscriptionitem_2_next_payment_discounts.rb} +2 -2
  92. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_discounts.rbi → commercesubscriptionitem_2_next_payment_discounts.rbi} +2 -2
  93. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_discounts_proration.rb → commercesubscriptionitem_2_next_payment_discounts_proration.rb} +1 -1
  94. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_discounts_proration.rbi → commercesubscriptionitem_2_next_payment_discounts_proration.rbi} +2 -2
  95. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_payer.rb → commercesubscriptionitem_2_next_payment_payer.rb} +1 -1
  96. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_payer.rbi → commercesubscriptionitem_2_next_payment_payer.rbi} +2 -2
  97. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_totals.rb → commercesubscriptionitem_2_next_payment_totals.rb} +3 -3
  98. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_next_payment_totals.rbi → commercesubscriptionitem_2_next_payment_totals.rbi} +2 -2
  99. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_object_commercepayer.rb → commercesubscriptionitem_2_object_commercepayer.rb} +2 -2
  100. data/lib/clerk/models/components/commercesubscriptionitem_2_object_commercepayer.rbi +11 -0
  101. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_object_commerceplan.rb → commercesubscriptionitem_2_object_commerceplan.rb} +2 -2
  102. data/lib/clerk/models/components/commercesubscriptionitem_2_object_commerceplan.rbi +11 -0
  103. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_object_commercesubscriptionitem.rb → commercesubscriptionitem_2_object_commercesubscriptionitem.rb} +2 -2
  104. data/lib/clerk/models/components/commercesubscriptionitem_2_object_commercesubscriptionitem.rbi +11 -0
  105. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_plan.rb → commercesubscriptionitem_2_plan.rb} +6 -6
  106. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_plan.rbi → commercesubscriptionitem_2_plan.rbi} +2 -2
  107. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_plan_period.rb → commercesubscriptionitem_2_plan_period.rb} +2 -2
  108. data/lib/clerk/models/components/commercesubscriptionitem_2_plan_period.rbi +11 -0
  109. data/lib/clerk/models/components/{schemas_commercesubscriptionitem_status.rb → commercesubscriptionitem_2_status.rb} +2 -2
  110. data/lib/clerk/models/components/commercesubscriptionitem_2_status.rbi +11 -0
  111. data/lib/clerk/models/components/commercesubscriptionitem_totals.rb +1 -1
  112. data/lib/clerk/models/components/commercesubscriptionnextpayment.rb +1 -1
  113. data/lib/clerk/models/components/commercesubscriptionnextpayment_totals.rb +1 -1
  114. data/lib/clerk/models/components/createbillingpricerequest.rb +2 -2
  115. data/lib/clerk/models/components/directory.rb +80 -0
  116. data/lib/clerk/models/components/directory.rbi +37 -0
  117. data/lib/clerk/models/components/directory_custom_attribute.rb +52 -0
  118. data/lib/clerk/models/components/{custom_attribute.rbi → directory_custom_attribute.rbi} +4 -2
  119. data/lib/clerk/models/components/directory_group.rb +36 -0
  120. data/lib/clerk/models/components/directory_group.rbi +15 -0
  121. data/lib/clerk/models/components/directory_list.rb +36 -0
  122. data/lib/clerk/models/components/directory_list.rbi +15 -0
  123. data/lib/clerk/models/components/directory_object.rb +19 -0
  124. data/lib/clerk/models/components/{samlaccount_meta.rbi → directory_object.rbi} +2 -2
  125. data/lib/clerk/models/components/directorygrouprolemapping.rb +76 -0
  126. data/lib/clerk/models/components/directorygrouprolemapping.rbi +35 -0
  127. data/lib/clerk/models/components/directorygrouprolemapping_deleted.rb +43 -0
  128. data/lib/clerk/models/components/directorygrouprolemapping_deleted.rbi +17 -0
  129. data/lib/clerk/models/components/directorygrouprolemapping_deleted_object.rb +19 -0
  130. data/lib/clerk/models/components/directorygrouprolemapping_deleted_object.rbi +11 -0
  131. data/lib/clerk/models/components/directorygrouprolemapping_list.rb +36 -0
  132. data/lib/clerk/models/components/directorygrouprolemapping_list.rbi +15 -0
  133. data/lib/clerk/models/components/directorygrouprolemapping_object.rb +19 -0
  134. data/lib/clerk/models/components/directorygrouprolemapping_object.rbi +11 -0
  135. data/lib/clerk/models/components/dnstarget.rb +49 -0
  136. data/lib/clerk/models/components/dnstarget.rbi +21 -0
  137. data/lib/clerk/models/components/domain.rb +7 -2
  138. data/lib/clerk/models/components/domain.rbi +2 -0
  139. data/lib/clerk/models/components/effect.rb +20 -0
  140. data/lib/clerk/models/components/{clerkerror_meta.rbi → effect.rbi} +2 -2
  141. data/lib/clerk/models/components/emailaddress_verification_saml_clerkerror.rb +1 -1
  142. data/lib/clerk/models/components/enrollment_mode.rb +1 -0
  143. data/lib/clerk/models/components/enterpriseaccount_verification_oauth_clerkerror.rb +1 -1
  144. data/lib/clerk/models/components/enterpriseaccount_verification_saml_clerkerror.rb +1 -1
  145. data/lib/clerk/models/components/enterpriseconnection.rb +6 -2
  146. data/lib/clerk/models/components/enterpriseconnection.rbi +2 -0
  147. data/lib/clerk/models/components/{custom_attribute.rb → enterpriseconnection_custom_attribute.rb} +6 -2
  148. data/lib/clerk/models/components/enterpriseconnection_custom_attribute.rbi +23 -0
  149. data/lib/clerk/models/components/enterpriseconnection_mode.rb +21 -0
  150. data/lib/clerk/models/components/enterpriseconnection_mode.rbi +11 -0
  151. data/lib/clerk/models/components/enterpriseconnection_object.rb +19 -0
  152. data/lib/clerk/models/components/enterpriseconnection_object.rbi +11 -0
  153. data/lib/clerk/models/components/enterpriseconnection_saml_connection.rb +5 -1
  154. data/lib/clerk/models/components/enterpriseconnection_saml_connection.rbi +2 -0
  155. data/lib/clerk/models/components/externalaccountwithverification_verification_oauth_clerkerror.rb +1 -1
  156. data/lib/clerk/models/components/{schemas_featureresponse.rb → featureresponse_2.rb} +2 -2
  157. data/lib/clerk/models/components/{schemas_featureresponse.rbi → featureresponse_2.rbi} +2 -2
  158. data/lib/clerk/models/components/{schemas_featureresponse_object.rb → featureresponse_2_object.rb} +2 -2
  159. data/lib/clerk/models/components/featureresponse_2_object.rbi +11 -0
  160. data/lib/clerk/models/components/instance.rb +13 -1
  161. data/lib/clerk/models/components/instance.rbi +6 -0
  162. data/lib/clerk/models/components/instanceprotect.rb +14 -2
  163. data/lib/clerk/models/components/instanceprotect.rbi +6 -0
  164. data/lib/clerk/models/components/instancesettings.rb +4 -1
  165. data/lib/clerk/models/components/level.rb +21 -0
  166. data/lib/clerk/models/components/{clerkerrors_meta.rbi → level.rbi} +2 -2
  167. data/lib/clerk/models/components/login_hint.rb +36 -0
  168. data/lib/clerk/models/components/login_hint.rbi +15 -0
  169. data/lib/clerk/models/components/oauthapplication.rb +7 -2
  170. data/lib/clerk/models/components/oauthapplication.rbi +2 -0
  171. data/lib/clerk/models/components/oauthapplicationsettings.rb +26 -1
  172. data/lib/clerk/models/components/oauthapplicationsettings.rbi +12 -0
  173. data/lib/clerk/models/components/oauthapplicationwithsecret.rb +7 -2
  174. data/lib/clerk/models/components/oauthapplicationwithsecret.rbi +2 -0
  175. data/lib/clerk/models/components/organization.rb +6 -1
  176. data/lib/clerk/models/components/organization.rbi +2 -0
  177. data/lib/clerk/models/components/organizationmembership_organization.rb +6 -1
  178. data/lib/clerk/models/components/organizationmembership_organization.rbi +2 -0
  179. data/lib/clerk/models/components/organizationmembershippublicuserdata.rb +5 -1
  180. data/lib/clerk/models/components/organizationmembershippublicuserdata.rbi +2 -0
  181. data/lib/clerk/models/components/organizationwithlogo.rb +6 -1
  182. data/lib/clerk/models/components/organizationwithlogo.rbi +2 -0
  183. data/lib/clerk/models/components/payer_commercepayer.rb +1 -1
  184. data/lib/clerk/models/components/payment_type.rb +1 -0
  185. data/lib/clerk/models/components/record_type.rb +20 -0
  186. data/lib/clerk/models/components/record_type.rbi +11 -0
  187. data/lib/clerk/models/components/reverification.rb +74 -0
  188. data/lib/clerk/models/components/reverification.rbi +31 -0
  189. data/lib/clerk/models/components/reverification_object.rb +20 -0
  190. data/lib/clerk/models/components/reverification_object.rbi +11 -0
  191. data/lib/clerk/models/components/reverification_status.rb +21 -0
  192. data/lib/clerk/models/components/reverification_status.rbi +11 -0
  193. data/lib/clerk/models/components/samlaccount_clerkerror.rb +1 -1
  194. data/lib/clerk/models/components/samlconnection_1.rb +15 -1
  195. data/lib/clerk/models/components/samlconnection_1.rbi +6 -0
  196. data/lib/clerk/models/components/samlconnection_2.rb +15 -1
  197. data/lib/clerk/models/components/samlconnection_2.rbi +6 -0
  198. data/lib/clerk/models/components/samlconnectionloginhint.rb +36 -0
  199. data/lib/clerk/models/components/samlconnectionloginhint.rbi +15 -0
  200. data/lib/clerk/models/components/samlconnectionloginhint_mode.rb +21 -0
  201. data/lib/clerk/models/components/samlconnectionloginhint_mode.rbi +11 -0
  202. data/lib/clerk/models/components/scim_group.rb +36 -0
  203. data/lib/clerk/models/components/scim_group.rbi +15 -0
  204. data/lib/clerk/models/components/scimdirectory.rb +80 -0
  205. data/lib/clerk/models/components/scimdirectory.rbi +37 -0
  206. data/lib/clerk/models/components/scimdirectory_custom_attribute.rb +52 -0
  207. data/lib/clerk/models/components/scimdirectory_custom_attribute.rbi +23 -0
  208. data/lib/clerk/models/components/scimdirectory_list.rb +36 -0
  209. data/lib/clerk/models/components/scimdirectory_list.rbi +15 -0
  210. data/lib/clerk/models/components/scimdirectory_object.rb +19 -0
  211. data/lib/clerk/models/components/scimdirectory_object.rbi +11 -0
  212. data/lib/clerk/models/components/scimgrouprolemapping.rb +76 -0
  213. data/lib/clerk/models/components/scimgrouprolemapping.rbi +35 -0
  214. data/lib/clerk/models/components/scimgrouprolemapping_deleted.rb +43 -0
  215. data/lib/clerk/models/components/scimgrouprolemapping_deleted.rbi +17 -0
  216. data/lib/clerk/models/components/scimgrouprolemapping_deleted_object.rb +19 -0
  217. data/lib/clerk/models/components/scimgrouprolemapping_deleted_object.rbi +11 -0
  218. data/lib/clerk/models/components/scimgrouprolemapping_list.rb +36 -0
  219. data/lib/clerk/models/components/scimgrouprolemapping_list.rbi +15 -0
  220. data/lib/clerk/models/components/scimgrouprolemapping_object.rb +19 -0
  221. data/lib/clerk/models/components/scimgrouprolemapping_object.rbi +11 -0
  222. data/lib/clerk/models/components/scimusermetadata.rb +64 -0
  223. data/lib/clerk/models/components/scimusermetadata.rbi +27 -0
  224. data/lib/clerk/models/components/scimusermetadata_group.rb +36 -0
  225. data/lib/clerk/models/components/scimusermetadata_group.rbi +15 -0
  226. data/lib/clerk/models/components/seats.rb +1 -1
  227. data/lib/clerk/models/components/source.rb +21 -0
  228. data/lib/clerk/models/components/source.rbi +11 -0
  229. data/lib/clerk/models/components/trusteddevice.rb +72 -0
  230. data/lib/clerk/models/components/trusteddevice.rbi +33 -0
  231. data/lib/clerk/models/components/trusteddevice_algorithm.rb +19 -0
  232. data/lib/clerk/models/components/trusteddevice_algorithm.rbi +11 -0
  233. data/lib/clerk/models/components/trusteddevice_list.rb +36 -0
  234. data/lib/clerk/models/components/trusteddevice_list.rbi +15 -0
  235. data/lib/clerk/models/components/trusteddevice_object.rb +19 -0
  236. data/lib/clerk/models/components/trusteddevice_object.rbi +11 -0
  237. data/lib/clerk/models/components/trusteddevice_platform.rb +20 -0
  238. data/lib/clerk/models/components/trusteddevice_platform.rbi +11 -0
  239. data/lib/clerk/models/components/trusteddevice_status.rb +20 -0
  240. data/lib/clerk/models/components/trusteddevice_status.rbi +11 -0
  241. data/lib/clerk/models/components/user.rb +16 -3
  242. data/lib/clerk/models/components/user.rbi +4 -0
  243. data/lib/clerk/models/components/user_directory.rb +65 -0
  244. data/lib/clerk/models/components/user_directory.rbi +27 -0
  245. data/lib/clerk/models/components/user_scim.rb +27 -6
  246. data/lib/clerk/models/components/user_scim.rbi +10 -0
  247. data/lib/clerk/models/components/verification_from_oauth_clerkerror.rb +1 -1
  248. data/lib/clerk/models/components/verification_google_one_tap_clerkerror.rb +1 -1
  249. data/lib/clerk/models/components.rb +85 -39
  250. data/lib/clerk/models/errors/clerkerrors.rb +1 -1
  251. data/lib/clerk/models/operations/adddomain_request.rb +3 -6
  252. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_request.rb +36 -0
  253. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_request.rbi +15 -0
  254. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_response.rb +44 -0
  255. data/lib/clerk/models/operations/applybillingsubscriptionitemdiscount_response.rbi +19 -0
  256. data/lib/clerk/models/operations/clerkidpoauthaccesstoken.rb +5 -1
  257. data/lib/clerk/models/operations/clerkidpoauthaccesstoken.rbi +2 -0
  258. data/lib/clerk/models/operations/createdirectory_group_role_mapping.rb +52 -0
  259. data/lib/clerk/models/operations/createdirectory_group_role_mapping.rbi +23 -0
  260. data/lib/clerk/models/operations/createdirectory_request.rb +44 -0
  261. data/lib/clerk/models/operations/createdirectory_request.rbi +19 -0
  262. data/lib/clerk/models/operations/createdirectory_response.rb +44 -0
  263. data/lib/clerk/models/operations/createdirectory_response.rbi +19 -0
  264. data/lib/clerk/models/operations/createdirectorygrouprolemapping_request.rb +36 -0
  265. data/lib/clerk/models/operations/createdirectorygrouprolemapping_request.rbi +15 -0
  266. data/lib/clerk/models/operations/createdirectorygrouprolemapping_requestbody.rb +46 -0
  267. data/lib/clerk/models/operations/createdirectorygrouprolemapping_requestbody.rbi +19 -0
  268. data/lib/clerk/models/operations/createdirectorygrouprolemapping_response.rb +44 -0
  269. data/lib/clerk/models/operations/createdirectorygrouprolemapping_response.rbi +19 -0
  270. data/lib/clerk/models/operations/createemailaddress_request.rb +7 -1
  271. data/lib/clerk/models/operations/createemailaddress_request.rbi +2 -0
  272. data/lib/clerk/models/operations/createenterpriseconnection_custom_attribute.rb +5 -1
  273. data/lib/clerk/models/operations/createenterpriseconnection_custom_attribute.rbi +2 -0
  274. data/lib/clerk/models/operations/createenterpriseconnection_login_hint.rb +36 -0
  275. data/lib/clerk/models/operations/createenterpriseconnection_login_hint.rbi +15 -0
  276. data/lib/clerk/models/operations/createenterpriseconnection_mode.rb +21 -0
  277. data/lib/clerk/models/operations/createenterpriseconnection_mode.rbi +11 -0
  278. data/lib/clerk/models/operations/createenterpriseconnection_saml.rb +5 -1
  279. data/lib/clerk/models/operations/createenterpriseconnection_saml.rbi +2 -0
  280. data/lib/clerk/models/operations/createoauthapplication_request.rb +6 -2
  281. data/lib/clerk/models/operations/createoauthapplication_request.rbi +2 -0
  282. data/lib/clerk/models/operations/createorganizationdomain_requestbody.rb +1 -1
  283. data/lib/clerk/models/operations/createsamlconnection_login_hint_1.rb +36 -0
  284. data/lib/clerk/models/operations/createsamlconnection_login_hint_1.rbi +15 -0
  285. data/lib/clerk/models/operations/createsamlconnection_login_hint_2.rb +36 -0
  286. data/lib/clerk/models/operations/createsamlconnection_login_hint_2.rbi +15 -0
  287. data/lib/clerk/models/operations/createsamlconnection_mode_1.rb +21 -0
  288. data/lib/clerk/models/operations/createsamlconnection_mode_1.rbi +11 -0
  289. data/lib/clerk/models/operations/createsamlconnection_mode_2.rb +21 -0
  290. data/lib/clerk/models/operations/createsamlconnection_mode_2.rbi +11 -0
  291. data/lib/clerk/models/operations/createsamlconnection_requestbody_1.rb +5 -1
  292. data/lib/clerk/models/operations/createsamlconnection_requestbody_1.rbi +2 -0
  293. data/lib/clerk/models/operations/createsamlconnection_requestbody_2.rb +5 -1
  294. data/lib/clerk/models/operations/createsamlconnection_requestbody_2.rbi +2 -0
  295. data/lib/clerk/models/operations/createscimdirectory_group_role_mapping.rb +44 -0
  296. data/lib/clerk/models/operations/createscimdirectory_group_role_mapping.rbi +19 -0
  297. data/lib/clerk/models/operations/createscimdirectory_request.rb +44 -0
  298. data/lib/clerk/models/operations/createscimdirectory_request.rbi +19 -0
  299. data/lib/clerk/models/operations/createscimdirectory_response.rb +44 -0
  300. data/lib/clerk/models/operations/createscimdirectory_response.rbi +19 -0
  301. data/lib/clerk/models/operations/createscimgrouprolemapping_request.rb +36 -0
  302. data/lib/clerk/models/operations/createscimgrouprolemapping_request.rbi +15 -0
  303. data/lib/clerk/models/operations/createscimgrouprolemapping_requestbody.rb +42 -0
  304. data/lib/clerk/models/operations/createscimgrouprolemapping_requestbody.rbi +17 -0
  305. data/lib/clerk/models/operations/createscimgrouprolemapping_response.rb +44 -0
  306. data/lib/clerk/models/operations/createscimgrouprolemapping_response.rbi +19 -0
  307. data/lib/clerk/models/operations/createsignintoken_request.rb +6 -1
  308. data/lib/clerk/models/operations/createsignintoken_request.rbi +2 -0
  309. data/lib/clerk/models/operations/createuser_request.rb +8 -2
  310. data/lib/clerk/models/operations/createuser_request.rbi +2 -0
  311. data/lib/clerk/models/operations/deletedirectory_request.rb +32 -0
  312. data/lib/clerk/models/operations/deletedirectory_request.rbi +13 -0
  313. data/lib/clerk/models/operations/deletedirectory_response.rb +44 -0
  314. data/lib/clerk/models/operations/deletedirectory_response.rbi +19 -0
  315. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_request.rb +36 -0
  316. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_request.rbi +15 -0
  317. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_response.rb +44 -0
  318. data/lib/clerk/models/operations/deletedirectorygrouprolemapping_response.rbi +19 -0
  319. data/lib/clerk/models/operations/deletedomain_request.rb +1 -1
  320. data/lib/clerk/models/operations/deletescimdirectory_request.rb +32 -0
  321. data/lib/clerk/models/operations/deletescimdirectory_request.rbi +13 -0
  322. data/lib/clerk/models/operations/deletescimdirectory_response.rb +44 -0
  323. data/lib/clerk/models/operations/deletescimdirectory_response.rbi +19 -0
  324. data/lib/clerk/models/operations/deletescimgrouprolemapping_request.rb +36 -0
  325. data/lib/clerk/models/operations/deletescimgrouprolemapping_request.rbi +15 -0
  326. data/lib/clerk/models/operations/deletescimgrouprolemapping_response.rb +44 -0
  327. data/lib/clerk/models/operations/deletescimgrouprolemapping_response.rbi +19 -0
  328. data/lib/clerk/models/operations/enrollment_mode.rb +5 -0
  329. data/lib/clerk/models/operations/extendbillingsubscriptionitemfreetrial_response.rb +4 -4
  330. data/lib/clerk/models/operations/extendbillingsubscriptionitemfreetrial_response.rbi +2 -2
  331. data/lib/clerk/models/operations/getdirectory_request.rb +32 -0
  332. data/lib/clerk/models/operations/getdirectory_request.rbi +13 -0
  333. data/lib/clerk/models/operations/getdirectory_response.rb +44 -0
  334. data/lib/clerk/models/operations/getdirectory_response.rbi +19 -0
  335. data/lib/clerk/models/operations/getreverification_request.rb +36 -0
  336. data/lib/clerk/models/operations/getreverification_request.rbi +15 -0
  337. data/lib/clerk/models/operations/getreverification_response.rb +44 -0
  338. data/lib/clerk/models/operations/getreverification_response.rbi +19 -0
  339. data/lib/clerk/models/operations/getscimdirectory_request.rb +32 -0
  340. data/lib/clerk/models/operations/getscimdirectory_request.rbi +13 -0
  341. data/lib/clerk/models/operations/getscimdirectory_response.rb +44 -0
  342. data/lib/clerk/models/operations/getscimdirectory_response.rbi +19 -0
  343. data/lib/clerk/models/operations/getuserlist_request.rb +13 -1
  344. data/lib/clerk/models/operations/getuserlist_request.rbi +2 -0
  345. data/lib/clerk/models/operations/listallorganizationdomains_request.rb +2 -1
  346. data/lib/clerk/models/operations/listdirectories_request.rb +39 -0
  347. data/lib/clerk/models/operations/listdirectories_request.rbi +15 -0
  348. data/lib/clerk/models/operations/listdirectories_response.rb +44 -0
  349. data/lib/clerk/models/operations/listdirectories_response.rbi +19 -0
  350. data/lib/clerk/models/operations/listdirectorygrouprolemappings_request.rb +32 -0
  351. data/lib/clerk/models/operations/listdirectorygrouprolemappings_request.rbi +13 -0
  352. data/lib/clerk/models/operations/listdirectorygrouprolemappings_response.rb +44 -0
  353. data/lib/clerk/models/operations/listdirectorygrouprolemappings_response.rbi +19 -0
  354. data/lib/clerk/models/operations/listoauthapplications_request.rb +2 -0
  355. data/lib/clerk/models/operations/listorganizationdomains_request.rb +2 -1
  356. data/lib/clerk/models/operations/listscimdirectories_request.rb +39 -0
  357. data/lib/clerk/models/operations/listscimdirectories_request.rbi +15 -0
  358. data/lib/clerk/models/operations/listscimdirectories_response.rb +44 -0
  359. data/lib/clerk/models/operations/listscimdirectories_response.rbi +19 -0
  360. data/lib/clerk/models/operations/listscimgrouprolemappings_request.rb +32 -0
  361. data/lib/clerk/models/operations/listscimgrouprolemappings_request.rbi +13 -0
  362. data/lib/clerk/models/operations/listscimgrouprolemappings_response.rb +44 -0
  363. data/lib/clerk/models/operations/listscimgrouprolemappings_response.rbi +19 -0
  364. data/lib/clerk/models/operations/listuserbiometriccredentials_request.rb +32 -0
  365. data/lib/clerk/models/operations/listuserbiometriccredentials_request.rbi +13 -0
  366. data/lib/clerk/models/operations/listuserbiometriccredentials_response.rb +44 -0
  367. data/lib/clerk/models/operations/listuserbiometriccredentials_response.rbi +19 -0
  368. data/lib/clerk/models/operations/listusertrusteddevices_request.rb +32 -0
  369. data/lib/clerk/models/operations/listusertrusteddevices_request.rbi +13 -0
  370. data/lib/clerk/models/operations/listusertrusteddevices_response.rb +44 -0
  371. data/lib/clerk/models/operations/listusertrusteddevices_response.rbi +19 -0
  372. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_request.rb +36 -0
  373. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_request.rbi +15 -0
  374. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_response.rb +44 -0
  375. data/lib/clerk/models/operations/removebillingsubscriptionitemdiscount_response.rbi +19 -0
  376. data/lib/clerk/models/operations/removeuserpassword_request.rb +36 -0
  377. data/lib/clerk/models/operations/removeuserpassword_request.rbi +15 -0
  378. data/lib/clerk/models/operations/removeuserpassword_requestbody.rb +32 -0
  379. data/lib/clerk/models/operations/removeuserpassword_requestbody.rbi +13 -0
  380. data/lib/clerk/models/operations/removeuserpassword_response.rb +44 -0
  381. data/lib/clerk/models/operations/removeuserpassword_response.rbi +19 -0
  382. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_mapping.rb +40 -0
  383. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_mapping.rbi +17 -0
  384. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_request.rb +36 -0
  385. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_request.rbi +15 -0
  386. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_requestbody.rb +32 -0
  387. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_requestbody.rbi +13 -0
  388. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_response.rb +44 -0
  389. data/lib/clerk/models/operations/replacedirectorygrouprolemappings_response.rbi +19 -0
  390. data/lib/clerk/models/operations/replacescimgrouprolemappings_mapping.rb +36 -0
  391. data/lib/clerk/models/operations/replacescimgrouprolemappings_mapping.rbi +15 -0
  392. data/lib/clerk/models/operations/replacescimgrouprolemappings_request.rb +36 -0
  393. data/lib/clerk/models/operations/replacescimgrouprolemappings_request.rbi +15 -0
  394. data/lib/clerk/models/operations/replacescimgrouprolemappings_requestbody.rb +32 -0
  395. data/lib/clerk/models/operations/replacescimgrouprolemappings_requestbody.rbi +13 -0
  396. data/lib/clerk/models/operations/replacescimgrouprolemappings_response.rb +44 -0
  397. data/lib/clerk/models/operations/replacescimgrouprolemappings_response.rbi +19 -0
  398. data/lib/clerk/models/operations/replaceuseremailaddress_identification_status.rb +10 -2
  399. data/lib/clerk/models/operations/replaceuseremailaddress_requestbody.rb +16 -3
  400. data/lib/clerk/models/operations/replaceuseremailaddress_requestbody.rbi +2 -0
  401. data/lib/clerk/models/operations/replaceuserphonenumber_identification_status.rb +10 -2
  402. data/lib/clerk/models/operations/replaceuserphonenumber_requestbody.rb +9 -2
  403. data/lib/clerk/models/operations/revokeoauthapplicationtoken_request.rb +36 -0
  404. data/lib/clerk/models/operations/revokeoauthapplicationtoken_request.rbi +15 -0
  405. data/lib/clerk/models/operations/revokeoauthapplicationtoken_requestbody.rb +32 -0
  406. data/lib/clerk/models/operations/revokeoauthapplicationtoken_requestbody.rbi +13 -0
  407. data/lib/clerk/models/operations/revokeoauthapplicationtoken_response.rb +40 -0
  408. data/lib/clerk/models/operations/revokeoauthapplicationtoken_response.rbi +17 -0
  409. data/lib/clerk/models/operations/revokeuserbiometriccredential_request.rb +36 -0
  410. data/lib/clerk/models/operations/revokeuserbiometriccredential_request.rbi +15 -0
  411. data/lib/clerk/models/operations/revokeuserbiometriccredential_response.rb +44 -0
  412. data/lib/clerk/models/operations/revokeuserbiometriccredential_response.rbi +19 -0
  413. data/lib/clerk/models/operations/revokeusertrusteddevice_request.rb +36 -0
  414. data/lib/clerk/models/operations/revokeusertrusteddevice_request.rbi +15 -0
  415. data/lib/clerk/models/operations/revokeusertrusteddevice_response.rb +44 -0
  416. data/lib/clerk/models/operations/revokeusertrusteddevice_response.rbi +19 -0
  417. data/lib/clerk/models/operations/rotatedirectoryapikey_request.rb +32 -0
  418. data/lib/clerk/models/operations/rotatedirectoryapikey_request.rbi +13 -0
  419. data/lib/clerk/models/operations/rotatedirectoryapikey_response.rb +44 -0
  420. data/lib/clerk/models/operations/rotatedirectoryapikey_response.rbi +19 -0
  421. data/lib/clerk/models/operations/rotatescimdirectoryapikey_request.rb +32 -0
  422. data/lib/clerk/models/operations/rotatescimdirectoryapikey_request.rbi +13 -0
  423. data/lib/clerk/models/operations/rotatescimdirectoryapikey_response.rb +44 -0
  424. data/lib/clerk/models/operations/rotatescimdirectoryapikey_response.rbi +19 -0
  425. data/lib/clerk/models/operations/updatedirectory_request.rb +36 -0
  426. data/lib/clerk/models/operations/updatedirectory_request.rbi +15 -0
  427. data/lib/clerk/models/operations/updatedirectory_requestbody.rb +49 -0
  428. data/lib/clerk/models/operations/updatedirectory_requestbody.rbi +21 -0
  429. data/lib/clerk/models/operations/updatedirectory_response.rb +44 -0
  430. data/lib/clerk/models/operations/updatedirectory_response.rbi +19 -0
  431. data/lib/clerk/models/operations/updateemailaddress_requestbody.rb +7 -1
  432. data/lib/clerk/models/operations/updateemailaddress_requestbody.rbi +2 -0
  433. data/lib/clerk/models/operations/updateenterpriseconnection_custom_attribute.rb +5 -1
  434. data/lib/clerk/models/operations/updateenterpriseconnection_custom_attribute.rbi +2 -0
  435. data/lib/clerk/models/operations/updateenterpriseconnection_login_hint.rb +36 -0
  436. data/lib/clerk/models/operations/updateenterpriseconnection_login_hint.rbi +15 -0
  437. data/lib/clerk/models/operations/updateenterpriseconnection_mode.rb +21 -0
  438. data/lib/clerk/models/operations/updateenterpriseconnection_mode.rbi +11 -0
  439. data/lib/clerk/models/operations/updateenterpriseconnection_saml.rb +5 -1
  440. data/lib/clerk/models/operations/updateenterpriseconnection_saml.rbi +2 -0
  441. data/lib/clerk/models/operations/updateinstance_request.rb +15 -5
  442. data/lib/clerk/models/operations/updateinstance_request.rbi +6 -2
  443. data/lib/clerk/models/operations/updateinstanceoauthapplicationsettings_request.rb +26 -1
  444. data/lib/clerk/models/operations/updateinstanceoauthapplicationsettings_request.rbi +12 -0
  445. data/lib/clerk/models/operations/updateinstanceprotect_request.rb +1 -1
  446. data/lib/clerk/models/operations/updateoauthapplication_requestbody.rb +9 -5
  447. data/lib/clerk/models/operations/updateoauthapplication_requestbody.rbi +4 -2
  448. data/lib/clerk/models/operations/updateorganization_requestbody.rb +6 -1
  449. data/lib/clerk/models/operations/updateorganization_requestbody.rbi +2 -0
  450. data/lib/clerk/models/operations/updateorganizationdomain_requestbody.rb +1 -1
  451. data/lib/clerk/models/operations/updatesamlconnection_login_hint.rb +36 -0
  452. data/lib/clerk/models/operations/updatesamlconnection_login_hint.rbi +15 -0
  453. data/lib/clerk/models/operations/updatesamlconnection_mode.rb +21 -0
  454. data/lib/clerk/models/operations/updatesamlconnection_mode.rbi +11 -0
  455. data/lib/clerk/models/operations/updatesamlconnection_requestbody.rb +5 -1
  456. data/lib/clerk/models/operations/updatesamlconnection_requestbody.rbi +2 -0
  457. data/lib/clerk/models/operations/updatescimdirectory_request.rb +36 -0
  458. data/lib/clerk/models/operations/updatescimdirectory_request.rbi +15 -0
  459. data/lib/clerk/models/operations/updatescimdirectory_requestbody.rb +49 -0
  460. data/lib/clerk/models/operations/updatescimdirectory_requestbody.rbi +21 -0
  461. data/lib/clerk/models/operations/updatescimdirectory_response.rb +44 -0
  462. data/lib/clerk/models/operations/updatescimdirectory_response.rbi +19 -0
  463. data/lib/clerk/models/operations/updateuser_requestbody.rb +1 -1
  464. data/lib/clerk/models/operations.rb +80 -0
  465. data/lib/clerk/oauthaccesstokens.rb +5 -5
  466. data/lib/clerk/oauthapplications.rb +185 -35
  467. data/lib/clerk/openapiclient.rb +3 -1
  468. data/lib/clerk/organizationdomains.rb +32 -32
  469. data/lib/clerk/organizationinvitations.rb +35 -35
  470. data/lib/clerk/organizationmemberships.rb +25 -25
  471. data/lib/clerk/organizationpermissions.rb +25 -25
  472. data/lib/clerk/organizationroles.rb +35 -35
  473. data/lib/clerk/organizations.rb +60 -60
  474. data/lib/clerk/phonenumbers.rb +53 -38
  475. data/lib/clerk/proxy.rb +3 -3
  476. data/lib/clerk/proxychecks.rb +5 -5
  477. data/lib/clerk/redirecturls.rb +20 -20
  478. data/lib/clerk/rolesets.rb +35 -35
  479. data/lib/clerk/samlconnections.rb +25 -25
  480. data/lib/clerk/scimdirectories.rb +1534 -0
  481. data/lib/clerk/sdk.rb +44 -6
  482. data/lib/clerk/sdkconfiguration.rb +3 -3
  483. data/lib/clerk/sessions.rb +181 -35
  484. data/lib/clerk/signintokens.rb +11 -11
  485. data/lib/clerk/signups.rb +10 -10
  486. data/lib/clerk/templates.rb +5 -5
  487. data/lib/clerk/testingtokens.rb +5 -5
  488. data/lib/clerk/users.rb +1045 -223
  489. data/lib/clerk/utils/retries.rb +43 -1
  490. data/lib/clerk/utils/utils.rb +6 -2
  491. data/lib/clerk/waitlistentries.rb +30 -30
  492. data/lib/clerk/webhooks.rb +15 -15
  493. data/lib/clerk_sdk_ruby.rb +2 -0
  494. data/test/clerk/jwks_cache_scoping_test.rb +83 -0
  495. data/test/clerk/org_permissions_v2_test.rb +130 -0
  496. data/test/clerk/proxy_test.rb +108 -0
  497. metadata +339 -82
  498. data/lib/clerk/models/components/clerkerror_meta.rb +0 -27
  499. data/lib/clerk/models/components/clerkerrors_meta.rb +0 -27
  500. data/lib/clerk/models/components/emailaddress_verification_saml_meta.rb +0 -27
  501. data/lib/clerk/models/components/emailaddress_verification_saml_meta.rbi +0 -11
  502. data/lib/clerk/models/components/enterpriseaccount_verification_oauth_meta.rb +0 -27
  503. data/lib/clerk/models/components/enterpriseaccount_verification_oauth_meta.rbi +0 -11
  504. data/lib/clerk/models/components/enterpriseaccount_verification_saml_meta.rb +0 -27
  505. data/lib/clerk/models/components/enterpriseaccount_verification_saml_meta.rbi +0 -11
  506. data/lib/clerk/models/components/externalaccountwithverification_verification_oauth_meta.rb +0 -27
  507. data/lib/clerk/models/components/externalaccountwithverification_verification_oauth_meta.rbi +0 -11
  508. data/lib/clerk/models/components/samlaccount_meta.rb +0 -27
  509. data/lib/clerk/models/components/schemas_commerceplan_object.rbi +0 -11
  510. data/lib/clerk/models/components/schemas_commercesubscriptionitem_annual_fee.rbi +0 -19
  511. data/lib/clerk/models/components/schemas_commercesubscriptionitem_annual_monthly_fee.rb +0 -44
  512. data/lib/clerk/models/components/schemas_commercesubscriptionitem_annual_monthly_fee.rbi +0 -19
  513. data/lib/clerk/models/components/schemas_commercesubscriptionitem_next_payment_amount.rbi +0 -19
  514. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commercepayer.rbi +0 -11
  515. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commerceplan.rbi +0 -11
  516. data/lib/clerk/models/components/schemas_commercesubscriptionitem_object_commercesubscriptionitem.rbi +0 -11
  517. data/lib/clerk/models/components/schemas_commercesubscriptionitem_plan_period.rbi +0 -11
  518. data/lib/clerk/models/components/schemas_commercesubscriptionitem_status.rbi +0 -11
  519. data/lib/clerk/models/components/schemas_featureresponse_object.rbi +0 -11
  520. data/lib/clerk/models/components/verification_from_oauth_meta.rb +0 -27
  521. data/lib/clerk/models/components/verification_from_oauth_meta.rbi +0 -11
  522. data/lib/clerk/models/components/verification_google_one_tap_meta.rb +0 -27
  523. data/lib/clerk/models/components/verification_google_one_tap_meta.rbi +0 -11
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'minitest/autorun'
4
+ require_relative '../../lib/clerk/constants'
5
+ require_relative '../../lib/clerk/proxy'
6
+
7
+ module Clerk
8
+ class ProxyReverificationTest < Minitest::Test
9
+ def proxy(fva:, extra_claims: {})
10
+ claims = {'sub' => 'user_123'}
11
+ claims['fva'] = fva unless fva == :omitted
12
+ Clerk::Proxy.new(session_claims: claims.merge(extra_claims))
13
+ end
14
+
15
+ # A policy that both factors satisfy comfortably, so any failure below comes
16
+ # from the 'fva' handling rather than from the ages themselves.
17
+ def lenient
18
+ {after_minutes: 10, level: :second_factor}
19
+ end
20
+
21
+ # --- omitted 'fva' (AISEC-49) ---------------------------------------------
22
+
23
+ def test_omitted_fva_is_not_reverified
24
+ %i[first_factor second_factor multi_factor].each do |level|
25
+ p = proxy(fva: :omitted)
26
+ refute p.user_reverified?({after_minutes: 10, level: level}),
27
+ "expected level #{level} to be unsatisfied when 'fva' is omitted"
28
+ assert p.user_needs_reverification?({after_minutes: 10, level: level})
29
+ end
30
+ end
31
+
32
+ def test_omitted_fva_fails_every_preset
33
+ [StepUp::Preset::STRICT_MFA, StepUp::Preset::STRICT,
34
+ StepUp::Preset::MODERATE, StepUp::Preset::LAX].each do |preset|
35
+ assert proxy(fva: :omitted).user_needs_reverification?(preset),
36
+ "expected preset #{preset} to require reverification when 'fva' is omitted"
37
+ end
38
+ end
39
+
40
+ def test_omitted_fva_yields_to_require_reverification_block
41
+ yielded = false
42
+ proxy(fva: :omitted).user_require_reverification!(StepUp::Preset::STRICT) { yielded = true }
43
+ assert yielded
44
+ end
45
+
46
+ def test_explicit_null_fva_is_not_reverified
47
+ refute proxy(fva: nil).user_reverified?(lenient)
48
+ end
49
+
50
+ # --- well-formed 'fva' ----------------------------------------------------
51
+
52
+ def test_recent_second_factor_satisfies_second_factor_policy
53
+ assert proxy(fva: [0, 0]).user_reverified?({after_minutes: 10, level: :second_factor})
54
+ end
55
+
56
+ def test_stale_second_factor_fails_second_factor_policy
57
+ refute proxy(fva: [0, 60]).user_reverified?({after_minutes: 10, level: :second_factor})
58
+ end
59
+
60
+ def test_second_factor_policy_falls_back_to_first_when_2fa_not_enabled
61
+ assert proxy(fva: [0, -1]).user_reverified?({after_minutes: 10, level: :second_factor})
62
+ refute proxy(fva: [60, -1]).user_reverified?({after_minutes: 10, level: :second_factor})
63
+ end
64
+
65
+ def test_first_factor_not_enabled_fails_levels_that_consult_it
66
+ %i[first_factor multi_factor].each do |level|
67
+ refute proxy(fva: [-1, 0]).user_reverified?({after_minutes: 10, level: level}),
68
+ "expected level #{level} to be unsatisfied when the first factor is not enabled"
69
+ end
70
+ end
71
+
72
+ # With 2FA enabled, the :second_factor level rests on the second factor
73
+ # alone and doesn't consult the first. Matches clerk-sdk-go's
74
+ # SessionClaims#NeedsReverification.
75
+ def test_second_factor_level_ignores_first_factor_when_2fa_enabled
76
+ assert proxy(fva: [-1, 0]).user_reverified?({after_minutes: 10, level: :second_factor})
77
+ refute proxy(fva: [-1, 60]).user_reverified?({after_minutes: 10, level: :second_factor})
78
+ end
79
+
80
+ def test_multi_factor_requires_both_when_2fa_enabled
81
+ assert proxy(fva: [0, 0]).user_reverified?({after_minutes: 10, level: :multi_factor})
82
+ refute proxy(fva: [0, 60]).user_reverified?({after_minutes: 10, level: :multi_factor})
83
+ refute proxy(fva: [60, 0]).user_reverified?({after_minutes: 10, level: :multi_factor})
84
+ end
85
+
86
+ def test_age_equal_to_policy_window_is_stale
87
+ refute proxy(fva: [10, 10]).user_reverified?({after_minutes: 10, level: :second_factor})
88
+ assert proxy(fva: [9, 9]).user_reverified?({after_minutes: 10, level: :second_factor})
89
+ end
90
+
91
+ # --- policy and session guards --------------------------------------------
92
+
93
+ def test_signed_out_session_is_not_reverified
94
+ refute Clerk::Proxy.new(session_claims: nil).user_reverified?(lenient)
95
+ end
96
+
97
+ def test_missing_or_incomplete_policy_is_not_reverified
98
+ [{}, {level: :second_factor}, {after_minutes: 10}].each do |params|
99
+ refute proxy(fva: [0, 0]).user_reverified?(params),
100
+ "expected policy #{params.inspect} to be rejected"
101
+ end
102
+ end
103
+
104
+ def test_unrecognized_level_is_not_reverified
105
+ refute proxy(fva: [0, 0]).user_reverified?({after_minutes: 10, level: :third_factor})
106
+ end
107
+ end
108
+ end