workos 8.0.0 → 9.0.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 (359) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.github/workflows/docs.yml +5 -2
  4. data/.github/workflows/lint.yml +1 -1
  5. data/.github/workflows/release-please.yml +176 -5
  6. data/.github/workflows/release.yml +1 -1
  7. data/.last-synced-sha +1 -1
  8. data/.oagen-manifest.json +129 -34
  9. data/.release-please-manifest.json +1 -1
  10. data/CHANGELOG.md +66 -0
  11. data/Gemfile.lock +4 -4
  12. data/README.md +19 -0
  13. data/docs/V7_MIGRATION_GUIDE.md +21 -0
  14. data/lib/workos/actions.rb +1 -1
  15. data/lib/workos/api_keys/api_key.rb +3 -0
  16. data/lib/workos/api_keys/api_key_created.rb +5 -5
  17. data/lib/workos/api_keys/api_key_created_data.rb +3 -0
  18. data/lib/workos/api_keys/api_key_revoked.rb +5 -5
  19. data/lib/workos/api_keys/create_organization_api_key.rb +5 -2
  20. data/lib/workos/api_keys/organization_api_key.rb +3 -0
  21. data/lib/workos/api_keys/organization_api_key_with_value.rb +3 -0
  22. data/lib/workos/api_keys.rb +4 -1
  23. data/lib/workos/audit_logs/audit_log_action.rb +2 -7
  24. data/lib/workos/audit_logs/audit_log_export.rb +2 -7
  25. data/lib/workos/audit_logs/audit_log_schema.rb +11 -2
  26. data/lib/workos/audit_logs/{audit_log_schema_json_actor.rb → audit_log_schema_actor_input.rb} +1 -1
  27. data/lib/workos/audit_logs/audit_log_schema_input.rb +25 -0
  28. data/lib/workos/audit_logs/audit_log_schema_target.rb +16 -1
  29. data/lib/workos/{types/radar_type.rb → audit_logs/audit_log_schema_target_input.rb} +1 -3
  30. data/lib/workos/audit_logs.rb +16 -16
  31. data/lib/workos/authorization/permission_created.rb +5 -5
  32. data/lib/workos/authorization/permission_deleted.rb +5 -5
  33. data/lib/workos/authorization/permission_updated.rb +5 -5
  34. data/lib/workos/authorization/role_created.rb +5 -5
  35. data/lib/workos/authorization/role_deleted.rb +5 -5
  36. data/lib/workos/authorization/role_updated.rb +5 -5
  37. data/lib/workos/authorization.rb +28 -12
  38. data/lib/workos/base_client.rb +71 -5
  39. data/lib/workos/client.rb +6 -6
  40. data/lib/workos/connect/connect_application.rb +12 -0
  41. data/lib/workos/{audit_logs/audit_log_schema_json_target.rb → connect/connect_application_redirect_uri.rb} +7 -7
  42. data/lib/workos/directory_sync/dsync_activated.rb +5 -5
  43. data/lib/workos/directory_sync/dsync_deactivated.rb +5 -5
  44. data/lib/workos/directory_sync/dsync_deleted.rb +5 -5
  45. data/lib/workos/directory_sync/dsync_group_created.rb +5 -5
  46. data/lib/workos/directory_sync/dsync_group_deleted.rb +5 -5
  47. data/lib/workos/directory_sync/dsync_group_updated.rb +5 -5
  48. data/lib/workos/directory_sync/dsync_group_user_added.rb +5 -5
  49. data/lib/workos/directory_sync/dsync_group_user_removed.rb +5 -5
  50. data/lib/workos/directory_sync/dsync_user_created.rb +5 -5
  51. data/lib/workos/directory_sync/dsync_user_deleted.rb +5 -5
  52. data/lib/workos/directory_sync/dsync_user_updated.rb +5 -5
  53. data/lib/workos/encryptors/aes_gcm.rb +19 -5
  54. data/lib/workos/feature_flags/flag_created.rb +5 -5
  55. data/lib/workos/feature_flags/flag_deleted.rb +5 -5
  56. data/lib/workos/feature_flags/flag_rule_updated.rb +5 -5
  57. data/lib/workos/feature_flags/flag_rule_updated_context_configured_target_organization.rb +1 -16
  58. data/lib/workos/feature_flags/flag_rule_updated_context_previous_attribute_context_configured_target_organization.rb +1 -1
  59. data/lib/workos/feature_flags/flag_updated.rb +5 -5
  60. data/lib/workos/inflections.rb +4 -1
  61. data/lib/workos/organization_domains/organization_domain_created.rb +5 -5
  62. data/lib/workos/organization_domains/organization_domain_deleted.rb +5 -5
  63. data/lib/workos/organization_domains/organization_domain_updated.rb +5 -5
  64. data/lib/workos/organization_domains/organization_domain_verification_failed.rb +5 -5
  65. data/lib/workos/organization_domains/organization_domain_verified.rb +5 -5
  66. data/lib/workos/organization_membership_service.rb +273 -0
  67. data/lib/workos/organizations/audit_logs_retention.rb +2 -7
  68. data/lib/workos/organizations/organization_created.rb +5 -5
  69. data/lib/workos/organizations/organization_deleted.rb +5 -5
  70. data/lib/workos/organizations/organization_membership_created.rb +5 -5
  71. data/lib/workos/organizations/organization_membership_deleted.rb +5 -5
  72. data/lib/workos/organizations/organization_membership_updated.rb +5 -5
  73. data/lib/workos/organizations/organization_role_created.rb +5 -5
  74. data/lib/workos/organizations/organization_role_deleted.rb +5 -5
  75. data/lib/workos/organizations/organization_role_updated.rb +5 -5
  76. data/lib/workos/organizations/organization_updated.rb +5 -5
  77. data/lib/workos/radar/radar_standalone_assess_request.rb +2 -8
  78. data/lib/workos/radar.rb +6 -12
  79. data/lib/workos/session.rb +28 -7
  80. data/lib/workos/session_manager.rb +24 -1
  81. data/lib/workos/shared/connect_application_m2m.rb +46 -0
  82. data/lib/workos/shared/connect_application_oauth.rb +58 -0
  83. data/lib/workos/shared/connect_application_oauth_redirect_uris.rb +22 -0
  84. data/lib/workos/shared/error_response.rb +18 -0
  85. data/lib/workos/shared/group_created.rb +5 -5
  86. data/lib/workos/shared/group_deleted.rb +5 -5
  87. data/lib/workos/shared/group_member_added.rb +5 -5
  88. data/lib/workos/shared/group_member_removed.rb +5 -5
  89. data/lib/workos/shared/group_updated.rb +5 -5
  90. data/lib/workos/shared/pipe_connected_account.rb +46 -0
  91. data/lib/workos/{audit_logs/audit_log_export_json.rb → shared/pipes_connected_account_connected.rb} +10 -10
  92. data/lib/workos/shared/pipes_connected_account_disconnected.rb +34 -0
  93. data/lib/workos/shared/pipes_connected_account_reauthorization_needed.rb +34 -0
  94. data/lib/workos/shared/waitlist_user_approved.rb +5 -5
  95. data/lib/workos/shared/waitlist_user_created.rb +5 -5
  96. data/lib/workos/shared/waitlist_user_denied.rb +5 -5
  97. data/lib/workos/sso/connection_activated.rb +5 -5
  98. data/lib/workos/sso/connection_deactivated.rb +5 -5
  99. data/lib/workos/sso/connection_deleted.rb +5 -5
  100. data/lib/workos/sso/connection_saml_certificate_renewal_required.rb +5 -5
  101. data/lib/workos/sso/connection_saml_certificate_renewed.rb +5 -5
  102. data/lib/workos/types/create_webhook_endpoint_events.rb +4 -1
  103. data/lib/workos/types/pipe_connected_account_state.rb +13 -0
  104. data/lib/workos/types/{radar_action.rb → radar_list_action.rb} +1 -1
  105. data/lib/workos/types/radar_list_type.rb +18 -0
  106. data/lib/workos/types/radar_standalone_assess_request_action.rb +1 -7
  107. data/lib/workos/types/radar_standalone_response_blocklist_type.rb +1 -10
  108. data/lib/workos/types/radar_standalone_response_control.rb +1 -3
  109. data/lib/workos/types/user_management_authentication_screen_hint.rb +1 -5
  110. data/{rbi/workos/types/request_options.rbi → lib/workos/types/vault_order.rb} +4 -3
  111. data/lib/workos/types/webhook_endpoint_status.rb +1 -5
  112. data/lib/workos/user_management/action_authentication_denied.rb +6 -6
  113. data/lib/workos/user_management/action_user_registration_denied.rb +6 -6
  114. data/lib/workos/user_management/authentication_email_verification_failed.rb +5 -5
  115. data/lib/workos/user_management/authentication_email_verification_succeeded.rb +5 -5
  116. data/lib/workos/user_management/authentication_magic_auth_failed.rb +5 -5
  117. data/lib/workos/user_management/authentication_magic_auth_succeeded.rb +5 -5
  118. data/lib/workos/user_management/authentication_mfa_failed.rb +5 -5
  119. data/lib/workos/user_management/authentication_mfa_succeeded.rb +5 -5
  120. data/lib/workos/user_management/authentication_oauth_failed.rb +5 -5
  121. data/lib/workos/user_management/authentication_oauth_succeeded.rb +5 -5
  122. data/lib/workos/user_management/authentication_passkey_failed.rb +5 -5
  123. data/lib/workos/user_management/authentication_passkey_succeeded.rb +5 -5
  124. data/lib/workos/user_management/authentication_password_failed.rb +5 -5
  125. data/lib/workos/user_management/authentication_password_succeeded.rb +5 -5
  126. data/lib/workos/user_management/authentication_radar_risk_detected.rb +5 -5
  127. data/lib/workos/user_management/authentication_sso_failed.rb +5 -5
  128. data/lib/workos/user_management/authentication_sso_started.rb +5 -5
  129. data/lib/workos/user_management/authentication_sso_succeeded.rb +5 -5
  130. data/lib/workos/user_management/authentication_sso_timed_out.rb +5 -5
  131. data/lib/workos/user_management/create_user_api_key.rb +5 -2
  132. data/lib/workos/user_management/email_verification_created.rb +5 -5
  133. data/lib/workos/user_management/invitation_accepted.rb +5 -5
  134. data/lib/workos/user_management/invitation_created.rb +5 -5
  135. data/lib/workos/user_management/invitation_resent.rb +5 -5
  136. data/lib/workos/user_management/invitation_revoked.rb +5 -5
  137. data/lib/workos/user_management/magic_auth_created.rb +5 -5
  138. data/lib/workos/user_management/password_reset_created.rb +5 -5
  139. data/lib/workos/user_management/password_reset_succeeded.rb +5 -5
  140. data/lib/workos/user_management/session_created.rb +5 -5
  141. data/lib/workos/user_management/session_revoked.rb +5 -5
  142. data/lib/workos/user_management/user_api_key.rb +3 -0
  143. data/lib/workos/user_management/user_api_key_with_value.rb +3 -0
  144. data/lib/workos/user_management/user_created.rb +5 -5
  145. data/lib/workos/user_management/user_deleted.rb +5 -5
  146. data/lib/workos/user_management/user_updated.rb +5 -5
  147. data/lib/workos/user_management.rb +11 -214
  148. data/lib/workos/vault/actor.rb +22 -0
  149. data/lib/workos/vault/create_data_key_request.rb +18 -0
  150. data/lib/workos/vault/create_data_key_response.rb +28 -0
  151. data/lib/workos/vault/create_object_request.rb +25 -0
  152. data/lib/workos/vault/decrypt_request.rb +18 -0
  153. data/lib/workos/vault/decrypt_response.rb +22 -0
  154. data/lib/workos/vault/delete_object_response.rb +22 -0
  155. data/lib/workos/vault/object.rb +28 -0
  156. data/lib/workos/vault/object_metadata.rb +37 -0
  157. data/lib/workos/{audit_logs/audit_log_action_json.rb → vault/object_summary.rb} +4 -10
  158. data/lib/workos/vault/object_version.rb +31 -0
  159. data/lib/workos/vault/object_without_value.rb +25 -0
  160. data/lib/workos/vault/rekey_request.rb +22 -0
  161. data/lib/workos/vault/update_object_request.rb +22 -0
  162. data/lib/workos/vault/vault_byok_key_deleted.rb +5 -5
  163. data/lib/workos/vault/vault_byok_key_verification_completed.rb +5 -5
  164. data/lib/workos/vault/vault_data_created.rb +5 -5
  165. data/lib/workos/vault/vault_data_deleted.rb +5 -5
  166. data/lib/workos/vault/vault_data_read.rb +5 -5
  167. data/lib/workos/vault/vault_data_updated.rb +5 -5
  168. data/lib/workos/vault/vault_dek_decrypted.rb +5 -5
  169. data/lib/workos/vault/vault_dek_read.rb +5 -5
  170. data/lib/workos/vault/vault_kek_created.rb +5 -5
  171. data/lib/workos/vault/vault_metadata_read.rb +5 -5
  172. data/lib/workos/vault/vault_names_listed.rb +5 -5
  173. data/lib/workos/vault/version_list_response.rb +22 -0
  174. data/lib/workos/vault.rb +273 -139
  175. data/lib/workos/version.rb +1 -1
  176. data/lib/workos/webhooks/webhook_endpoint.rb +2 -7
  177. data/lib/workos/webhooks.rb +8 -9
  178. data/lib/workos.rb +1 -0
  179. data/rbi/workos/action_authentication_denied.rbi +10 -10
  180. data/rbi/workos/action_user_registration_denied.rbi +10 -10
  181. data/rbi/workos/actor.rbi +30 -0
  182. data/rbi/workos/api_key.rbi +6 -0
  183. data/rbi/workos/api_key_created.rbi +6 -6
  184. data/rbi/workos/api_key_created_data.rbi +6 -0
  185. data/rbi/workos/api_key_revoked.rbi +6 -6
  186. data/rbi/workos/api_key_revoked_data.rbi +6 -0
  187. data/rbi/workos/api_keys.rbi +2 -1
  188. data/rbi/workos/audit_log_action.rbi +1 -0
  189. data/rbi/workos/audit_log_export.rbi +1 -0
  190. data/rbi/workos/audit_log_schema.rbi +18 -0
  191. data/rbi/workos/{audit_log_schema_json_actor.rbi → audit_log_schema_actor_input.rbi} +1 -1
  192. data/rbi/workos/audit_log_schema_input.rbi +36 -0
  193. data/rbi/workos/{audit_log_schema_json_target.rbi → audit_log_schema_target_input.rbi} +1 -1
  194. data/rbi/workos/audit_logs.rbi +9 -9
  195. data/rbi/workos/audit_logs_retention.rbi +1 -0
  196. data/rbi/workos/authentication_email_verification_failed.rbi +6 -6
  197. data/rbi/workos/authentication_email_verification_succeeded.rbi +6 -6
  198. data/rbi/workos/authentication_magic_auth_failed.rbi +6 -6
  199. data/rbi/workos/authentication_magic_auth_succeeded.rbi +6 -6
  200. data/rbi/workos/authentication_mfa_failed.rbi +6 -6
  201. data/rbi/workos/authentication_mfa_succeeded.rbi +6 -6
  202. data/rbi/workos/authentication_oauth_failed.rbi +6 -6
  203. data/rbi/workos/authentication_oauth_succeeded.rbi +6 -6
  204. data/rbi/workos/authentication_passkey_failed.rbi +6 -6
  205. data/rbi/workos/authentication_passkey_succeeded.rbi +6 -6
  206. data/rbi/workos/authentication_password_failed.rbi +6 -6
  207. data/rbi/workos/authentication_password_succeeded.rbi +6 -6
  208. data/rbi/workos/authentication_radar_risk_detected.rbi +6 -6
  209. data/rbi/workos/authentication_sso_failed.rbi +6 -6
  210. data/rbi/workos/authentication_sso_started.rbi +6 -6
  211. data/rbi/workos/authentication_sso_succeeded.rbi +6 -6
  212. data/rbi/workos/authentication_sso_timed_out.rbi +6 -6
  213. data/rbi/workos/authorization.rbi +9 -5
  214. data/rbi/workos/client.rbi +6 -3
  215. data/rbi/workos/connect_application.rbi +0 -12
  216. data/rbi/workos/{webhook_endpoint_json.rbi → connect_application_m2m.rbi} +23 -11
  217. data/rbi/workos/connect_application_oauth.rbi +102 -0
  218. data/rbi/workos/connect_application_oauth_redirect_uris.rbi +30 -0
  219. data/rbi/workos/connection_activated.rbi +6 -6
  220. data/rbi/workos/connection_deactivated.rbi +6 -6
  221. data/rbi/workos/connection_deleted.rbi +6 -6
  222. data/rbi/workos/connection_saml_certificate_renewal_required.rbi +6 -6
  223. data/rbi/workos/connection_saml_certificate_renewed.rbi +6 -6
  224. data/rbi/workos/{audit_logs_retention_json.rbi → create_data_key_request.rbi} +5 -5
  225. data/rbi/workos/create_data_key_response.rbi +42 -0
  226. data/rbi/workos/create_object_request.rbi +36 -0
  227. data/rbi/workos/create_organization_api_key.rbi +6 -0
  228. data/rbi/workos/create_user_api_key.rbi +6 -0
  229. data/rbi/workos/decrypt_request.rbi +24 -0
  230. data/rbi/workos/decrypt_response.rbi +30 -0
  231. data/rbi/workos/delete_object_response.rbi +30 -0
  232. data/rbi/workos/dsync_activated.rbi +6 -6
  233. data/rbi/workos/dsync_deactivated.rbi +6 -6
  234. data/rbi/workos/dsync_deleted.rbi +6 -6
  235. data/rbi/workos/dsync_group_created.rbi +6 -6
  236. data/rbi/workos/dsync_group_deleted.rbi +6 -6
  237. data/rbi/workos/dsync_group_updated.rbi +6 -6
  238. data/rbi/workos/dsync_group_user_added.rbi +6 -6
  239. data/rbi/workos/dsync_group_user_removed.rbi +6 -6
  240. data/rbi/workos/dsync_user_created.rbi +6 -6
  241. data/rbi/workos/dsync_user_deleted.rbi +6 -6
  242. data/rbi/workos/dsync_user_updated.rbi +6 -6
  243. data/rbi/workos/email_verification_created.rbi +6 -6
  244. data/rbi/workos/error_response.rbi +24 -0
  245. data/rbi/workos/flag_created.rbi +6 -6
  246. data/rbi/workos/flag_deleted.rbi +6 -6
  247. data/rbi/workos/flag_rule_updated.rbi +6 -6
  248. data/rbi/workos/flag_updated.rbi +6 -6
  249. data/rbi/workos/group_created.rbi +6 -6
  250. data/rbi/workos/group_deleted.rbi +6 -6
  251. data/rbi/workos/group_member_added.rbi +6 -6
  252. data/rbi/workos/group_member_removed.rbi +6 -6
  253. data/rbi/workos/group_updated.rbi +6 -6
  254. data/rbi/workos/invitation_accepted.rbi +6 -6
  255. data/rbi/workos/invitation_created.rbi +6 -6
  256. data/rbi/workos/invitation_resent.rbi +6 -6
  257. data/rbi/workos/invitation_revoked.rbi +6 -6
  258. data/rbi/workos/magic_auth_created.rbi +6 -6
  259. data/rbi/workos/object.rbi +42 -0
  260. data/rbi/workos/object_metadata.rbi +60 -0
  261. data/rbi/workos/object_summary.rbi +36 -0
  262. data/rbi/workos/{audit_log_action_json.rbi → object_version.rbi} +17 -17
  263. data/rbi/workos/object_without_value.rbi +36 -0
  264. data/rbi/workos/organization_api_key.rbi +6 -0
  265. data/rbi/workos/organization_api_key_with_value.rbi +6 -0
  266. data/rbi/workos/organization_created.rbi +6 -6
  267. data/rbi/workos/organization_deleted.rbi +6 -6
  268. data/rbi/workos/organization_domain_created.rbi +6 -6
  269. data/rbi/workos/organization_domain_deleted.rbi +6 -6
  270. data/rbi/workos/organization_domain_updated.rbi +6 -6
  271. data/rbi/workos/organization_domain_verification_failed.rbi +6 -6
  272. data/rbi/workos/organization_domain_verified.rbi +6 -6
  273. data/rbi/workos/organization_membership_created.rbi +6 -6
  274. data/rbi/workos/organization_membership_deleted.rbi +6 -6
  275. data/rbi/workos/organization_membership_service.rbi +114 -0
  276. data/rbi/workos/organization_membership_updated.rbi +6 -6
  277. data/rbi/workos/organization_role_created.rbi +6 -6
  278. data/rbi/workos/organization_role_deleted.rbi +6 -6
  279. data/rbi/workos/organization_role_updated.rbi +6 -6
  280. data/rbi/workos/organization_updated.rbi +6 -6
  281. data/rbi/workos/password_reset_created.rbi +6 -6
  282. data/rbi/workos/password_reset_succeeded.rbi +6 -6
  283. data/rbi/workos/permission_created.rbi +6 -6
  284. data/rbi/workos/permission_deleted.rbi +6 -6
  285. data/rbi/workos/permission_updated.rbi +6 -6
  286. data/rbi/workos/pipe_connected_account.rbi +78 -0
  287. data/rbi/workos/{audit_log_export_json.rbi → pipes_connected_account_connected.rbi} +11 -11
  288. data/rbi/workos/pipes_connected_account_disconnected.rbi +54 -0
  289. data/rbi/workos/pipes_connected_account_reauthorization_needed.rbi +54 -0
  290. data/rbi/workos/radar.rbi +1 -3
  291. data/rbi/workos/radar_standalone_assess_request.rbi +0 -12
  292. data/rbi/workos/rekey_request.rbi +30 -0
  293. data/rbi/workos/role_created.rbi +6 -6
  294. data/rbi/workos/role_deleted.rbi +6 -6
  295. data/rbi/workos/role_updated.rbi +6 -6
  296. data/rbi/workos/session_created.rbi +6 -6
  297. data/rbi/workos/session_manager.rbi +1 -1
  298. data/rbi/workos/session_revoked.rbi +6 -6
  299. data/rbi/workos/update_object_request.rbi +30 -0
  300. data/rbi/workos/user_api_key.rbi +6 -0
  301. data/rbi/workos/user_api_key_with_value.rbi +6 -0
  302. data/rbi/workos/user_created.rbi +6 -6
  303. data/rbi/workos/user_deleted.rbi +6 -6
  304. data/rbi/workos/user_management.rbi +2 -90
  305. data/rbi/workos/user_updated.rbi +6 -6
  306. data/rbi/workos/vault.rbi +70 -95
  307. data/rbi/workos/vault_byok_key_deleted.rbi +6 -6
  308. data/rbi/workos/vault_byok_key_verification_completed.rbi +6 -6
  309. data/rbi/workos/vault_data_created.rbi +6 -6
  310. data/rbi/workos/vault_data_deleted.rbi +6 -6
  311. data/rbi/workos/vault_data_read.rbi +6 -6
  312. data/rbi/workos/vault_data_updated.rbi +6 -6
  313. data/rbi/workos/vault_dek_decrypted.rbi +6 -6
  314. data/rbi/workos/vault_dek_read.rbi +6 -6
  315. data/rbi/workos/vault_kek_created.rbi +6 -6
  316. data/rbi/workos/vault_metadata_read.rbi +6 -6
  317. data/rbi/workos/vault_names_listed.rbi +6 -6
  318. data/rbi/workos/waitlist_user_approved.rbi +6 -6
  319. data/rbi/workos/waitlist_user_created.rbi +6 -6
  320. data/rbi/workos/waitlist_user_denied.rbi +6 -6
  321. data/rbi/workos/webhook_endpoint.rbi +1 -0
  322. data/rbi/workos/webhooks.rbi +2 -2
  323. data/renovate.json +1 -1
  324. data/test/workos/test_actions.rb +9 -0
  325. data/test/workos/test_base_client.rb +44 -0
  326. data/test/workos/test_encryptors_aes_gcm.rb +16 -1
  327. data/test/workos/test_model_round_trip.rb +577 -212
  328. data/test/workos/test_organization_membership_service.rb +107 -0
  329. data/test/workos/test_session.rb +43 -4
  330. data/test/workos/test_user_management.rb +0 -74
  331. data/test/workos/test_vault.rb +91 -87
  332. data/test/workos/test_webhook_verify.rb +11 -0
  333. metadata +65 -41
  334. data/lib/workos/audit_logs/audit_log_schema_json.rb +0 -34
  335. data/lib/workos/organizations/audit_logs_retention_json.rb +0 -18
  336. data/lib/workos/types/audit_log_export_json_state.rb +0 -14
  337. data/lib/workos/types/webhook_endpoint_json_status.rb +0 -9
  338. data/lib/workos/user_management_organization_membership_groups.rb +0 -60
  339. data/lib/workos/webhooks/webhook_endpoint_json.rb +0 -40
  340. data/rbi/workos/actions.rbi +0 -48
  341. data/rbi/workos/audit_log_schema_json.rbi +0 -54
  342. data/rbi/workos/base_client.rbi +0 -132
  343. data/rbi/workos/configuration.rbi +0 -68
  344. data/rbi/workos/encryptors/aes_gcm.rbi +0 -19
  345. data/rbi/workos/errors.rbi +0 -43
  346. data/rbi/workos/hash_provider.rbi +0 -18
  347. data/rbi/workos/passwordless.rbi +0 -47
  348. data/rbi/workos/public_client.rbi +0 -12
  349. data/rbi/workos/session.rbi +0 -43
  350. data/rbi/workos/types/api_response.rbi +0 -29
  351. data/rbi/workos/types/base_model.rbi +0 -22
  352. data/rbi/workos/types/list_struct.rbi +0 -89
  353. data/rbi/workos/user_management_organization_membership_groups.rbi +0 -25
  354. data/rbi/workos/util.rbi +0 -12
  355. data/test/workos/test_user_management_organization_membership_groups.rb +0 -33
  356. /data/lib/workos/{user_management → organization_membership}/create_user_organization_membership.rb +0 -0
  357. /data/lib/workos/{user_management → organization_membership}/organization_membership.rb +0 -0
  358. /data/lib/workos/{user_management → organization_membership}/update_user_organization_membership.rb +0 -0
  359. /data/lib/workos/{user_management → organization_membership}/user_organization_membership.rb +0 -0
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -9,6 +9,12 @@ module WorkOS
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
12
18
  sig { returns(String) }
