workos 10.4.0 → 10.5.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 (159) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.github/workflows/docs.yml +2 -2
  4. data/.github/workflows/lint.yml +1 -1
  5. data/.github/workflows/release-please.yml +1 -1
  6. data/.github/workflows/release.yml +1 -1
  7. data/.last-synced-sha +1 -1
  8. data/.oagen-manifest.json +92 -2
  9. data/.release-please-manifest.json +1 -1
  10. data/.ruby-version +1 -1
  11. data/CHANGELOG.md +214 -0
  12. data/Gemfile.lock +2 -2
  13. data/lib/workos/admin_portal/generate_link.rb +3 -0
  14. data/lib/workos/admin_portal/revoke_link.rb +22 -0
  15. data/lib/workos/admin_portal.rb +27 -0
  16. data/lib/workos/agents/agent_blueprint.rb +3 -0
  17. data/lib/workos/agents/agent_blueprint_invocable_as.rb +18 -0
  18. data/lib/workos/agents/agent_blueprints_create_request.rb +3 -0
  19. data/lib/workos/agents/agent_blueprints_create_request_invocable_as.rb +18 -0
  20. data/lib/workos/agents/agent_blueprints_update_request.rb +3 -0
  21. data/lib/workos/agents/agent_blueprints_update_request_invocable_as.rb +18 -0
  22. data/lib/workos/agents/agent_registration.rb +3 -0
  23. data/lib/workos/agents.rb +25 -0
  24. data/lib/workos/authorization/user_role_assignment_source.rb +5 -2
  25. data/lib/workos/authorization/user_role_assignment_source_group.rb +7 -0
  26. data/lib/workos/directory_sync/directory_sync_rate_limit_error.rb +25 -0
  27. data/lib/workos/directory_sync/directory_sync_response.rb +18 -0
  28. data/lib/workos/directory_sync.rb +19 -0
  29. data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data.rb +3 -0
  30. data/lib/workos/feature_flags/flag_updated_context_previous_attribute_data_owner.rb +7 -0
  31. data/lib/workos/pipes/add_data_integrations_get_data_integration_authorize_url_request.rb +37 -0
  32. data/lib/workos/pipes/connected_account.rb +6 -0
  33. data/lib/workos/pipes/connected_account_input.rb +6 -0
  34. data/lib/workos/pipes/connected_account_write_response.rb +73 -0
  35. data/lib/workos/pipes/connected_account_write_response_warning.rb +22 -0
  36. data/lib/workos/pipes/create_connected_account.rb +40 -0
  37. data/lib/workos/pipes/create_organization_connected_account.rb +43 -0
  38. data/lib/workos/pipes/data_integration_credentials_response.rb +1 -1
  39. data/lib/workos/pipes/{data_integration_credentials_response_credential.rb → data_integration_vended_credential.rb} +9 -3
  40. data/lib/workos/pipes/data_integrations_create_api_key_connection_request.rb +37 -0
  41. data/lib/workos/pipes/data_integrations_create_client_credentials_connection_request.rb +43 -0
  42. data/lib/workos/pipes/data_integrations_get_data_integration_authorize_url_request.rb +3 -0
  43. data/lib/workos/pipes/data_integrations_list_response_data_connected_account.rb +6 -0
  44. data/lib/workos/pipes/data_integrations_upsert_api_key_request.rb +6 -3
  45. data/lib/workos/pipes/data_integrations_upsert_api_key_request_2.rb +37 -0
  46. data/lib/workos/pipes/data_integrations_upsert_client_credentials_request.rb +6 -3
  47. data/lib/workos/pipes/data_integrations_upsert_client_credentials_request_2.rb +43 -0
  48. data/lib/workos/pipes/organization_connected_account.rb +40 -0
  49. data/lib/workos/pipes/reauthorize_data_integrations_get_data_integration_authorize_url_request.rb +40 -0
  50. data/lib/workos/pipes/reauthorize_data_integrations_upsert_api_key_request.rb +40 -0
  51. data/lib/workos/pipes/reauthorize_data_integrations_upsert_client_credentials_request.rb +46 -0
  52. data/lib/workos/pipes.rb +192 -31
  53. data/lib/workos/shared/agent_blueprint_created_data.rb +3 -0
  54. data/lib/workos/shared/agent_blueprint_created_data_invocable_as.rb +18 -0
  55. data/lib/workos/shared/agent_blueprint_updated_data.rb +40 -1
  56. data/lib/workos/shared/agent_blueprint_updated_data_invocable_as.rb +18 -0
  57. data/lib/workos/shared/pipe_connected_account.rb +6 -0
  58. data/lib/workos/sso/token_query.rb +3 -0
  59. data/lib/workos/sso.rb +3 -0
  60. data/lib/workos/types/add_data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +13 -0
  61. data/lib/workos/types/agent_blueprint_created_data_invocable_as_instance_types.rb +13 -0
  62. data/lib/workos/types/agent_blueprint_invocable_as_instance_types.rb +9 -0
  63. data/lib/workos/types/agent_blueprint_updated_data_invocable_as_instance_types.rb +9 -0
  64. data/lib/workos/types/agent_blueprints_create_request_invocable_as_instance_types.rb +9 -0
  65. data/lib/workos/types/agent_blueprints_update_request_invocable_as_instance_types.rb +9 -0
  66. data/lib/workos/types/agent_instance_created_data_type.rb +1 -5
  67. data/lib/workos/types/agent_instance_deleted_data_type.rb +1 -1
  68. data/lib/workos/types/agent_instance_type.rb +1 -1
  69. data/lib/workos/types/connected_account_write_response_auth_method.rb +9 -0
  70. data/lib/workos/types/connected_account_write_response_connection_role.rb +9 -0
  71. data/lib/workos/types/connected_account_write_response_state.rb +9 -0
  72. data/lib/workos/types/create_connected_account_state.rb +9 -0
  73. data/lib/workos/types/create_data_integration_ownership.rb +1 -5
  74. data/lib/workos/types/create_organization_connected_account_state.rb +9 -0
  75. data/lib/workos/types/data_integration_ownership.rb +1 -1
  76. data/lib/workos/types/data_integrations_create_api_key_connection_request_connection_owner.rb +9 -0
  77. data/lib/workos/types/data_integrations_create_client_credentials_connection_request_connection_owner.rb +9 -0
  78. data/lib/workos/types/data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +1 -1
  79. data/lib/workos/types/data_integrations_get_user_token_request_connection_owner.rb +1 -1
  80. data/lib/workos/types/data_integrations_list_response_data_connection_owner.rb +1 -1
  81. data/lib/workos/types/data_integrations_upsert_api_key_request_2_connection_owner.rb +9 -0
  82. data/lib/workos/types/data_integrations_upsert_api_key_request_connection_owner.rb +1 -1
  83. data/lib/workos/types/data_integrations_upsert_client_credentials_request_2_connection_owner.rb +9 -0
  84. data/lib/workos/types/data_integrations_upsert_client_credentials_request_connection_owner.rb +1 -1
  85. data/lib/workos/types/data_integrations_vend_credentials_request_connection_owner.rb +1 -1
  86. data/lib/workos/types/organization_connected_account_state.rb +9 -0
  87. data/lib/workos/types/pipes_ownership.rb +1 -1
  88. data/lib/workos/types/reauthorize_data_integrations_get_data_integration_authorize_url_request_connection_owner.rb +9 -0
  89. data/lib/workos/types/reauthorize_data_integrations_upsert_api_key_request_connection_owner.rb +9 -0
  90. data/lib/workos/types/reauthorize_data_integrations_upsert_client_credentials_request_connection_owner.rb +9 -0
  91. data/lib/workos/types/resource_export_completed_data_resource_type.rb +2 -1
  92. data/lib/workos/types/vault_dek_rekeyed_data_actor_source.rb +9 -0
  93. data/lib/workos/user_management.rb +1 -1
  94. data/lib/workos/vault/vault_dek_rekeyed.rb +34 -0
  95. data/lib/workos/vault/vault_dek_rekeyed_data.rb +31 -0
  96. data/lib/workos/version.rb +1 -1
  97. data/rbi/workos/add_data_integrations_get_data_integration_authorize_url_request.rbi +60 -0
  98. data/rbi/workos/admin_portal.rbi +11 -1
  99. data/rbi/workos/agent_blueprint.rbi +6 -0
  100. data/rbi/workos/agent_blueprint_created_data.rbi +6 -0
  101. data/rbi/workos/agent_blueprint_created_data_invocable_as.rbi +24 -0
  102. data/rbi/workos/agent_blueprint_invocable_as.rbi +24 -0
  103. data/rbi/workos/agent_blueprint_updated_data.rbi +6 -0
  104. data/rbi/workos/agent_blueprint_updated_data_invocable_as.rbi +24 -0
  105. data/rbi/workos/agent_blueprints_create_request.rbi +6 -0
  106. data/rbi/workos/agent_blueprints_create_request_invocable_as.rbi +24 -0
  107. data/rbi/workos/agent_blueprints_update_request.rbi +6 -0
  108. data/rbi/workos/agent_blueprints_update_request_invocable_as.rbi +24 -0
  109. data/rbi/workos/agent_registration.rbi +6 -0
  110. data/rbi/workos/agents.rbi +12 -2
  111. data/rbi/workos/connected_account.rbi +12 -0
  112. data/rbi/workos/connected_account_input.rbi +12 -0
  113. data/rbi/workos/connected_account_write_response.rbi +132 -0
  114. data/rbi/workos/connected_account_write_response_warning.rbi +30 -0
  115. data/rbi/workos/create_connected_account.rbi +66 -0
  116. data/rbi/workos/create_organization_connected_account.rbi +72 -0
  117. data/rbi/workos/data_integration_credentials_response.rbi +2 -2
  118. data/rbi/workos/data_integration_vended_credential.rbi +66 -0
  119. data/rbi/workos/data_integrations_create_api_key_connection_request.rbi +60 -0
  120. data/rbi/workos/data_integrations_create_client_credentials_connection_request.rbi +72 -0
  121. data/rbi/workos/data_integrations_get_data_integration_authorize_url_request.rbi +6 -0
  122. data/rbi/workos/data_integrations_list_response_data_connected_account.rbi +12 -0
  123. data/rbi/workos/data_integrations_upsert_api_key_request.rbi +12 -6
  124. data/rbi/workos/data_integrations_upsert_api_key_request_2.rbi +60 -0
  125. data/rbi/workos/data_integrations_upsert_client_credentials_request.rbi +12 -6
  126. data/rbi/workos/data_integrations_upsert_client_credentials_request_2.rbi +72 -0
  127. data/rbi/workos/directory_sync.rbi +8 -0
  128. data/rbi/workos/directory_sync_rate_limit_error.rbi +36 -0
  129. data/rbi/workos/directory_sync_response.rbi +24 -0
  130. data/rbi/workos/flag_updated_context_previous_attribute_data.rbi +6 -0
  131. data/rbi/workos/flag_updated_context_previous_attribute_data_owner.rbi +36 -0
  132. data/rbi/workos/generate_link.rbi +6 -0
  133. data/rbi/workos/organization_connected_account.rbi +66 -0
  134. data/rbi/workos/pipe_connected_account.rbi +12 -0
  135. data/rbi/workos/pipes.rbi +64 -15
  136. data/rbi/workos/reauthorize_data_integrations_get_data_integration_authorize_url_request.rbi +66 -0
  137. data/rbi/workos/reauthorize_data_integrations_upsert_api_key_request.rbi +66 -0
  138. data/rbi/workos/reauthorize_data_integrations_upsert_client_credentials_request.rbi +78 -0
  139. data/rbi/workos/revoke_link.rbi +30 -0
  140. data/rbi/workos/sso.rbi +2 -1
  141. data/rbi/workos/token_query.rbi +6 -0
  142. data/rbi/workos/user_role_assignment_source.rbi +6 -0
  143. data/rbi/workos/user_role_assignment_source_group.rbi +30 -0
  144. data/rbi/workos/vault_dek_rekeyed.rbi +54 -0
  145. data/rbi/workos/{data_integration_credentials_response_credential.rbi → vault_dek_rekeyed_data.rbi} +13 -19
  146. data/test/workos/test_admin_portal.rb +9 -1
  147. data/test/workos/test_admin_portal_model_round_trip.rb +14 -0
  148. data/test/workos/test_agents.rb +8 -0
  149. data/test/workos/test_agents_model_round_trip.rb +35 -0
  150. data/test/workos/test_authorization_model_round_trip.rb +15 -1
  151. data/test/workos/test_directory_sync.rb +8 -0
  152. data/test/workos/test_directory_sync_model_round_trip.rb +24 -0
  153. data/test/workos/test_feature_flags_model_round_trip.rb +16 -0
  154. data/test/workos/test_pipes.rb +20 -4
  155. data/test/workos/test_pipes_model_round_trip.rb +284 -15
  156. data/test/workos/test_shared_model_round_trip.rb +30 -6
  157. data/test/workos/test_sso_model_round_trip.rb +1 -0
  158. data/test/workos/test_vault_model_round_trip.rb +33 -0
  159. metadata +73 -3
