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,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationCreatedDataAgentIdentity < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ userland_user_id: :userland_user_id
11
+ }.freeze
12
+
13
+ attr_accessor \
14
+ :object,
15
+ :id,
16
+ :userland_user_id
17
+
18
+ def initialize(json)
19
+ hash = self.class.normalize(json)
20
+ @object = hash[:object]
21
+ @id = hash[:id]
22
+ @userland_user_id = hash[:userland_user_id]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationCredentialIssued < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ event: :event,
11
+ data: :data,
12
+ created_at: :created_at,
13
+ context: :context
14
+ }.freeze
15
+
16
+ attr_accessor \
17
+ :object,
18
+ :id,
19
+ :event,
20
+ :data,
21
+ :created_at,
22
+ :context
23
+
24
+ def initialize(json)
25
+ hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @id = hash[:id]
28
+ @event = hash[:event]
29
+ @data = hash[:data] ? WorkOS::AgentRegistrationCredentialIssuedData.new(hash[:data]) : nil
30
+ @created_at = hash[:created_at]
31
+ @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationCredentialIssuedData < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ agent_registration_id: :agent_registration_id,
11
+ detail: :detail,
12
+ created_at: :created_at,
13
+ updated_at: :updated_at
14
+ }.freeze
15
+
16
+ attr_accessor \
17
+ :object,
18
+ :id,
19
+ :agent_registration_id,
20
+ :detail,
21
+ :created_at,
22
+ :updated_at
23
+
24
+ def initialize(json)
25
+ hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @id = hash[:id]
28
+ @agent_registration_id = hash[:agent_registration_id]
29
+ @detail = hash[:detail] ? (case hash[:detail][:kind] when "api_key" then WorkOS::AgentRegistrationCredentialIssuedDataDetail.new(hash[:detail]) when "access_token" then WorkOS::AccessTokenAgentRegistrationCredentialIssuedDataDetail.new(hash[:detail]) else hash[:detail] end) : nil
30
+ @created_at = hash[:created_at]
31
+ @updated_at = hash[:updated_at]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationCredentialIssuedDataDetail < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ kind: :kind,
9
+ api_key_id: :api_key_id
10
+ }.freeze
11
+
12
+ attr_accessor \
13
+ :kind,
14
+ :api_key_id
15
+
16
+ def initialize(json)
17
+ hash = self.class.normalize(json)
18
+ @kind = hash[:kind]
19
+ @api_key_id = hash[:api_key_id]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationDeleted < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ event: :event,
11
+ data: :data,
12
+ created_at: :created_at,
13
+ context: :context
14
+ }.freeze
15
+
16
+ attr_accessor \
17
+ :object,
18
+ :id,
19
+ :event,
20
+ :data,
21
+ :created_at,
22
+ :context
23
+
24
+ def initialize(json)
25
+ hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @id = hash[:id]
28
+ @event = hash[:event]
29
+ @data = hash[:data] ? WorkOS::AgentRegistrationDeletedData.new(hash[:data]) : nil
30
+ @created_at = hash[:created_at]
31
+ @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationDeletedData < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ agent_registration_id: :agent_registration_id
9
+ }.freeze
10
+
11
+ attr_accessor :agent_registration_id
12
+
13
+ def initialize(json)
14
+ hash = self.class.normalize(json)
15
+ @agent_registration_id = hash[:agent_registration_id]
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationExpired < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ event: :event,
11
+ data: :data,
12
+ created_at: :created_at,
13
+ context: :context
14
+ }.freeze
15
+
16
+ attr_accessor \
17
+ :object,
18
+ :id,
19
+ :event,
20
+ :data,
21
+ :created_at,
22
+ :context
23
+
24
+ def initialize(json)
25
+ hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @id = hash[:id]
28
+ @event = hash[:event]
29
+ @data = hash[:data] ? WorkOS::AgentRegistrationExpiredData.new(hash[:data]) : nil
30
+ @created_at = hash[:created_at]
31
+ @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ AgentRegistrationExpiredData = AgentRegistrationDeletedData
7
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationOrganizationSwitched < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ event: :event,
11
+ data: :data,
12
+ created_at: :created_at,
13
+ context: :context
14
+ }.freeze
15
+
16
+ attr_accessor \
17
+ :object,
18
+ :id,
19
+ :event,
20
+ :data,
21
+ :created_at,
22
+ :context
23
+
24
+ def initialize(json)
25
+ hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @id = hash[:id]
28
+ @event = hash[:event]
29
+ @data = hash[:data] ? WorkOS::AgentRegistrationOrganizationSwitchedData.new(hash[:data]) : nil
30
+ @created_at = hash[:created_at]
31
+ @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationOrganizationSwitchedData < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ agent_registration_id: :agent_registration_id,
9
+ from_organization_id: :from_organization_id,
10
+ to_organization_id: :to_organization_id
11
+ }.freeze
12
+
13
+ attr_accessor \
14
+ :agent_registration_id,
15
+ :from_organization_id,
16
+ :to_organization_id
17
+
18
+ def initialize(json)
19
+ hash = self.class.normalize(json)
20
+ @agent_registration_id = hash[:agent_registration_id]
21
+ @from_organization_id = hash[:from_organization_id]
22
+ @to_organization_id = hash[:to_organization_id]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class AgentRegistrationRevoked < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ event: :event,
11
+ data: :data,
12
+ created_at: :created_at,
13
+ context: :context
14
+ }.freeze
15
+
16
+ attr_accessor \
17
+ :object,
18
+ :id,
19
+ :event,
20
+ :data,
21
+ :created_at,
22
+ :context
23
+
24
+ def initialize(json)
25
+ hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @id = hash[:id]
28
+ @event = hash[:event]
29
+ @data = hash[:data] ? WorkOS::AgentRegistrationRevokedData.new(hash[:data]) : nil
30
+ @created_at = hash[:created_at]
31
+ @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ AgentRegistrationRevokedData = AgentRegistrationDeletedData
7
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class PipesConnectedAccountConnectionFailed < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ event: :event,
11
+ data: :data,
12
+ created_at: :created_at,
13
+ context: :context
14
+ }.freeze
15
+
16
+ attr_accessor \
17
+ :object,
18
+ :id,
19
+ :event,
20
+ :data,
21
+ :created_at,
22
+ :context
23
+
24
+ def initialize(json)
25
+ hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @id = hash[:id]
28
+ @event = hash[:event]
29
+ @data = hash[:data] ? WorkOS::PipesConnectedAccountConnectionFailedData.new(hash[:data]) : nil
30
+ @created_at = hash[:created_at]
31
+ @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class PipesConnectedAccountConnectionFailedData < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ data_integration_id: :data_integration_id,
10
+ provider_slug: :provider_slug,
11
+ user_id: :user_id,
12
+ organization_id: :organization_id,
13
+ error_code: :error_code,
14
+ error_reason: :error_reason,
15
+ provider_error: :provider_error,
16
+ provider_error_description: :provider_error_description,
17
+ created_at: :created_at
18
+ }.freeze
19
+
20
+ attr_accessor \
21
+ :object,
22
+ :data_integration_id,
23
+ :provider_slug,
24
+ :user_id,
25
+ :organization_id,
26
+ :error_code,
27
+ :error_reason,
28
+ :provider_error,
29
+ :provider_error_description,
30
+ :created_at
31
+
32
+ def initialize(json)
33
+ hash = self.class.normalize(json)
34
+ @object = hash[:object]
35
+ @data_integration_id = hash[:data_integration_id]
36
+ @provider_slug = hash[:provider_slug]
37
+ @user_id = hash[:user_id]
38
+ @organization_id = hash[:organization_id]
39
+ @error_code = hash[:error_code]
40
+ @error_reason = hash[:error_reason]
41
+ @provider_error = hash[:provider_error]
42
+ @provider_error_description = hash[:provider_error_description]
43
+ @created_at = hash[:created_at]
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class RadarChallengeCreated < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ object: :object,
9
+ id: :id,
10
+ event: :event,
11
+ data: :data,
12
+ created_at: :created_at,
13
+ context: :context
14
+ }.freeze
15
+
16
+ attr_accessor \
17
+ :object,
18
+ :id,
19
+ :event,
20
+ :data,
21
+ :created_at,
22
+ :context
23
+
24
+ def initialize(json)
25
+ hash = self.class.normalize(json)
26
+ @object = hash[:object]
27
+ @id = hash[:id]
28
+ @event = hash[:event]
29
+ @data = hash[:data] ? WorkOS::RadarChallengeCreatedData.new(hash[:data]) : nil
30
+ @created_at = hash[:created_at]
31
+ @context = hash[:context] ? WorkOS::EventContext.new(hash[:context]) : nil
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ class RadarChallengeCreatedData < WorkOS::Types::BaseModel
7
+ HASH_ATTRS = {
8
+ type: :type,
9
+ radar_challenge_id: :radar_challenge_id,
10
+ user_id: :user_id,
11
+ email: :email
12
+ }.freeze
13
+
14
+ attr_accessor \
15
+ :type,
16
+ :radar_challenge_id,
17
+ :user_id,
18
+ :email
19
+
20
+ def initialize(json)
21
+ hash = self.class.normalize(json)
22
+ @type = hash[:type]
23
+ @radar_challenge_id = hash[:radar_challenge_id]
24
+ @user_id = hash[:user_id]
25
+ @email = hash[:email]
26
+ end
27
+ end
28
+ end
@@ -13,7 +13,6 @@ module WorkOS
13
13
  state: :state,