13
19
  def id; end
14
20
 
@@ -39,12 +45,6 @@ module WorkOS
39
45
  sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
46
  def context=(value); end
41
47
 
42
- sig { returns(String) }
43
- def object; end
44
-
45
- sig { params(value: String).returns(String) }
46
- def object=(value); end
47
-
48
48
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
49
  def to_h; end
50
50
 
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # This file is auto-generated by oagen. Do not edit.
3
4
 
4
5
  # typed: strong
@@ -25,7 +25,7 @@ module WorkOS
25
25
  endpoint_url: String,
26
26
  events: T::Array[String],
27
27
  request_options: T::Hash[Symbol, T.untyped]
28
- ).returns(WorkOS::WebhookEndpointJson)
28
+ ).returns(WorkOS::WebhookEndpoint)
29
29
  end
30
30
  def create_webhook_endpoint(endpoint_url:, events:, request_options:); end
31
31
 
@@ -36,7 +36,7 @@ module WorkOS
36
36
  status: T.nilable(String),
37
37
  events: T.nilable(T::Array[String]),
38
38
  request_options: T::Hash[Symbol, T.untyped]
39
- ).returns(WorkOS::WebhookEndpointJson)
39
+ ).returns(WorkOS::WebhookEndpoint)
40
40
  end