data/rbi/workos/pipes.rbi CHANGED
@@ -73,18 +73,35 @@ module WorkOS
73
73
  slug: String,
74
74
  user_id: String,
75
75
  secret: String,
76
+ connection_intent: String,
77
+ account_display_name: T.nilable(String),
78
+ account_identifier: T.nilable(String),
76
79
  organization_id: T.nilable(String),
77
- connected_account_id: T.nilable(String),
78
80
  connection_owner: T.nilable(String),
79
81
  request_options: T::Hash[Symbol, T.untyped]
80
- ).returns(WorkOS::ConnectedAccount)
82
+ ).returns(WorkOS::ConnectedAccountWriteResponse)
83
+ end
84
+ def create_data_integration_api_key(slug:, user_id:, secret:, connection_intent:, account_display_name:, account_identifier:, organization_id:, connection_owner:, request_options:); end
85
+
86
+ sig do
87
+ params(
88
+ slug: String,
89
+ user_id: String,
90
+ secret: String,
91
+ account_display_name: T.nilable(String),
92
+ account_identifier: T.nilable(String),
93
+ organization_id: T.nilable(String),
94
+ connection_owner: T.nilable(String),
95
+ request_options: T::Hash[Symbol, T.untyped]
96
+ ).returns(WorkOS::ConnectedAccountWriteResponse)
81
97
  end
