workos 9.5.0 → 10.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 (208) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/CLAUDE.md +38 -0
  3. data/.github/workflows/block-generated-edits.yml +13 -0
  4. data/.github/workflows/ci.yml +1 -1
  5. data/.github/workflows/docs.yml +1 -1
  6. data/.github/workflows/lint.yml +1 -1
  7. data/.github/workflows/release-please.yml +7 -1
  8. data/.github/workflows/release.yml +1 -1
  9. data/.last-synced-sha +1 -1
  10. data/.oagen-manifest.json +197 -75
  11. data/.release-please-manifest.json +1 -1
  12. data/AGENTS.md +1 -0
  13. data/CHANGELOG.md +118 -0
  14. data/Gemfile.lock +2 -2
  15. data/README.md +15 -14
  16. data/lib/workos/agents/agent_admin_link_claim_attempt_to_external_user_request.rb +28 -0
  17. data/lib/workos/agents/agent_admin_link_claim_attempt_to_external_user_request_user.rb +22 -0
  18. data/lib/workos/agents/agent_admin_validate_credential_request.rb +25 -0
  19. data/lib/workos/agents/agent_credential_validation.rb +25 -0
  20. data/lib/workos/agents/agent_registration.rb +40 -0
  21. data/lib/workos/agents/agent_registration_agent_identity.rb +28 -0
  22. data/lib/workos/agents/agent_registration_claim.rb +31 -0
  23. data/lib/workos/agents/agent_registration_claim_claim_completion.rb +31 -0
  24. data/lib/workos/agents/claim_view_response.rb +28 -0
  25. data/lib/workos/agents/claim_view_response_organization.rb +7 -0
  26. data/lib/workos/agents.rb +93 -0
  27. data/lib/workos/api_keys/api_key_validation_response.rb +6 -2
  28. data/lib/workos/api_keys.rb +3 -4
  29. data/lib/workos/authorization/permission_created_data.rb +1 -34
  30. data/lib/workos/authorization/permission_deleted_data.rb +1 -1
  31. data/lib/workos/authorization/permission_updated_data.rb +1 -1
  32. data/lib/workos/authorization.rb +24 -24
  33. data/lib/workos/base_client.rb +4 -4
  34. data/lib/workos/client.rb +4 -0
  35. data/lib/workos/connect.rb +23 -19
  36. data/lib/workos/directory_sync.rb +10 -2
  37. data/lib/workos/groups.rb +7 -7
  38. data/lib/workos/inflections.rb +0 -1
  39. data/lib/workos/organization_domains.rb +4 -4
  40. data/lib/workos/organizations/organization_authorized_connect_application_list_data.rb +34 -0
  41. data/lib/workos/organizations.rb +57 -10
  42. data/lib/workos/pipes/api_key_installation.rb +25 -0
  43. data/lib/workos/pipes/{connected_account_dto.rb → connected_account_input.rb} +1 -1
  44. data/lib/workos/pipes/create_data_integration.rb +10 -1
  45. data/lib/workos/pipes/data_integration.rb +9 -0
  46. data/lib/workos/pipes/{data_integration_credentials_dto.rb → data_integration_credentials_input.rb} +1 -1
  47. data/lib/workos/pipes/data_integration_installation.rb +28 -0
  48. data/lib/workos/pipes/data_integrations_get_data_integration_authorize_url_request.rb +5 -2
  49. data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +1 -19
  50. data/lib/workos/pipes/update_data_integration.rb +4 -1
  51. data/lib/workos/pipes.rb +32 -17
  52. data/lib/workos/pipes_provider/configure_data_integration_body.rb +5 -2
  53. data/lib/workos/pipes_provider/data_integration_configuration_response.rb +3 -0
  54. data/lib/workos/pipes_provider.rb +6 -3
  55. data/lib/workos/shared/access_token_agent_registration_credential_issued_data_detail.rb +25 -0
  56. data/lib/workos/shared/agent_registration_claim_attempt_created.rb +34 -0
  57. data/lib/workos/shared/agent_registration_claim_attempt_created_data.rb +40 -0
  58. data/lib/workos/shared/agent_registration_claim_completed.rb +34 -0
  59. data/lib/workos/shared/agent_registration_claim_completed_data.rb +40 -0
  60. data/lib/workos/shared/agent_registration_claim_completed_data_claimed_by.rb +22 -0
  61. data/lib/workos/shared/agent_registration_created.rb +34 -0
  62. data/lib/workos/{organization_domains/organization_domain_stand_alone.rb → shared/agent_registration_created_data.rb} +13 -16
  63. data/lib/workos/shared/agent_registration_created_data_agent_identity.rb +25 -0
  64. data/lib/workos/shared/agent_registration_credential_issued.rb +34 -0
  65. data/lib/workos/shared/agent_registration_credential_issued_data.rb +34 -0
  66. data/lib/workos/shared/agent_registration_credential_issued_data_detail.rb +22 -0
  67. data/lib/workos/shared/agent_registration_deleted.rb +34 -0
  68. data/lib/workos/shared/agent_registration_deleted_data.rb +18 -0
  69. data/lib/workos/shared/agent_registration_expired.rb +34 -0
  70. data/lib/workos/shared/agent_registration_expired_data.rb +7 -0
  71. data/lib/workos/shared/agent_registration_organization_switched.rb +34 -0
  72. data/lib/workos/shared/agent_registration_organization_switched_data.rb +25 -0
  73. data/lib/workos/shared/agent_registration_revoked.rb +34 -0
  74. data/lib/workos/shared/agent_registration_revoked_data.rb +7 -0
  75. data/lib/workos/shared/pipes_connected_account_connection_failed.rb +34 -0
  76. data/lib/workos/shared/pipes_connected_account_connection_failed_data.rb +46 -0
  77. data/lib/workos/shared/radar_challenge_created.rb +34 -0
  78. data/lib/workos/shared/radar_challenge_created_data.rb +28 -0
  79. data/lib/workos/sso/connection.rb +0 -3
  80. data/lib/workos/sso.rb +73 -26
  81. data/lib/workos/types/agent_admin_validate_credential_request_type.rb +13 -0
  82. data/lib/workos/types/agent_registration_created_data_kind.rb +14 -0
  83. data/lib/workos/types/agent_registration_created_data_method.rb +14 -0
  84. data/lib/workos/types/agent_registration_created_data_status.rb +15 -0
  85. data/lib/workos/types/{data_integration_credentials_type.rb → agent_registration_kind.rb} +1 -1
  86. data/lib/workos/types/{organization_domain_stand_alone_state.rb → agent_registration_status.rb} +1 -1
  87. data/lib/workos/types/applications_registration_types.rb +13 -0
  88. data/lib/workos/types/{organization_domain_stand_alone_verification_strategy.rb → claim_view_response_status.rb} +1 -1
  89. data/lib/workos/types/connected_account_auth_method.rb +2 -1
  90. data/lib/workos/types/connected_account_input_state.rb +13 -0
  91. data/lib/workos/types/connected_account_state.rb +2 -1
  92. data/lib/workos/types/create_data_integration_auth_methods.rb +13 -0
  93. data/lib/workos/types/create_user_password_hash_type.rb +2 -1
  94. data/lib/workos/types/create_webhook_endpoint_events.rb +5 -1
  95. data/lib/workos/types/data_integration_auth_methods.rb +9 -0
  96. data/lib/workos/types/data_integration_credentials_input_type.rb +9 -0
  97. data/lib/workos/types/data_integrations_list_response_data_connected_account_state.rb +1 -6
  98. data/lib/workos/types/pipe_connected_account_state.rb +1 -5
  99. data/lib/workos/types/vault_kek_deleted_data_actor_source.rb +9 -0
  100. data/lib/workos/user_management/authentication_reauthentication_succeeded.rb +34 -0
  101. data/lib/workos/user_management/authentication_reauthentication_succeeded_data.rb +34 -0
  102. data/lib/workos/user_management/radar_challenge.rb +43 -0
  103. data/lib/workos/user_management.rb +149 -67
  104. data/lib/workos/vault/vault_kek_deleted.rb +34 -0
  105. data/lib/workos/vault/vault_kek_deleted_data.rb +31 -0
  106. data/lib/workos/vault.rb +4 -4
  107. data/lib/workos/version.rb +1 -1
  108. data/lib/workos/widgets.rb +2 -2
  109. data/lib/workos.rb +11 -0
  110. data/rbi/workos/access_token_agent_registration_credential_issued_data_detail.rbi +36 -0
  111. data/rbi/workos/agent_admin_link_claim_attempt_to_external_user_request.rbi +42 -0
  112. data/rbi/workos/agent_admin_link_claim_attempt_to_external_user_request_user.rbi +30 -0
  113. data/rbi/workos/agent_admin_validate_credential_request.rbi +36 -0
  114. data/rbi/workos/{sso_intent_options.rbi → agent_credential_validation.rbi} +11 -5
  115. data/rbi/workos/agent_registration.rbi +66 -0
  116. data/rbi/workos/agent_registration_agent_identity.rbi +42 -0
  117. data/rbi/workos/agent_registration_claim.rbi +48 -0
  118. data/rbi/workos/agent_registration_claim_attempt_created.rbi +54 -0
  119. data/rbi/workos/agent_registration_claim_attempt_created_data.rbi +66 -0
  120. data/rbi/workos/agent_registration_claim_claim_completion.rbi +48 -0
  121. data/rbi/workos/agent_registration_claim_completed.rbi +54 -0
  122. data/rbi/workos/agent_registration_claim_completed_data.rbi +66 -0
  123. data/rbi/workos/agent_registration_claim_completed_data_claimed_by.rbi +30 -0
  124. data/rbi/workos/agent_registration_created.rbi +54 -0
  125. data/rbi/workos/agent_registration_created_data.rbi +72 -0
  126. data/rbi/workos/agent_registration_created_data_agent_identity.rbi +36 -0
  127. data/rbi/workos/agent_registration_credential_issued.rbi +54 -0
  128. data/rbi/workos/agent_registration_credential_issued_data.rbi +54 -0
  129. data/rbi/workos/agent_registration_credential_issued_data_detail.rbi +30 -0
  130. data/rbi/workos/agent_registration_deleted.rbi +54 -0
  131. data/rbi/workos/{connection_option.rbi → agent_registration_deleted_data.rbi} +5 -5
  132. data/rbi/workos/agent_registration_expired.rbi +54 -0
  133. data/rbi/workos/{domain_verification_intent_options.rbi → agent_registration_expired_data.rbi} +5 -5
  134. data/rbi/workos/agent_registration_organization_switched.rbi +54 -0
  135. data/rbi/workos/agent_registration_organization_switched_data.rbi +36 -0
  136. data/rbi/workos/agent_registration_revoked.rbi +54 -0
  137. data/rbi/workos/agent_registration_revoked_data.rbi +24 -0
  138. data/rbi/workos/agents.rbi +42 -0
  139. data/rbi/workos/api_key_installation.rbi +36 -0
  140. data/rbi/workos/api_key_validation_response.rbi +6 -0
  141. data/rbi/workos/authentication_reauthentication_succeeded.rbi +54 -0
  142. data/rbi/workos/authentication_reauthentication_succeeded_data.rbi +54 -0
  143. data/rbi/workos/claim_view_response.rbi +42 -0
  144. data/rbi/workos/claim_view_response_organization.rbi +30 -0
  145. data/rbi/workos/client.rbi +3 -0
  146. data/rbi/workos/configure_data_integration_body.rbi +6 -0
  147. data/rbi/workos/connect.rbi +2 -1
  148. data/rbi/workos/{connected_account_dto.rbi → connected_account_input.rbi} +1 -1
  149. data/rbi/workos/connection.rbi +0 -6
  150. data/rbi/workos/create_data_integration.rbi +20 -2
  151. data/rbi/workos/data_integration.rbi +18 -0
  152. data/rbi/workos/data_integration_configuration_response.rbi +6 -0
  153. data/rbi/workos/{data_integration_credentials_dto.rbi → data_integration_credentials_input.rbi} +1 -1
  154. data/rbi/workos/data_integration_installation.rbi +42 -0
  155. data/rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi +6 -0
  156. data/rbi/workos/directory_sync.rbi +3 -1
  157. data/rbi/workos/organization_authorized_connect_application_list_data.rbi +54 -0
  158. data/rbi/workos/organization_domains.rbi +2 -2
  159. data/rbi/workos/organizations.rbi +12 -0
  160. data/rbi/workos/permission_created_data.rbi +6 -0
  161. data/rbi/workos/permission_deleted_data.rbi +6 -0
  162. data/rbi/workos/permission_updated_data.rbi +6 -0
  163. data/rbi/workos/pipes.rbi +10 -5
  164. data/rbi/workos/pipes_connected_account_connection_failed.rbi +54 -0
  165. data/rbi/workos/{organization_domain_stand_alone.rbi → pipes_connected_account_connection_failed_data.rbi} +23 -23
  166. data/rbi/workos/pipes_provider.rbi +2 -1
  167. data/rbi/workos/radar_challenge.rbi +72 -0
  168. data/rbi/workos/radar_challenge_created.rbi +54 -0
  169. data/rbi/workos/radar_challenge_created_data.rbi +42 -0
  170. data/rbi/workos/sso.rbi +26 -0
  171. data/rbi/workos/update_data_integration.rbi +8 -2
  172. data/rbi/workos/user_management.rbi +46 -0
  173. data/rbi/workos/vault_kek_deleted.rbi +54 -0
  174. data/rbi/workos/vault_kek_deleted_data.rbi +48 -0
  175. data/rbi/workos/widget_session_token.rbi +2 -2
  176. data/rbi/workos/widgets.rbi +1 -1
  177. data/test/workos/test_agents.rb +49 -0
  178. data/test/workos/test_agents_model_round_trip.rb +165 -0
  179. data/test/workos/test_api_keys_model_round_trip.rb +307 -0
  180. data/test/workos/test_authkit_helpers.rb +22 -10
  181. data/test/workos/test_authorization_model_round_trip.rb +237 -0
  182. data/test/workos/test_base_client.rb +27 -0
  183. data/test/workos/test_client_api_model_round_trip.rb +31 -0
  184. data/test/workos/test_connect_model_round_trip.rb +175 -0
  185. data/test/workos/test_directory_sync_model_round_trip.rb +579 -0
  186. data/test/workos/test_feature_flags_model_round_trip.rb +580 -0
  187. data/test/workos/test_groups_model_round_trip.rb +56 -0
  188. data/test/workos/test_multi_factor_auth_model_round_trip.rb +192 -0
  189. data/test/workos/test_organization_domains_model_round_trip.rb +260 -0
  190. data/test/workos/test_organization_membership_model_round_trip.rb +89 -0
  191. data/test/workos/test_organizations.rb +9 -1
  192. data/test/workos/test_organizations_model_round_trip.rb +602 -0
  193. data/test/workos/test_pipes_model_round_trip.rb +44 -5
  194. data/test/workos/test_pipes_provider_model_round_trip.rb +77 -0
  195. data/test/workos/test_shared_model_round_trip.rb +725 -0
  196. data/test/workos/test_sso_model_round_trip.rb +421 -0
  197. data/test/workos/test_user_management.rb +16 -0
  198. data/test/workos/test_user_management_model_round_trip.rb +1501 -0
  199. data/test/workos/test_vault_model_round_trip.rb +571 -0
  200. data/test/workos/test_widgets.rb +2 -2
  201. data/test/workos/test_widgets_model_round_trip.rb +30 -0
  202. metadata +120 -19
  203. data/lib/workos/admin_portal/domain_verification_intent_options.rb +0 -18
  204. data/lib/workos/admin_portal/intent_options.rb +0 -22
  205. data/lib/workos/admin_portal/sso_intent_options.rb +0 -22
  206. data/lib/workos/sso/connection_option.rb +0 -18
  207. data/rbi/workos/intent_options.rbi +0 -30
  208. data/test/workos/test_model_round_trip.rb +0 -6
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class PipesConnectedAccountConnectionFailed
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
18
+ sig { returns(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def event; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def event=(value); end
29
+
30
+ sig { returns(WorkOS::PipesConnectedAccountConnectionFailedData) }
31
+ def data; end
32
+
33
+ sig { params(value: WorkOS::PipesConnectedAccountConnectionFailedData).returns(WorkOS::PipesConnectedAccountConnectionFailedData) }
34
+ def data=(value); end
35
+
36
+ sig { returns(String) }
37
+ def created_at; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def created_at=(value); end
41
+
42
+ sig { returns(T.nilable(WorkOS::EventContext)) }
43
+ def context; end
44
+
45
+ sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
46
+ def context=(value); end
47
+
48
+ sig { returns(T::Hash[Symbol, T.untyped]) }
49
+ def to_h; end
50
+
51
+ sig { params(args: T.untyped).returns(String) }
52
+ def to_json(*args); end
53
+ end
54
+ end
@@ -5,7 +5,7 @@
5
5
  # typed: strong
6
6
 
7
7
  module WorkOS
8
- class OrganizationDomainStandAlone
8
+ class PipesConnectedAccountConnectionFailedData
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
@@ -16,46 +16,52 @@ module WorkOS
16
16
  def object=(value); end
17
17
 
18
18
  sig { returns(String) }
19
- def id; end
19
+ def data_integration_id; end
20
20
 
21
21
  sig { params(value: String).returns(String) }
22
- def id=(value); end
22
+ def data_integration_id=(value); end
23
23
 
24
24
  sig { returns(String) }
25
- def organization_id; end
25
+ def provider_slug; end
26
26
 
27
27
  sig { params(value: String).returns(String) }
28
- def organization_id=(value); end
28
+ def provider_slug=(value); end
29
29
 
30
- sig { returns(String) }
31
- def domain; end
30
+ sig { returns(T.nilable(String)) }
31
+ def user_id; end
32
32
 
33
- sig { params(value: String).returns(String) }
34
- def domain=(value); end
33
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
34
+ def user_id=(value); end
35
35
 
36
36
  sig { returns(T.nilable(String)) }
37
- def state; end
37
+ def organization_id; end
38
38
 
39
39
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
40
- def state=(value); end
40
+ def organization_id=(value); end
41
+
42
+ sig { returns(String) }
43
+ def error_code; end
44
+
45
+ sig { params(value: String).returns(String) }
46
+ def error_code=(value); end
41
47
 
42
48
  sig { returns(T.nilable(String)) }
43
- def verification_prefix; end
49
+ def error_reason; end
44
50
 
45
51
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
46
- def verification_prefix=(value); end
52
+ def error_reason=(value); end
47
53
 
48
54
  sig { returns(T.nilable(String)) }
49
- def verification_token; end
55
+ def provider_error; end
50
56
 
51
57
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
52
- def verification_token=(value); end
58
+ def provider_error=(value); end
53
59
 
54
60
  sig { returns(T.nilable(String)) }
55
- def verification_strategy; end
61
+ def provider_error_description; end
56
62
 
57
63
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
58
- def verification_strategy=(value); end
64
+ def provider_error_description=(value); end
59
65
 
60
66
  sig { returns(String) }
61
67
  def created_at; end
@@ -63,12 +69,6 @@ module WorkOS
63
69
  sig { params(value: String).returns(String) }
64
70
  def created_at=(value); end
65
71
 
66
- sig { returns(String) }
67
- def updated_at; end
68
-
69
- sig { params(value: String).returns(String) }
70
- def updated_at=(value); end
71
-
72
72
  sig { returns(T::Hash[Symbol, T.untyped]) }
73
73
  def to_h; end
74
74
 
@@ -25,10 +25,11 @@ module WorkOS
25
25
  scopes: T.nilable(T::Array[String]),
26
26
  client_id: T.nilable(String),
27
27
  client_secret: T.nilable(String),
28
+ config: T.nilable(T::Hash[String, String]),
28
29
  request_options: T::Hash[Symbol, T.untyped]
29
30
  ).returns(WorkOS::DataIntegrationConfigurationResponse)
30
31
  end
31
- def update_organization_data_integration_configuration(organization_id:, slug:, enabled:, scopes:, client_id:, client_secret:, request_options:); end
32
+ def update_organization_data_integration_configuration(organization_id:, slug:, enabled:, scopes:, client_id:, client_secret:, config:, request_options:); end
32
33
 
33
34
  end
34
35
  end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class RadarChallenge
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
18
+ sig { returns(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def type; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def type=(value); end
29
+
30
+ sig { returns(String) }
31
+ def user_id; end
32
+
33
+ sig { params(value: String).returns(String) }
34
+ def user_id=(value); end
35
+
36
+ sig { returns(String) }
37
+ def email; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def email=(value); end
41
+
42
+ sig { returns(String) }
43
+ def expires_at; end
44
+
45
+ sig { params(value: String).returns(String) }
46
+ def expires_at=(value); end
47
+
48
+ sig { returns(String) }
49
+ def created_at; end
50
+
51
+ sig { params(value: String).returns(String) }
52
+ def created_at=(value); end
53
+
54
+ sig { returns(String) }
55
+ def updated_at; end
56
+
57
+ sig { params(value: String).returns(String) }
58
+ def updated_at=(value); end
59
+
60
+ sig { returns(String) }
61
+ def code; end
62
+
63
+ sig { params(value: String).returns(String) }
64
+ def code=(value); end
65
+
66
+ sig { returns(T::Hash[Symbol, T.untyped]) }
67
+ def to_h; end
68
+
69
+ sig { params(args: T.untyped).returns(String) }
70
+ def to_json(*args); end
71
+ end
72
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class RadarChallengeCreated
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
18
+ sig { returns(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def event; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def event=(value); end
29
+
30
+ sig { returns(WorkOS::RadarChallengeCreatedData) }
31
+ def data; end
32
+
33
+ sig { params(value: WorkOS::RadarChallengeCreatedData).returns(WorkOS::RadarChallengeCreatedData) }
34
+ def data=(value); end
35
+
36
+ sig { returns(String) }
37
+ def created_at; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def created_at=(value); end
41
+
42
+ sig { returns(T.nilable(WorkOS::EventContext)) }
43
+ def context; end
44
+
45
+ sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
46
+ def context=(value); end
47
+
48
+ sig { returns(T::Hash[Symbol, T.untyped]) }
49
+ def to_h; end
50
+
51
+ sig { params(args: T.untyped).returns(String) }
52
+ def to_json(*args); end
53
+ end
54
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class RadarChallengeCreatedData
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def type; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def type=(value); end
17
+
18
+ sig { returns(String) }
19
+ def radar_challenge_id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def radar_challenge_id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def user_id; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def user_id=(value); end
29
+
30
+ sig { returns(String) }
31
+ def email; end
32
+
33
+ sig { params(value: String).returns(String) }
34
+ def email=(value); end
35
+
36
+ sig { returns(T::Hash[Symbol, T.untyped]) }
37
+ def to_h; end
38
+
39
+ sig { params(args: T.untyped).returns(String) }
40
+ def to_json(*args); end
41
+ end
42
+ end
data/rbi/workos/sso.rbi CHANGED
@@ -40,6 +40,32 @@ module WorkOS
40
40
  end
41
41
  def delete_connection(id:, request_options:); end
42
42
 
43
+ sig do
44
+ params(
45
+ redirect_uri: String,
46
+ provider_scopes: T.nilable(T::Array[String]),
47
+ provider_query_params: T.nilable(T::Hash[String, String]),
48
+ client_id: T.nilable(String),
49
+ domain: T.nilable(String),
50
+ provider: T.nilable(String),
51
+ state: T.nilable(String),
52
+ connection: T.nilable(String),
53
+ organization: T.nilable(String),
54
+ domain_hint: T.nilable(String),
55
+ login_hint: T.nilable(String),
56
+ nonce: T.nilable(String),
57
+ prompt: T.nilable(String)
58
+ ).returns(String)
59
+ end
60
+ def get_authorization_url(redirect_uri:, provider_scopes:, provider_query_params:, client_id:, domain:, provider:, state:, connection:, organization:, domain_hint:, login_hint:, nonce:, prompt:); end
61
+
62
+ sig do
63
+ params(
64
+ token: String
65
+ ).returns(String)
66
+ end
67
+ def get_logout_url(token:); end
68
+
43
69
  sig do
44
70
  params(
45
71
  profile_id: String,
@@ -27,12 +27,18 @@ module WorkOS
27
27
  sig { params(value: T.nilable(T::Array[String])).returns(T.nilable(T::Array[String])) }
28
28
  def scopes=(value); end
29
29
 
30
- sig { returns(T.nilable(WorkOS::DataIntegrationCredentialsDto)) }
30
+ sig { returns(T.nilable(WorkOS::DataIntegrationCredentialsInput)) }
31
31
  def credentials; end
32
32
 
33
- sig { params(value: T.nilable(WorkOS::DataIntegrationCredentialsDto)).returns(T.nilable(WorkOS::DataIntegrationCredentialsDto)) }
33
+ sig { params(value: T.nilable(WorkOS::DataIntegrationCredentialsInput)).returns(T.nilable(WorkOS::DataIntegrationCredentialsInput)) }
34
34
  def credentials=(value); end
35
35
 
36
+ sig { returns(T.nilable(WorkOS::ApiKeyInstallation)) }
37
+ def api_key; end
38
+
39
+ sig { params(value: T.nilable(WorkOS::ApiKeyInstallation)).returns(T.nilable(WorkOS::ApiKeyInstallation)) }
40
+ def api_key=(value); end
41
+
36
42
  sig { returns(T.nilable(WorkOS::UpdateCustomProviderDefinition)) }
37
43
  def custom_provider; end
38
44
 
@@ -62,6 +62,28 @@ module WorkOS
62
62
  end
63
63
  def create_authenticate(client_id:, grant_type:, code:, client_secret:, code_verifier:, invitation_token:, ip_address:, device_id:, user_agent:, signals_id:, request_options:); end
64
64
 
65
+ sig do
66
+ params(
67
+ redirect_uri: String,
68
+ code_challenge_method: T.nilable(String),
69
+ code_challenge: T.nilable(String),
70
+ domain_hint: T.nilable(String),
71
+ connection_id: T.nilable(String),
72
+ provider_query_params: T.nilable(T::Hash[String, String]),
73
+ provider_scopes: T.nilable(T::Array[String]),
74
+ invitation_token: T.nilable(String),
75
+ max_age: T.nilable(Integer),
76
+ screen_hint: T.nilable(String),
77
+ login_hint: T.nilable(String),
78
+ provider: T.nilable(String),
79
+ prompt: T.nilable(String),
80
+ state: T.nilable(String),
81
+ organization_id: T.nilable(String),
82
+ client_id: T.nilable(String)
83
+ ).returns(String)
84
+ end
85
+ def get_authorization_url(redirect_uri:, code_challenge_method:, code_challenge:, domain_hint:, connection_id:, provider_query_params:, provider_scopes:, invitation_token:, max_age:, screen_hint:, login_hint:, provider:, prompt:, state:, organization_id:, client_id:); end
86
+
65
87
  sig do
66
88
  params(
67
89
  client_id: String,
@@ -82,6 +104,22 @@ module WorkOS
82
104
  end
83
105
  def create_radar_challenge(user_id:, pending_authentication_token:, phone_number:, ip_address:, user_agent:, request_options:); end
84
106
 
107
+ sig do
108
+ params(
109
+ id: String,
110
+ request_options: T::Hash[Symbol, T.untyped]
111
+ ).returns(WorkOS::RadarChallenge)
112
+ end
113
+ def get_radar_challenge(id:, request_options:); end
114
+
115
+ sig do
116
+ params(
117
+ session_id: String,
118
+ return_to: T.nilable(String)
119
+ ).returns(String)
120
+ end
121
+ def get_logout_url(session_id:, return_to:); end
122
+
85
123
  sig do
86
124
  params(
87
125
  session_id: String,
@@ -392,6 +430,14 @@ module WorkOS
392
430
  end
393
431
  def create_redirect_uri(uri:, request_options:); end
394
432
 
433
+ sig do
434
+ params(
435
+ id: String,
436
+ request_options: T::Hash[Symbol, T.untyped]
437
+ ).returns(NilClass)
438
+ end
439
+ def delete_redirect_uris(id:, request_options:); end
440
+
395
441
  sig do
396
442
  params(
397
443
  user_id: String,
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class VaultKekDeleted
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def object; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def object=(value); end
17
+
18
+ sig { returns(String) }
19
+ def id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def event; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def event=(value); end
29
+
30
+ sig { returns(WorkOS::VaultKekDeletedData) }
31
+ def data; end
32
+
33
+ sig { params(value: WorkOS::VaultKekDeletedData).returns(WorkOS::VaultKekDeletedData) }
34
+ def data=(value); end
35
+
36
+ sig { returns(String) }
37
+ def created_at; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def created_at=(value); end
41
+
42
+ sig { returns(T.nilable(WorkOS::EventContext)) }
43
+ def context; end
44
+
45
+ sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
46
+ def context=(value); end
47
+
48
+ sig { returns(T::Hash[Symbol, T.untyped]) }
49
+ def to_h; end
50
+
51
+ sig { params(args: T.untyped).returns(String) }
52
+ def to_json(*args); end
53
+ end
54
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ # typed: strong
6
+
7
+ module WorkOS
8
+ class VaultKekDeletedData
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(String) }
13
+ def actor_id; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def actor_id=(value); end
17
+
18
+ sig { returns(String) }
19
+ def actor_source; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def actor_source=(value); end
23
+
24
+ sig { returns(String) }
25
+ def actor_name; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def actor_name=(value); end
29
+
30
+ sig { returns(String) }
31
+ def key_name; end
32
+
33
+ sig { params(value: String).returns(String) }
34
+ def key_name=(value); end
35
+
36
+ sig { returns(String) }
37
+ def key_id; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def key_id=(value); end
41
+
42
+ sig { returns(T::Hash[Symbol, T.untyped]) }
43
+ def to_h; end
44
+
45
+ sig { params(args: T.untyped).returns(String) }
46
+ def to_json(*args); end
47
+ end
48
+ end
@@ -9,10 +9,10 @@ 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) }
12
+ sig { returns(T.nilable(String)) }
13
13
  def organization_id; end
14
14
 
15
- sig { params(value: String).returns(String) }
15
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
16
16
  def organization_id=(value); end
17
17
 
18
18
  sig { returns(T.nilable(String)) }
@@ -11,7 +11,7 @@ module WorkOS
11
11
 
12
12
  sig do
13
13
  params(
14
- organization_id: String,
14
+ organization_id: T.nilable(String),
15
15
  user_id: T.nilable(String),
16
16
  scopes: T.nilable(T::Array[String]),
17
17
  request_options: T::Hash[Symbol, T.untyped]
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ require "test_helper"
6
+
7
+ class AgentsTest < Minitest::Test
8
+ include FixtureHelper
9
+
10
+ def setup
11
+ @client = WorkOS::Client.new(api_key: "sk_test_123")
12
+ end
13
+
14
+ def test_update_attempts_returns_expected_result
15
+ stub_request(:patch, %r{\Ahttps://api\.workos\.com/agents/claims/attempts(\?|\z)})
16
+ .to_return(body: "{}", status: 200)
17
+ result = @client.agents.update_attempts(type: "link_external_user", claim_attempt_token: "stub", user: {})
18
+ refute_nil result
19
+ end
20
+
21
+ def test_create_validate_returns_expected_result
22
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/agents/credentials/validate(\?|\z)})
23
+ .to_return(body: "{}", status: 200)
24
+ result = @client.agents.create_validate(type: "stub", credential: "stub")
25
+ refute_nil result
26
+ end
27
+
28
+ def test_get_registration_returns_expected_result
29
+ stub_request(:get, %r{\Ahttps://api\.workos\.com/agents/registrations/stub(\?|\z)})
30
+ .to_return(body: "{}", status: 200)
31
+ result = @client.agents.get_registration(id: "stub")
32
+ refute_nil result
33
+ end
34
+
35
+ # Parameterized authentication error tests (one per endpoint).
36
+ [
37
+ {name: :update_attempts, verb: :patch, url: %r{\Ahttps://api\.workos\.com/agents/claims/attempts(\?|\z)}, args: {type: "link_external_user", claim_attempt_token: "stub", user: {}}},
38
+ {name: :create_validate, verb: :post, url: %r{\Ahttps://api\.workos\.com/agents/credentials/validate(\?|\z)}, args: {type: "stub", credential: "stub"}},
39
+ {name: :get_registration, verb: :get, url: %r{\Ahttps://api\.workos\.com/agents/registrations/stub(\?|\z)}, args: {id: "stub"}}
40
+ ].each do |spec|
41
+ define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do
42
+ stub_request(spec[:verb], spec[:url])
43
+ .to_return(body: '{"message": "Unauthorized"}', status: 401)
44
+ assert_raises(WorkOS::AuthenticationError) do
45
+ @client.agents.send(spec[:name], **(spec[:args] || {}))
46
+ end
47
+ end
48
+ end
49
+ end