14
14
  status: :status,
15
15
  domains: :domains,
16
- options: :options,
17
16
  created_at: :created_at,
18
17
  updated_at: :updated_at
19
18
  }.freeze
@@ -29,7 +28,6 @@ module WorkOS
29
28
  :name,
30
29
  :state,
31
30
  :domains,
32
- :options,
33
31
  :created_at,
34
32
  :updated_at
35
33
 
@@ -50,7 +48,6 @@ module WorkOS
50
48
  @state = hash[:state]
51
49
  @status = hash[:status]
52
50
  @domains = (hash[:domains] || []).map { |item| item ? WorkOS::ConnectionDomain.new(item) : nil }
53
- @options = hash[:options] ? WorkOS::ConnectionOption.new(hash[:options]) : nil
54
51
  @created_at = hash[:created_at]
55
52
  @updated_at = hash[:updated_at]
56
53
  end
data/lib/workos/sso.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  # This file is auto-generated by oagen. Do not edit.
4
4
 
5
5
  require "json"
6
+ require "uri"
6
7
 
7
8
  module WorkOS
8
9
  class SSO
@@ -106,6 +107,74 @@ module WorkOS
106
107
  nil
107
108
  end
108
109
 
110
+ # Initiate SSO
111
+ # Builds the URL client-side; no HTTP request is made.
112
+ # @param provider_scopes [Array<String>, nil] Additional scopes to request from the identity provider. Applicable when using OAuth or OpenID Connect connections.
113
+ # @param provider_query_params [Hash{String => String}, nil] Key/value pairs of query parameters to pass to the OAuth provider. Only applicable when using OAuth connections.
114
+ # @param client_id [String, nil] The unique identifier of the WorkOS environment client. Defaults to the client's configured client_id.
115
+ # @param domain [String, nil] Deprecated. Use `connection` or `organization` instead. Used to initiate SSO for a connection by domain. The domain must be associated with a connection in your WorkOS environment.
116
+ # @param provider [WorkOS::Types::SSOProvider, nil] Used to initiate OAuth authentication with various providers.
117
+ # @param redirect_uri [String] Where to redirect the user after they complete the authentication process. You must use one of the redirect URIs configured via the [Redirects](https://dashboard.workos.com/redirects) page on the dashboard.
118
+ # @param state [String, nil] An optional parameter that can be used to encode arbitrary information to help restore application state between redirects. If included, the redirect URI received from WorkOS will contain the exact `state` that was passed.
119
+ # @param connection [String, nil] Used to initiate SSO for a connection. The value should be a WorkOS connection ID. You can persist the WorkOS connection ID with application user or team identifiers. WorkOS will use the connection indicated by the connection parameter to direct the user to the corresponding IdP for authentication.
120
+ # @param organization [String, nil] Used to initiate SSO for an organization. The value should be a WorkOS organization ID. You can persist the WorkOS organization ID with application user or team identifiers. WorkOS will use the organization ID to determine the appropriate connection and the IdP to direct the user to for authentication.
121
+ # @param domain_hint [String, nil] Can be used to pre-fill the domain field when initiating authentication with Microsoft OAuth or with a Google SAML connection type.
122
+ # @param login_hint [String, nil] Can be used to pre-fill the username/email address field of the IdP sign-in page for the user, if you know their username ahead of time. Currently supported for OAuth, OpenID Connect, Okta, Entra ID, and custom SAML connections.
123
+ # @param nonce [String, nil] A random string generated by the client that is used to mitigate replay attacks.
124
+ # @param prompt [String, nil] If set to `login`, forces re-authentication at the identity provider. For supported SAML providers this sets `ForceAuthn="true"` in the SAML request; providers that don't support it are unaffected.
125
+ # @return [String]
126
+ def get_authorization_url(
127
+ redirect_uri:,
128
+ provider_scopes: nil,
129
+ provider_query_params: nil,
130
+ client_id: nil,
131
+ domain: nil,
132
+ provider: nil,
133
+ state: nil,
134
+ connection: nil,
135
+ organization: nil,
136
+ domain_hint: nil,
137
+ login_hint: nil,
138
+ nonce: nil,
139
+ prompt: nil
140
+ )
141
+ params = {
142
+ "provider_scopes" => provider_scopes,
143
+ "provider_query_params" => provider_query_params,
144
+ "client_id" => client_id,
145
+ "domain" => domain,
146
+ "provider" => provider,
147
+ "redirect_uri" => redirect_uri,
148
+ "state" => state,
149
+ "connection" => connection,
150
+ "organization" => organization,
151
+ "domain_hint" => domain_hint,
152
+ "login_hint" => login_hint,
153
+ "nonce" => nonce,
154
+ "prompt" => prompt
155
+ }.compact
156
+ params["provider_scopes"] = provider_scopes.join(",") unless provider_scopes.nil?
157
+ params["provider_query_params"] = JSON.generate(provider_query_params) unless provider_query_params.nil?
158
+ params["response_type"] = "code"
159
+ params["client_id"] = @client.client_id if !params.key?("client_id") && !@client.client_id.nil?
160
+ uri = URI.join(@client.base_url, "/sso/authorize")
161
+ uri.query = URI.encode_www_form(params) unless params.empty?
162
+ uri.to_s
163
+ end
164
+
165
+ # Logout Redirect
166
+ # Builds the URL client-side; no HTTP request is made.
167
+ # @param token [String] The logout token returned from the [Logout Authorize](https://workos.com/docs/reference/sso/logout/authorize) endpoint.
168
+ # @return [String]
169
+ def get_logout_url(token:)
170
+ params = {
171
+ "token" => token
172
+ }
173
+ uri = URI.join(@client.base_url, "/sso/logout")
174
+ uri.query = URI.encode_www_form(params) unless params.empty?
175
+ uri.to_s
176
+ end
177
+
109
178
  # Logout Authorize