82
- def update_data_integration_api_key(slug:, user_id:, secret:, organization_id:, connected_account_id:, connection_owner:, request_options:); end
98
+ def update_data_integration_api_key(slug:, user_id:, secret:, account_display_name:, account_identifier:, organization_id:, connection_owner:, request_options:); end
83
99
 
84
100
  sig do
85
101
  params(
86
102
  slug: String,
87
103
  user_id: String,
104
+ account_display_name: T.nilable(String),
88
105
  organization_id: T.nilable(String),
89
106
  connection_owner: T.nilable(String),
90
107
  return_to: T.nilable(String),
@@ -92,7 +109,7 @@ module WorkOS
92
109
  request_options: T::Hash[Symbol, T.untyped]
93
110
  ).returns(WorkOS::DataIntegrationAuthorizeUrlResponse)
94
111
  end
95
- def authorize_data_integration(slug:, user_id:, organization_id:, connection_owner:, return_to:, config:, request_options:); end
112
+ def authorize_data_integration(slug:, user_id:, account_display_name:, organization_id:, connection_owner:, return_to:, config:, request_options:); end
96
113
 
97
114
  sig do
98
115
  params(
@@ -100,14 +117,32 @@ module WorkOS
100
117
  user_id: String,
101
118
  client_id: String,
102
119
  client_secret: String,
120
+ connection_intent: String,
121
+ account_display_name: T.nilable(String),
122
+ account_identifier: T.nilable(String),
103
123
  organization_id: T.nilable(String),
104
- connected_account_id: T.nilable(String),
105
124
  connection_owner: T.nilable(String),
106
125
  config: T.nilable(T::Hash[String, String]),
107
126
  request_options: T::Hash[Symbol, T.untyped]
108
- ).returns(WorkOS::ConnectedAccount)
127
+ ).returns(WorkOS::ConnectedAccountWriteResponse)
128
+ end
129
+ def create_data_integration_client_credential(slug:, user_id:, client_id:, client_secret:, connection_intent:, account_display_name:, account_identifier:, organization_id:, connection_owner:, config:, request_options:); end
130
+
131
+ sig do
132
+ params(
133
+ slug: String,
134
+ user_id: String,
135
+ client_id: String,
136
+ client_secret: String,
137
+ account_display_name: T.nilable(String),
138
+ account_identifier: T.nilable(String),
139
+ organization_id: T.nilable(String),
140
+ connection_owner: T.nilable(String),
141
+ config: T.nilable(T::Hash[String, String]),
142
+ request_options: T::Hash[Symbol, T.untyped]
143
+ ).returns(WorkOS::ConnectedAccountWriteResponse)
109
144
  end