41
41
  def update_webhook_endpoint(id:, endpoint_url:, status:, events:, request_options:); end
42
42
 
data/renovate.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
3
  "extends": [
4
- "config:recommended"
4
+ "github>workos/renovate-config"
5
5
  ],
6
6
  "dependencyDashboard": false,
7
7
  "schedule": [
@@ -49,6 +49,15 @@ class ActionsTest < Minitest::Test
49
49
  end
50
50
  end
51
51
 
52
+ def test_verify_header_raises_on_future_timestamp
53
+ payload = '{"x":1}'
54
+ future_ts = now_ms + 60_000 # 60s ahead, beyond default 30s tolerance
55
+ sig = OpenSSL::HMAC.hexdigest("SHA256", SECRET, "#{future_ts}.#{payload}")
56
+ assert_raises(WorkOS::SignatureVerificationError) do
57
+ @actions.verify_header(payload: payload, sig_header: "t=#{future_ts}, v1=#{sig}", secret: SECRET)
58
+ end
59
+ end
60
+
52
61
  def test_sign_response_authentication_allow
53
62
  resp = @actions.sign_response(action_type: "authentication", verdict: "Allow", secret: SECRET)
54
63
  assert_equal "authentication_action_response", resp["object"]
@@ -170,4 +170,48 @@ class BaseClientTest < Minitest::Test
170
170
  assert evict.finished
171
171
  refute keep.finished
172
172
  end
173
+
174
+ def test_redact_path_strips_invitation_token_segment
175
+ redacted = @client.send(:redact_path, "/user_management/invitations/by_token/invtoken_secret123")
176
+ assert_equal "/user_management/invitations/by_token/[REDACTED]", redacted
177
+ end
178
+
179
+ def test_redact_path_strips_magic_auth_token_segment
180
+ redacted = @client.send(:redact_path, "/user_management/magic_auth/magic_secret/extra")
181
+ assert_equal "/user_management/magic_auth/[REDACTED]/[REDACTED]", redacted
182
+ end
183
+
184
+ def test_redact_path_preserves_non_token_paths
185
+ assert_equal "/organizations/org_123", @client.send(:redact_path, "/organizations/org_123")
186
+ end
187
+
188
+ def test_redact_path_preserves_query_string
189
+ redacted = @client.send(:redact_path, "/user_management/invitations/by_token/secret?foo=bar")
190
+ assert_equal "/user_management/invitations/by_token/[REDACTED]?foo=bar", redacted
191
+ end
192
+
193
+ def test_redact_path_handles_nil_and_empty
194
+ assert_nil @client.send(:redact_path, nil)
195
+ assert_equal "", @client.send(:redact_path, "")
196
+ end
197
+
198
+ def test_redact_path_scrubs_sensitive_query_params
199
+ redacted = @client.send(:redact_path, "/user_management/sessions/logout?session_id=ses_abc123&return_to=https://app.example.com")
200
+ assert_equal "/user_management/sessions/logout?session_id=[REDACTED]&return_to=https://app.example.com", redacted
201
+ end
202
+
203
+ def test_redact_path_scrubs_authorize_code_query_param
204
+ redacted = @client.send(:redact_path, "/user_management/authorize?client_id=client_1&code=auth_code_secret&state=xyz")
205
+ assert_equal "/user_management/authorize?client_id=client_1&code=[REDACTED]&state=xyz", redacted
206
+ end
207
+
208
+ def test_redact_path_leaves_non_sensitive_query_params_untouched
209
+ redacted = @client.send(:redact_path, "/user_management/users?limit=10&order=desc")
210
+ assert_equal "/user_management/users?limit=10&order=desc", redacted
211
+ end
212
+
213
+ def test_redact_path_scrubs_query_alongside_path_segment_redaction
214
+ redacted = @client.send(:redact_path, "/user_management/magic_auth/magic_secret?token=qs_token")
215
+ assert_equal "/user_management/magic_auth/[REDACTED]?token=[REDACTED]", redacted
216
+ end
173
217
  end
@@ -28,11 +28,26 @@ class EncryptorsAesGcmTest < Minitest::Test
28
28
 
29
29
  def test_unseal_with_wrong_key_raises
30
30
  sealed = @enc.seal({"x" => 1}, PASSWORD)
31
+ # Wrong key is the same length (>= 32 bytes) so the length guard doesn't
32
+ # short-circuit; we want to assert the underlying cipher rejection.
31
33
  assert_raises(OpenSSL::Cipher::CipherError) do
32
- @enc.unseal(sealed, "wrong-password")
34
+ @enc.unseal(sealed, "wrong-cookie-password-32-bytes--")
33
35
  end
34
36
  end
35
37
 
38
+ def test_unseal_rejects_short_key
39
+ sealed = @enc.seal({"x" => 1}, PASSWORD)
40
+ assert_raises(ArgumentError) do
41
+ @enc.unseal(sealed, "too-short")
42
+ end
43
+ end
44
+
45
+ def test_seal_rejects_short_key
46
+ assert_raises(ArgumentError) { @enc.seal({"x" => 1}, "too-short") }
47
+ assert_raises(ArgumentError) { @enc.seal({"x" => 1}, nil) }
48
+ assert_raises(ArgumentError) { @enc.seal({"x" => 1}, "") }
49
+ end
50
+
36
51
  def test_unseal_rejects_short_payload
37
52
  assert_raises(ArgumentError) do
38
53
  @enc.unseal(Base64.strict_encode64("short"), PASSWORD)