110
179
  # @param profile_id [String] The unique ID of the profile to log out.
111
180
  # @param request_options [Hash] (see WorkOS::Types::RequestOptions)
@@ -171,32 +240,10 @@ module WorkOS
171
240
  end
172
241
 
173
242
  # @oagen-ignore-start — non-spec helpers (hand-maintained)
174
- # H14 Build an SSO authorization URL (client-side, no HTTP call).
175
- # Overrides the generated method which incorrectly hits the API.
176
- def get_authorization_url(redirect_uri:, client_id: nil, state: nil, connection: nil,
177
- organization: nil, provider: nil, domain_hint: nil,
178
- login_hint: nil, nonce: nil, provider_scopes: nil,
179
- provider_query_params: nil, **)
180
- cid = client_id || @client.client_id
181
- raise ArgumentError, "client_id is required (set on Client or pass explicitly)" if cid.nil? || cid.empty?
182
- params = {
183
- "client_id" => cid,
184
- "redirect_uri" => redirect_uri,
185
- "response_type" => "code",
186
- "state" => state,
187
- "connection" => connection,
188
- "organization" => organization,
189
- "provider" => provider,
190
- "domain_hint" => domain_hint,
191
- "login_hint" => login_hint,
192
- "nonce" => nonce
193
- }.compact
194
- params["provider_scopes"] = Array(provider_scopes).join(",") if provider_scopes
195
- if provider_query_params.is_a?(Hash) && !provider_query_params.empty?
196
- params["provider_query_params"] = JSON.generate(provider_query_params)
197
- end
198
- build_url("/sso/authorize", params)
199
- end
243
+ # H14 (sso_authorization_url) is provided by the generated
244
+ # `get_authorization_url` url-builder method, which accepts an optional
245
+ # per-call `client_id` override falling back to the client's configured
246
+ # value; no hand-maintained override is needed here.
200
247
 