110
- def update_data_integration_client_credentials(slug:, user_id:, client_id:, client_secret:, organization_id:, connected_account_id:, connection_owner:, config:, request_options:); end
145
+ def update_data_integration_client_credentials(slug:, user_id:, client_id:, client_secret:, account_display_name:, account_identifier:, organization_id:, connection_owner:, config:, request_options:); end
111
146
 
112
147
  sig do
113
148
  params(
@@ -180,20 +215,27 @@ module WorkOS
180
215
  params(
181
216
  organization_id: String,
182
217
  slug: String,
218
+ user_id: String,
219
+ account_display_name: T.nilable(String),
220
+ account_identifier: T.nilable(String),
183
221
  access_token: T.nilable(String),
184
222
  refresh_token: T.nilable(String),
185
223
  expires_at: T.nilable(String),
186
224
  scopes: T.nilable(T::Array[String]),
187
225
  state: T.nilable(String),
226
+ connection_intent: T.nilable(String),
188
227
  request_options: T::Hash[Symbol, T.untyped]
189
- ).returns(WorkOS::ConnectedAccount)
228
+ ).returns(WorkOS::ConnectedAccountWriteResponse)
190
229
  end
191
- def create_organization_connected_account(organization_id:, slug:, access_token:, refresh_token:, expires_at:, scopes:, state:, request_options:); end
230
+ def create_organization_connected_account(organization_id:, slug:, user_id:, account_display_name:, account_identifier:, access_token:, refresh_token:, expires_at:, scopes:, state:, connection_intent:, request_options:); end
192
231
 
