workos 7.1.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/docs.yml +46 -0
  3. data/.gitignore +2 -0
  4. data/.last-synced-sha +1 -1
  5. data/.oagen-manifest.json +61 -40
  6. data/.release-please-manifest.json +1 -1
  7. data/.yardopts +6 -0
  8. data/CHANGELOG.md +29 -0
  9. data/Gemfile +6 -0
  10. data/Gemfile.lock +33 -2
  11. data/lib/workos/api_keys/api_key.rb +1 -1
  12. data/lib/workos/api_keys/api_key_created_data.rb +1 -1
  13. data/lib/workos/api_keys/organization_api_key.rb +43 -0
  14. data/lib/workos/{types/events_order.rb → api_keys/organization_api_key_owner.rb} +1 -3
  15. data/lib/workos/api_keys/organization_api_key_with_value.rb +46 -0
  16. data/lib/workos/{types/audit_logs_order.rb → api_keys/organization_api_key_with_value_owner.rb} +1 -3
  17. data/lib/workos/api_keys.rb +46 -46
  18. data/lib/workos/audit_logs.rb +4 -4
  19. data/lib/workos/authorization/user_organization_membership_base_list_data.rb +5 -2
  20. data/lib/workos/authorization/{role_assignment.rb → user_role_assignment.rb} +5 -2
  21. data/lib/workos/authorization/{role_assignment_resource.rb → user_role_assignment_resource.rb} +1 -1
  22. data/lib/workos/authorization.rb +122 -22
  23. data/lib/workos/client.rb +4 -4
  24. data/lib/workos/connect.rb +2 -2
  25. data/lib/workos/directory_sync/directory_user.rb +3 -0
  26. data/lib/workos/directory_sync/directory_user_with_groups.rb +4 -1
  27. data/lib/workos/directory_sync/dsync_user_updated_data.rb +3 -0
  28. data/lib/workos/directory_sync.rb +6 -6
  29. data/lib/workos/events.rb +2 -2
  30. data/lib/workos/feature_flags.rb +6 -6
  31. data/lib/workos/groups.rb +4 -4
  32. data/lib/workos/multi_factor_auth.rb +2 -2
  33. data/lib/workos/organizations.rb +2 -2
  34. data/lib/workos/sso/profile.rb +3 -0
  35. data/lib/workos/sso.rb +2 -2
  36. data/lib/workos/types/event_context_actor_source.rb +2 -1
  37. data/lib/workos/types/{applications_order.rb → pagination_order.rb} +1 -1
  38. data/lib/workos/types/{vault_byok_key_verification_completed_data_key_provider.rb → vault_byok_key_provider.rb} +1 -1
  39. data/lib/workos/user_management/create_user_api_key.rb +25 -0
  40. data/lib/workos/user_management/organization_membership.rb +5 -2
  41. data/lib/workos/user_management/user_api_key.rb +43 -0
  42. data/lib/workos/user_management/user_api_key_created_data_owner.rb +25 -0
  43. data/lib/workos/{api_keys/api_key_with_value_owner.rb → user_management/user_api_key_owner.rb} +1 -1
  44. data/lib/workos/{types/webhooks_order.rb → user_management/user_api_key_revoked_data_owner.rb} +1 -3
  45. data/lib/workos/{api_keys/api_key_with_value.rb → user_management/user_api_key_with_value.rb} +2 -2
  46. data/lib/workos/{types/groups_order.rb → user_management/user_api_key_with_value_owner.rb} +1 -3
  47. data/lib/workos/user_management/user_organization_membership.rb +5 -2
  48. data/lib/workos/user_management.rb +107 -10
  49. data/lib/workos/user_management_organization_membership_groups.rb +2 -2
  50. data/lib/workos/vault/vault_byok_key_deleted.rb +34 -0
  51. data/lib/workos/vault/vault_byok_key_deleted_data.rb +22 -0
  52. data/lib/workos/version.rb +1 -1
  53. data/lib/workos/webhooks.rb +2 -2
  54. data/rbi/workos/api_key.rbi +2 -2
  55. data/rbi/workos/api_key_created_data.rbi +2 -2
  56. data/rbi/workos/api_key_revoked_data.rbi +2 -2
  57. data/rbi/workos/api_keys.rbi +17 -17
  58. data/rbi/workos/authorization.rbi +27 -1
  59. data/rbi/workos/client.rbi +3 -3
  60. data/rbi/workos/create_user_api_key.rbi +36 -0
  61. data/rbi/workos/directory_user.rbi +6 -0
  62. data/rbi/workos/directory_user_with_groups.rbi +6 -0
  63. data/rbi/workos/dsync_user_updated_data.rbi +6 -0
  64. data/rbi/workos/organization_api_key.rbi +72 -0
  65. data/rbi/workos/{api_key_with_value_owner.rbi → organization_api_key_owner.rbi} +1 -1
  66. data/rbi/workos/organization_api_key_with_value.rbi +78 -0
  67. data/rbi/workos/organization_api_key_with_value_owner.rbi +30 -0
  68. data/rbi/workos/organization_membership.rbi +6 -0
  69. data/rbi/workos/profile.rbi +6 -0
  70. data/rbi/workos/user_api_key.rbi +72 -0
  71. data/rbi/workos/user_api_key_created_data_owner.rbi +36 -0
  72. data/rbi/workos/user_api_key_owner.rbi +36 -0
  73. data/rbi/workos/user_api_key_revoked_data_owner.rbi +36 -0
  74. data/rbi/workos/{api_key_with_value.rbi → user_api_key_with_value.rbi} +3 -3
  75. data/rbi/workos/user_api_key_with_value_owner.rbi +36 -0
  76. data/rbi/workos/user_management.rbi +31 -0
  77. data/rbi/workos/user_organization_membership.rbi +6 -0
  78. data/rbi/workos/user_organization_membership_base_list_data.rbi +6 -0
  79. data/rbi/workos/{role_assignment.rbi → user_role_assignment.rbi} +9 -3
  80. data/rbi/workos/{role_assignment_resource.rbi → user_role_assignment_resource.rbi} +1 -1
  81. data/rbi/workos/vault_byok_key_deleted.rbi +54 -0
  82. data/rbi/workos/vault_byok_key_deleted_data.rbi +30 -0
  83. data/script/docs +16 -0
  84. data/script/docs-serve +12 -0
  85. data/script/llms-txt +37 -0
  86. data/test/workos/test_api_keys.rb +17 -17
  87. data/test/workos/test_authorization.rb +16 -0
  88. data/test/workos/test_model_round_trip.rb +278 -83
  89. data/test/workos/test_user_management.rb +25 -1
  90. metadata +38 -32
  91. data/lib/workos/types/authorization_order.rb +0 -9
  92. data/lib/workos/types/connections_order.rb +0 -9
  93. data/lib/workos/types/directories_order.rb +0 -9
  94. data/lib/workos/types/directory_groups_order.rb +0 -9
  95. data/lib/workos/types/directory_users_order.rb +0 -9
  96. data/lib/workos/types/feature_flags_order.rb +0 -9
  97. data/lib/workos/types/organizations_api_keys_order.rb +0 -9
  98. data/lib/workos/types/organizations_feature_flags_order.rb +0 -9
  99. data/lib/workos/types/organizations_order.rb +0 -9
  100. data/lib/workos/types/permissions_order.rb +0 -9
  101. data/lib/workos/types/user_management_invitations_order.rb +0 -9
  102. data/lib/workos/types/user_management_multi_factor_authentication_order.rb +0 -9
  103. data/lib/workos/types/user_management_organization_membership_groups_order.rb +0 -9
  104. data/lib/workos/types/user_management_organization_membership_order.rb +0 -9
  105. data/lib/workos/types/user_management_users_authorized_applications_order.rb +0 -9
  106. data/lib/workos/types/user_management_users_feature_flags_order.rb +0 -9
  107. data/lib/workos/types/user_management_users_order.rb +0 -9