201
248
  # H15 — SSO authorization URL with auto-generated PKCE pair + state.
202
249
  # Returns [url, code_verifier, state].
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ module Types
7
+ class AgentAdminValidateCredentialRequestType
8
+ API_KEY = "api_key"
9
+ ACCESS_TOKEN = "access_token"
10
+ ALL = [API_KEY, ACCESS_TOKEN].freeze
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ module Types
7
+ class AgentRegistrationCreatedDataKind
8
+ ANONYMOUS = "anonymous"
9
+ SERVICE_AUTH = "service_auth"
10
+ IDENTITY_ASSERTION = "identity_assertion"
11
+ ALL = [ANONYMOUS, SERVICE_AUTH, IDENTITY_ASSERTION].freeze
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ module Types
7
+ class AgentRegistrationCreatedDataMethod
8
+ ANONYMOUS = "anonymous"
9
+ SERVICE_AUTH = "service_auth"
10
+ ID_JAG = "id_jag"
11
+ ALL = [ANONYMOUS, SERVICE_AUTH, ID_JAG].freeze
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is auto-generated by oagen. Do not edit.
4
+
5
+ module WorkOS
6
+ module Types
7
+ class AgentRegistrationCreatedDataStatus
8
+ UNVERIFIED = "unverified"
9
+ VERIFIED = "verified"
10
+ EXPIRED = "expired"
11
+ REVOKED = "revoked"
12
+ ALL = [UNVERIFIED, VERIFIED, EXPIRED, REVOKED].freeze
13
+ end
14
+ end
15
+ end