193
232
  sig do
194
233
  params(
195
234
  organization_id: String,
196
235
  slug: String,
236
+ user_id: String,
237
+ account_display_name: T.nilable(String),
238
+ account_identifier: T.nilable(String),
197
239
  access_token: T.nilable(String),
198
240
  refresh_token: T.nilable(String),
199
241
  expires_at: T.nilable(String),
@@ -201,10 +243,11 @@ module WorkOS
201
243
  state: T.nilable(String),
202
244
  supports_multiple_connections: T.nilable(T::Boolean),
203
245
  connected_account_id: T.nilable(String),
246
+ connection_intent: T.nilable(String),
204
247
  request_options: T::Hash[Symbol, T.untyped]
205
- ).returns(WorkOS::ConnectedAccount)
248
+ ).returns(WorkOS::ConnectedAccountWriteResponse)
206
249
  end
207
- def update_organization_connected_account(organization_id:, slug:, access_token:, refresh_token:, expires_at:, scopes:, state:, supports_multiple_connections:, connected_account_id:, request_options:); end
250
+ def update_organization_connected_account(organization_id:, slug:, user_id:, account_display_name:, account_identifier:, access_token:, refresh_token:, expires_at:, scopes:, state:, supports_multiple_connections:, connected_account_id:, connection_intent:, request_options:); end
208
251
 
209
252
  sig do
210
253
  params(
@@ -242,21 +285,26 @@ module WorkOS
242
285
  params(
243
286
  user_id: String,
244
287
  slug: String,
288
+ account_display_name: T.nilable(String),
289
+ account_identifier: T.nilable(String),
245
290
  access_token: T.nilable(String),
246
291
  refresh_token: T.nilable(String),
247
292
  expires_at: T.nilable(String),
248
293
  scopes: T.nilable(T::Array[String]),
249
294
  state: T.nilable(String),
295
+ connection_intent: T.nilable(String),
250
296
  organization_id: T.nilable(String),
251
297
  request_options: T::Hash[Symbol, T.untyped]
252
- ).returns(WorkOS::ConnectedAccount)
298
+ ).returns(WorkOS::ConnectedAccountWriteResponse)
253
299
  end
254
- def create_user_connected_account(user_id:, slug:, access_token:, refresh_token:, expires_at:, scopes:, state:, organization_id:, request_options:); end
300
+ def create_user_connected_account(user_id:, slug:, account_display_name:, account_identifier:, access_token:, refresh_token:, expires_at:, scopes:, state:, connection_intent:, organization_id:, request_options:); end
255
301
 
256
302
  sig do
257
303
  params(
258
304
  user_id: String,
259
305
  slug: String,
306
+ account_display_name: T.nilable(String),
307
+ account_identifier: T.nilable(String),
260
308
  access_token: T.nilable(String),
261
309
  refresh_token: T.nilable(String),
262
310
  expires_at: T.nilable(String),
@@ -265,10 +313,11 @@ module WorkOS
265
313
  organization_id: T.nilable(String),
266
314
  supports_multiple_connections: T.nilable(T::Boolean),
267
315
  connected_account_id: T.nilable(String),
316
+ connection_intent: T.nilable(String),
268
317
  request_options: T::Hash[Symbol, T.untyped]
269
- ).returns(WorkOS::ConnectedAccount)
318
+ ).returns(WorkOS::ConnectedAccountWriteResponse)
270
319
  end
271
- def update_user_connected_account(user_id:, slug:, access_token:, refresh_token:, expires_at:, scopes:, state:, organization_id:, supports_multiple_connections:, connected_account_id:, request_options:); end
320
+ def update_user_connected_account(user_id:, slug:, account_display_name:, account_identifier:, access_token:, refresh_token:, expires_at:, scopes:, state:, organization_id:, supports_multiple_connections:, connected_account_id:, connection_intent:, request_options:); end
272
321
 
273
322
  sig do