@@ -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 OrganizationApiKeyWithValue
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(WorkOS::OrganizationApiKeyWithValueOwner) }
25
+ def owner; end
26
+
27
+ sig { params(value: WorkOS::OrganizationApiKeyWithValueOwner).returns(WorkOS::OrganizationApiKeyWithValueOwner) }
28
+ def owner=(value); end
29
+
30
+ sig { returns(String) }
31
+ def name; end
32
+
33
+ sig { params(value: String).returns(String) }
34
+ def name=(value); end
35
+
36
+ sig { returns(String) }
37
+ def obfuscated_value; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def obfuscated_value=(value); end
41
+
42
+ sig { returns(T.nilable(String)) }
43
+ def last_used_at; end
44
+
45
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
46
+ def last_used_at=(value); end
47
+
48
+ sig { returns(T::Array[String]) }
49
+ def permissions; end
50
+
51
+ sig { params(value: T::Array[String]).returns(T::Array[String]) }
52
+ def permissions=(value); end
53
+
54
+ sig { returns(String) }
55
+ def created_at; end
56
+
57
+ sig { params(value: String).returns(String) }
58
+ def created_at=(value); end
59
+
60
+ sig { returns(String) }
61
+ def updated_at; end
62
+
63
+ sig { params(value: String).returns(String) }
64
+ def updated_at=(value); end
65
+
66
+ sig { returns(String) }
67
+ def value; end
68
+
69
+ sig { params(value: String).returns(String) }
70
+ def value=(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 OrganizationApiKeyWithValueOwner
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 id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def 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
@@ -75,6 +75,12 @@ module WorkOS
75
75
  sig { params(value: WorkOS::SlimRole).returns(WorkOS::SlimRole) }
76
76
  def role=(value); end
77
77
 
78
+ sig { returns(WorkOS::User) }
79
+ def user; end
80
+
81
+ sig { params(value: WorkOS::User).returns(WorkOS::User) }
82
+ def user=(value); end
83
+
78
84
  sig { returns(T::Hash[Symbol, T.untyped]) }
79
85
  def to_h; end
80
86
 
@@ -63,6 +63,12 @@ module WorkOS
63
63
  sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
64
64
  def last_name=(value); end
65
65
 
66
+ sig { returns(T.nilable(String)) }
67
+ def name; end
68
+
69
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
70
+ def name=(value); end
71
+
66
72
  sig { returns(T.nilable(WorkOS::SlimRole)) }
67
73
  def role; end
68
74
 
@@ -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 UserApiKey
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(WorkOS::UserApiKeyOwner) }
25
+ def owner; end
26
+
27
+ sig { params(value: WorkOS::UserApiKeyOwner).returns(WorkOS::UserApiKeyOwner) }
28
+ def owner=(value); end
29
+
30
+ sig { returns(String) }
31
+ def name; end
32
+
33
+ sig { params(value: String).returns(String) }
34
+ def name=(value); end
35
+
36
+ sig { returns(String) }
37
+ def obfuscated_value; end
38
+
39
+ sig { params(value: String).returns(String) }
40
+ def obfuscated_value=(value); end
41
+
42
+ sig { returns(T.nilable(String)) }
43
+ def last_used_at; end
44
+
45
+ sig { params(value: T.nilable(String)).returns(T.nilable(String)) }
46
+ def last_used_at=(value); end
47
+
48
+ sig { returns(T::Array[String]) }
49
+ def permissions; end
50
+
51
+ sig { params(value: T::Array[String]).returns(T::Array[String]) }
52
+ def permissions=(value); end
53
+
54
+ sig { returns(String) }
55
+ def created_at; end
56
+
57
+ sig { params(value: String).returns(String) }
58
+ def created_at=(value); end
59
+
60
+ sig { returns(String) }
61
+ def updated_at; end
62
+
63
+ sig { params(value: String).returns(String) }
64
+ def updated_at=(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,36 @@
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 UserApiKeyCreatedDataOwner
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 id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def organization_id; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def organization_id=(value); end
29
+
30
+ sig { returns(T::Hash[Symbol, T.untyped]) }
31
+ def to_h; end
32
+
33
+ sig { params(args: T.untyped).returns(String) }
34
+ def to_json(*args); end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
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 UserApiKeyOwner
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 id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def organization_id; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def organization_id=(value); end
29
+
30
+ sig { returns(T::Hash[Symbol, T.untyped]) }
31
+ def to_h; end
32
+
33
+ sig { params(args: T.untyped).returns(String) }
34
+ def to_json(*args); end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
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 UserApiKeyRevokedDataOwner
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 id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def organization_id; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def organization_id=(value); end
29
+
30
+ sig { returns(T::Hash[Symbol, T.untyped]) }
31
+ def to_h; end
32
+
33
+ sig { params(args: T.untyped).returns(String) }
34
+ def to_json(*args); end
35
+ end
36
+ end
@@ -5,7 +5,7 @@
5
5
  # typed: strong
6
6
 
7
7
  module WorkOS
8
- class ApiKeyWithValue
8
+ class UserApiKeyWithValue
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
@@ -21,10 +21,10 @@ module WorkOS
21
21
  sig { params(value: String).returns(String) }
22
22
  def id=(value); end
23
23
 
24
- sig { returns(WorkOS::ApiKeyWithValueOwner) }
24
+ sig { returns(WorkOS::UserApiKeyWithValueOwner) }
25
25
  def owner; end
26
26
 
27
- sig { params(value: WorkOS::ApiKeyWithValueOwner).returns(WorkOS::ApiKeyWithValueOwner) }
27
+ sig { params(value: WorkOS::UserApiKeyWithValueOwner).returns(WorkOS::UserApiKeyWithValueOwner) }
28
28
  def owner=(value); end
29
29
 
30
30
  sig { returns(String) }
@@ -0,0 +1,36 @@
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 UserApiKeyWithValueOwner
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 id; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def id=(value); end
23
+
24
+ sig { returns(String) }
25
+ def organization_id; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def organization_id=(value); end
29
+
30
+ sig { returns(T::Hash[Symbol, T.untyped]) }
31
+ def to_h; end
32
+
33
+ sig { params(args: T.untyped).returns(String) }
34
+ def to_json(*args); end
35
+ end
36
+ end
@@ -333,6 +333,13 @@ module WorkOS
333
333
  end
334
334
  def revoke_invitation(id:, request_options:); end
335
335
 
336
+ sig do
337
+ params(
338
+ request_options: T::Hash[Symbol, T.untyped]
339
+ ).returns(WorkOS::JWTTemplateResponse)
340
+ end
341
+ def list_jwt_template(request_options:); end
342
+
336
343
  sig do
337
344
  params(
338
345
  content: String,
@@ -452,5 +459,29 @@ module WorkOS
452
459
  end
453
460
  def delete_user_authorized_application(application_id:, user_id:, request_options:); end
454
461
 
462
+ sig do
463
+ params(
464
+ user_id: String,
465
+ before: T.nilable(String),
466
+ after: T.nilable(String),
467
+ limit: T.nilable(Integer),
468
+ order: T.nilable(String),
469
+ organization_id: T.nilable(String),
470
+ request_options: T::Hash[Symbol, T.untyped]
471
+ ).returns(WorkOS::Types::ListStruct)
472
+ end
473
+ def list_user_api_keys(user_id:, before:, after:, limit:, order:, organization_id:, request_options:); end
474
+
475
+ sig do
476
+ params(
477
+ user_id: String,
478
+ name: String,
479
+ organization_id: String,
480
+ permissions: T.nilable(T::Array[String]),
481
+ request_options: T::Hash[Symbol, T.untyped]
482
+ ).returns(WorkOS::UserApiKeyWithValue)
483
+ end
484
+ def create_user_api_key(user_id:, name:, organization_id:, permissions:, request_options:); end
485
+
455
486
  end
456
487
  end
@@ -75,6 +75,12 @@ module WorkOS
75
75
  sig { params(value: WorkOS::SlimRole).returns(WorkOS::SlimRole) }
76
76
  def role=(value); end
77
77
 
78
+ sig { returns(WorkOS::User) }
79
+ def user; end
80
+
81
+ sig { params(value: WorkOS::User).returns(WorkOS::User) }
82
+ def user=(value); end
83
+
78
84
  sig { returns(T::Hash[Symbol, T.untyped]) }
79
85
  def to_h; end
80
86
 
@@ -69,6 +69,12 @@ module WorkOS
69
69
  sig { params(value: String).returns(String) }
70
70
  def updated_at=(value); end
71
71
 
72
+ sig { returns(WorkOS::User) }
73
+ def user; end
74
+
75
+ sig { params(value: WorkOS::User).returns(WorkOS::User) }
76
+ def user=(value); end
77
+
72
78
  sig { returns(T::Hash[Symbol, T.untyped]) }
73
79
  def to_h; end
74
80
 
@@ -5,7 +5,7 @@
5
5
  # typed: strong
6
6
 
7
7
  module WorkOS
8
- class RoleAssignment
8
+ class UserRoleAssignment
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
@@ -21,16 +21,22 @@ module WorkOS
21
21
  sig { params(value: String).returns(String) }
22
22
  def id=(value); end
23
23
 
24
+ sig { returns(String) }
25
+ def organization_membership_id; end
26
+
27
+ sig { params(value: String).returns(String) }
28
+ def organization_membership_id=(value); end
29
+
24
30
  sig { returns(WorkOS::SlimRole) }
25
31
  def role; end
26
32
 
27
33
  sig { params(value: WorkOS::SlimRole).returns(WorkOS::SlimRole) }
28
34
  def role=(value); end
29
35
 
30
- sig { returns(WorkOS::RoleAssignmentResource) }
36
+ sig { returns(WorkOS::UserRoleAssignmentResource) }
31
37
  def resource; end
32
38
 
33
- sig { params(value: WorkOS::RoleAssignmentResource).returns(WorkOS::RoleAssignmentResource) }
39
+ sig { params(value: WorkOS::UserRoleAssignmentResource).returns(WorkOS::UserRoleAssignmentResource) }
34
40
  def resource=(value); end
35
41
 
36
42
  sig { returns(String) }
@@ -5,7 +5,7 @@
5
5
  # typed: strong
6
6
 
7
7
  module WorkOS
8
- class RoleAssignmentResource
8
+ class UserRoleAssignmentResource
9
9
  sig { params(json: T.any(String, T::Hash[Symbol, T.untyped])).void }
10
10
  def initialize(json); end
11
11
 
@@ -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 VaultByokKeyDeleted
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 event; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def event=(value); end
23
+
24
+ sig { returns(WorkOS::VaultByokKeyDeletedData) }
25
+ def data; end
26
+
27
+ sig { params(value: WorkOS::VaultByokKeyDeletedData).returns(WorkOS::VaultByokKeyDeletedData) }
28
+ def data=(value); end
29
+
30
+ sig { returns(String) }
31
+ def created_at; end
32
+
33
+ sig { params(value: String).returns(String) }
34
+ def created_at=(value); end
35
+
36
+ sig { returns(T.nilable(WorkOS::EventContext)) }
37
+ def context; end
38
+
39
+ sig { params(value: T.nilable(WorkOS::EventContext)).returns(T.nilable(WorkOS::EventContext)) }
40
+ def context=(value); end
41
+
42
+ sig { returns(String) }
43
+ def object; end
44
+
45
+ sig { params(value: String).returns(String) }
46
+ def object=(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,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 VaultByokKeyDeletedData
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_id; end
14
+
15
+ sig { params(value: String).returns(String) }
16
+ def organization_id=(value); end
17
+
18
+ sig { returns(String) }
19
+ def key_provider; end
20
+
21
+ sig { params(value: String).returns(String) }
22
+ def key_provider=(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/script/docs ADDED
@@ -0,0 +1,16 @@
1
+ #!/bin/sh
2
+ set -eu
3
+ cd "$(dirname "$0")/.."
4
+ bundle config set --local with 'docs'
5
+ bundle install
6
+ rm -rf docs/_site
7
+ # 1. Generate HTML docs (default YARD format).
8
+ bundle exec yard doc
9
+ # 2. Generate Markdown docs alongside the HTML, using the yard-markdown plugin.
10
+ # We point output at the same docs/_site directory so .md files land next to .html.
11
+ # --no-cache forces a re-parse so the markdown formatter sees fresh registry data.
12
+ # --plugin yard-markdown ensures the plugin is loaded without relying on ~/.yard/config.
13
+ bundle exec yard doc --plugin yard-markdown --format markdown --no-cache --output-dir docs/_site
14
+ # 3. Generate llms.txt (index) from the markdown output, so the published site
15
+ # is consumable by LLM tooling.
16
+ bundle exec ./script/llms-txt
data/script/docs-serve ADDED
@@ -0,0 +1,12 @@
1
+ #!/bin/sh
2
+ set -eu
3
+ cd "$(dirname "$0")/.."
4
+ bundle config set --local with 'docs'
5
+ bundle install --quiet
6
+ if [ "${1:-}" = "--static" ]; then
7
+ if [ ! -d docs/_site ]; then
8
+ ./script/docs
9
+ fi
10
+ exec bundle exec ruby -run -e httpd -- docs/_site -p 4000
11
+ fi
12
+ exec bundle exec yard server --reload --port 4000
data/script/llms-txt ADDED
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # Generates llms.txt (curated index) from the Markdown docs produced by
5
+ # `yard --format markdown` in docs/_site. See https://llmstxt.org for the format.
6
+
7
+ require "pathname"
8
+
9
+ ROOT = Pathname.new(__dir__).join("..").expand_path
10
+ SITE = ROOT.join("docs/_site")
11
+ require ROOT.join("lib/workos/version").to_s
12
+
13
+ abort "docs/_site is missing — run script/docs first" unless SITE.directory?
14
+
15
+ md_files = Pathname.glob(SITE.join("**/*.md")).sort_by { |p| p.relative_path_from(SITE).to_s }
16
+
17
+ title_for = lambda do |path|
18
+ first_heading = path.each_line.lazy.map(&:strip).find { |l| l.start_with?("# ") }
19
+ first_heading ? first_heading.sub(/^#\s+/, "").sub(/\s*<a id=.*?<\/a>\s*$/, "").strip : path.basename(".md").to_s
20
+ end
21
+
22
+ index_lines = []
23
+ index_lines << "# WorkOS Ruby SDK v#{WorkOS::VERSION}"
24
+ index_lines << ""
25
+ index_lines << "> API client for WorkOS. This file indexes the auto-generated YARD documentation for the `workos` gem so language models can locate per-class references."
26
+ index_lines << ""
27
+ index_lines << "## API Reference"
28
+ index_lines << ""
29
+ md_files.each do |path|
30
+ rel = path.relative_path_from(SITE).to_s
31
+ index_lines << "- [#{title_for.call(path)}](#{rel})"
32
+ end
33
+ index_lines << ""
34
+
35
+ SITE.join("llms.txt").write(index_lines.join("\n"))
36
+
37
+ puts "Wrote #{SITE.join("llms.txt")} (#{md_files.size} entries)"