274
323
  params(
@@ -0,0 +1,66 @@
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 ReauthorizeDataIntegrationsGetDataIntegrationAuthorizeUrlRequest
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(T.nilable(String)) }
13
+ def account_display_name; end
14
+
15
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
16
+ def account_display_name=(value); end
17
+
18
+ sig { returns(String) }
19
+ def user_id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def user_id=(value); end
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ def organization_id; end
26
+
27
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
28
+ def organization_id=(value); end
29
+
30
+ sig { returns(T.nilable(String)) }
31
+ def connection_owner; end
32
+
33
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
34
+ def connection_owner=(value); end
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ def return_to; end
38
+
39
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
40
+ def return_to=(value); end
41
+
42
+ sig { returns(T.nilable(T::Hash[String, String])) }
43
+ def config; end
44
+
45
+ sig { params(value: T.nilable(T::Hash[String, String])).returns(T.nilable(T::Hash[String, String])) }
46
+ def config=(value); end
47
+
48
+ sig { returns(String) }
49
+ def connection_intent; end
50
+
51
+ sig { params(value: String).returns(String) }
52
+ def connection_intent=(value); end
53
+
54
+ sig { returns(String) }
55
+ def connected_account_id; end
56
+
57
+ sig { params(value: String).returns(String) }
58
+ def connected_account_id=(value); end
59
+
60
+ sig { returns(T::Hash[Symbol, T.untyped]) }
61
+ def to_h; end
62
+
63
+ sig { params(args: T.untyped).returns(String) }
64
+ def to_json(*args); end
65
+ end
66
+ end
@@ -0,0 +1,66 @@
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 ReauthorizeDataIntegrationsUpsertApiKeyRequest
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(T.nilable(String)) }
13
+ def account_display_name; end
14
+
15
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
16
+ def account_display_name=(value); end
17
+
18
+ sig { returns(T.nilable(String)) }
19
+ def account_identifier; end
20
+
21
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
22
+ def account_identifier=(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(T.nilable(String)) }
31
+ def organization_id; end
32
+
33
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
34
+ def organization_id=(value); end
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ def connection_owner; end
38
+
39
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
40
+ def connection_owner=(value); end
41
+
42
+ sig { returns(String) }
43
+ def secret; end
44
+
45
+ sig { params(value: String).returns(String) }
46
+ def secret=(value); end
47
+
48
+ sig { returns(String) }
49
+ def connection_intent; end
50
+
51
+ sig { params(value: String).returns(String) }
52
+ def connection_intent=(value); end
53
+
54
+ sig { returns(String) }
55
+ def connected_account_id; end
56
+
57
+ sig { params(value: String).returns(String) }
58
+ def connected_account_id=(value); end
59
+
60
+ sig { returns(T::Hash[Symbol, T.untyped]) }
61
+ def to_h; end
62
+
63
+ sig { params(args: T.untyped).returns(String) }
64
+ def to_json(*args); end
65
+ end
66
+ end
@@ -0,0 +1,78 @@
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 ReauthorizeDataIntegrationsUpsertClientCredentialsRequest
9
+ sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
+ def initialize(json); end
11
+
12
+ sig { returns(T.nilable(String)) }
13
+ def account_display_name; end
14
+
15
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
16
+ def account_display_name=(value); end
17
+
18
+ sig { returns(T.nilable(String)) }
19
+ def account_identifier; end
20
+
21
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
22
+ def account_identifier=(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(T.nilable(String)) }
31
+ def organization_id; end
32
+
33
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
34
+ def organization_id=(value); end
35
+
36
+ sig { returns(T.nilable(String)) }
37
+ def connection_owner; end
38
+
39
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
40
+ def connection_owner=(value); end
41
+
42
+ sig { returns(String) }
43
+ def client_id; end
44
+
45
+ sig { params(value: String).returns(String) }
46
+ def client_id=(value); end
47
+
48
+ sig { returns(String) }
49
+ def client_secret; end
50
+
51
+ sig { params(value: String).returns(String) }
52
+ def client_secret=(value); end
53
+
54
+ sig { returns(T.nilable(T::Hash[String, String])) }
55
+ def config; end
56
+
57
+ sig { params(value: T.nilable(T::Hash[String, String])).returns(T.nilable(T::Hash[String, String])) }
58
+ def config=(value); end
59
+
60
+ sig { returns(String) }
61
+ def connection_intent; end
62
+
63
+ sig { params(value: String).returns(String) }
64
+ def connection_intent=(value); end
65
+
66
+ sig { returns(String) }
67
+ def connected_account_id; end
68
+
69
+ sig { params(value: String).returns(String) }
70
+ def connected_account_id=(value); end
71
+
72
+ sig { returns(T::Hash[Symbol, T.untyped]) }
73
+ def to_h; end
74
+
75
+ sig { params(args: T.untyped).returns(String) }
76
+ def to_json(*args); end
77
+ end
78
+ end
@@ -0,0 +1,30 @@
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 RevokeLink
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 organization; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def organization=(value); end
17
+
18
+ sig { returns(String) }
19
+ def external_user_id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def external_user_id=(value); end
23
+
24
+ sig { returns(T::Hash[Symbol, T.untyped]) }
25
+ def to_h; end
26
+
27
+ sig { params(args: T.untyped).returns(String) }
28
+ def to_json(*args); end
29
+ end
30
+ end
data/rbi/workos/sso.rbi CHANGED
@@ -234,13 +234,14 @@ module WorkOS
234
234
  sig do
235
235
  params(
236
236
  code: T.nilable(String),
237
+ code_verifier: T.nilable(String),
237
238
  subject_token: T.nilable(String),
238
239
  subject_token_type: T.nilable(String),
239
240
  organization_id: T.nilable(String),
240
241
  request_options: T::Hash[Symbol, T.untyped]
241
242
  ).returns(WorkOS::SSOTokenResponse)
242
243
  end
243
- def get_profile_and_token(code:, subject_token:, subject_token_type:, organization_id:, request_options:); end
244
+ def get_profile_and_token(code:, code_verifier:, subject_token:, subject_token_type:, organization_id:, request_options:); end
244
245
 
245
246
  end
246
247
  end
@@ -33,6 +33,12 @@ module WorkOS
33
33
  sig { params(value: String).returns(String) }
34
34
  def grant_type=(value); end
35
35
 
36
+ sig { returns(T.nilable(String)) }
37
+ def code_verifier; end
38
+
39
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
40
+ def code_verifier=(value); end
41
+
36
42
  sig { returns(T.nilable(String)) }
37
43
  def subject_token; end
38
44
 
@@ -21,6 +21,12 @@ module WorkOS
21
21
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
22
22
  def group_role_assignment_id=(value); end
23
23
 
24
+ sig { returns(T.nilable(WorkOS::UserRoleAssignmentSourceGroup)) }
25
+ def group; end
26
+
27
+ sig { params(value: T.nilable(WorkOS::UserRoleAssignmentSourceGroup)).returns(T.nilable(WorkOS::UserRoleAssignmentSourceGroup)) }
28
+ def group=(value); end
29
+
24
30
  sig { returns(T::Hash[Symbol, T.untyped]) }
25
31
  def to_h; end
26
32
 
@@ -0,0 +1,30 @@
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 UserRoleAssignmentSourceGroup
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 id; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def id=(value); end
17
+
18
+ sig { returns(String) }
19
+ def name; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def name=(value); end
23
+
24
+ sig { returns(T::Hash[Symbol, T.untyped]) }
25
+ def to_h; end
26
+
27
+ sig { params(args: T.untyped).returns(String) }
28
+ def to_json(*args); end
29
+ end
30
+ 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 VaultDekRekeyed
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::VaultDekRekeyedData) }
31
+ def data; end
32
+
33
+ sig { params(value: WorkOS::VaultDekRekeyedData).returns(WorkOS::VaultDekRekeyedData) }
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,45 +5,39 @@
5
5
  # typed: strong
6
6
 
7
7
  module WorkOS
8
- class DataIntegrationCredentialsResponseCredential
8
+ class VaultDekRekeyedData
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
12
12
  sig { returns(String) }
13
- def object; end
13
+ def actor_id; end
14
14
 
15
15
  sig { params(value: String).returns(String) }
16
- def object=(value); end
16
+ def actor_id=(value); end
17
17
 
18
18
  sig { returns(String) }
19
- def auth_method; end
19
+ def actor_source; end
20
20
 
21
21
  sig { params(value: String).returns(String) }
22
- def auth_method=(value); end
22
+ def actor_source=(value); end
23
23
 
24
24
  sig { returns(String) }
25
- def value; end
25
+ def actor_name; end
26
26
 
27
27
  sig { params(value: String).returns(String) }
28
- def value=(value); end
29
-
30
- sig { returns(T.nilable(String)) }
31
- def expires_at; end
32
-
33
- sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
34
- def expires_at=(value); end
28
+ def actor_name=(value); end
35
29
 
36
30
  sig { returns(T::Array[String]) }
37
- def scopes; end
31
+ def key_ids; end
38
32
 
39
33
  sig { params(value: T::Array[String]).returns(T::Array[String]) }
40
- def scopes=(value); end
34
+ def key_ids=(value); end
41
35
 
42
- sig { returns(T::Array[String]) }
43
- def missing_scopes; end
36
+ sig { returns(T::Hash[String, String]) }
37
+ def key_context; end
44
38
 
45
- sig { params(value: T::Array[String]).returns(T::Array[String]) }
46
- def missing_scopes=(value); end
39
+ sig { params(value: T::Hash[String, String]).returns(T::Hash[String, String]) }
40
+ def key_context=(value); end
47
41
 
48
42
  sig { returns(T::Hash[Symbol, T.untyped]) }
49
43
  def to_h; end
@@ -18,9 +18,17 @@ class AdminPortalTest < Minitest::Test
18
18
  refute_nil result
19
19
  end
20
20
 
21
+ def test_revoke_link_returns_expected_result
22
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/portal/revoke_link(\?|\z)})
23
+ .to_return(body: "{}", status: 200)
24
+ result = @client.admin_portal.revoke_link(organization: "stub", external_user_id: "stub")
25
+ assert_nil result
26
+ end
27
+
21
28
  # Parameterized authentication error tests (one per endpoint).
22
29
  [
23
- {name: :generate_link, verb: :post, url: %r{\Ahttps://api\.workos\.com/portal/generate_link(\?|\z)}, args: {organization: "stub"}}
30
+ {name: :generate_link, verb: :post, url: %r{\Ahttps://api\.workos\.com/portal/generate_link(\?|\z)}, args: {organization: "stub"}},
31
+ {name: :revoke_link, verb: :post, url: %r{\Ahttps://api\.workos\.com/portal/revoke_link(\?|\z)}, args: {organization: "stub", external_user_id: "stub"}}
24
32
  ].each do |spec|
25
33
  define_method("test_#{spec[:name]}_raises_authentication_error_on_401") do
26
34
  stub_request(spec[:verb], spec[:url])
@@ -10,6 +10,7 @@ class AdminPortalModelRoundTripTest < Minitest::Test
10
10
  "return_url" => "stub",
11
11
  "success_url" => "stub",
12
12
  "organization" => "stub",
13
+ "external_user_id" => "stub",
13
14
  "intent" => "stub",
14
15
  "it_contact_emails" => []
15
16
  }
@@ -20,6 +21,19 @@ class AdminPortalModelRoundTripTest < Minitest::Test
20
21
  fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
21
22
  end
22
23
 
24
+ def test_revoke_link_round_trip
25
+ fixture = {
26
+ "organization" => "stub",
27
+ "external_user_id" => "stub"
28
+ }
29
+ model = WorkOS::RevokeLink.new(fixture.to_json)
30
+ json = model.to_h
31
+ assert_kind_of Hash, json
32
+ assert_equal fixture["organization"], json[:organization]
33
+ assert_equal fixture["external_user_id"], json[:external_user_id]
34
+ fixture.each_key { |k| assert json.key?(k.to_sym) || json.key?(k), "Expected to_h to include key #{k}" }
35
+ end
36
+
23
37
  def test_portal_link_response_round_trip
24
38
  fixture = {
25
39
  "link" => "stub"
@@ -81,6 +81,13 @@ class AgentsTest < Minitest::Test
81
81
  refute_nil result
82
82
  end
83
83
 
84
+ def test_revoke_registration_returns_expected_result
85
+ stub_request(:post, %r{\Ahttps://api\.workos\.com/agents/registrations/stub/revoke(\?|\z)})
86
+ .to_return(body: "{}", status: 200)
87
+ result = @client.agents.revoke_registration(id: "stub")
88
+ refute_nil result
89
+ end
90
+
84
91
  def test_list_instances_returns_expected_result
85
92
  stub_request(:get, %r{\Ahttps://api\.workos\.com/agents/instances(\?|\z)})
86
93
  .to_return(body: '{"data": [], "list_metadata": {}}', status: 200)
@@ -135,6 +142,7 @@ class AgentsTest < Minitest::Test
135
142
  {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: {}}},
136
143
  {name: :create_validate, verb: :post, url: %r{\Ahttps://api\.workos\.com/agents/credentials/validate(\?|\z)}, args: {type: "stub", credential: "stub"}},
137
144
  {name: :get_registration, verb: :get, url: %r{\Ahttps://api\.workos\.com/agents/registrations/stub(\?|\z)}, args: {id: "stub"}},
145
+ {name: :revoke_registration, verb: :post, url: %r{\Ahttps://api\.workos\.com/agents/registrations/stub/revoke(\?|\z)}, args: {id: "stub"}},
138
146
  {name: :list_instances, verb: :get, url: %r{\Ahttps://api\.workos\.com/agents/instances(\?|\z)}},
139
147
  {name: :get_instance, verb: :get, url: %r{\Ahttps://api\.workos\.com/agents/instances/stub(\?|\z)}, args: {agent_instance_id: "stub"}},
140
148
  {name: :delete_instance, verb: :delete, url: %r{\Ahttps://api\.workos\.com/agents/instances/stub(\?|\z)}, args: {agent_instance_id: "stub"}},