openlayer 0.8.0 → 0.9.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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/openlayer/client.rb +4 -0
  5. data/lib/openlayer/integrations/google_conversational_search_tracer.rb +319 -25
  6. data/lib/openlayer/models/workspace_retrieve_params.rb +14 -0
  7. data/lib/openlayer/models/workspace_retrieve_response.rb +169 -0
  8. data/lib/openlayer/models/workspace_update_params.rb +38 -0
  9. data/lib/openlayer/models/workspace_update_response.rb +169 -0
  10. data/lib/openlayer/models/workspaces/api_key_create_params.rb +24 -0
  11. data/lib/openlayer/models/workspaces/api_key_create_response.rb +61 -0
  12. data/lib/openlayer/models/workspaces/invite_create_params.rb +43 -0
  13. data/lib/openlayer/models/workspaces/invite_create_response.rb +172 -0
  14. data/lib/openlayer/models/workspaces/invite_list_params.rb +32 -0
  15. data/lib/openlayer/models/workspaces/invite_list_response.rb +214 -0
  16. data/lib/openlayer/models.rb +6 -0
  17. data/lib/openlayer/resources/workspaces/api_keys.rb +40 -0
  18. data/lib/openlayer/resources/workspaces/invites.rb +68 -0
  19. data/lib/openlayer/resources/workspaces.rb +70 -0
  20. data/lib/openlayer/version.rb +1 -1
  21. data/lib/openlayer.rb +13 -0
  22. data/rbi/openlayer/client.rbi +3 -0
  23. data/rbi/openlayer/models/workspace_retrieve_params.rbi +30 -0
  24. data/rbi/openlayer/models/workspace_retrieve_response.rbi +293 -0
  25. data/rbi/openlayer/models/workspace_update_params.rbi +68 -0
  26. data/rbi/openlayer/models/workspace_update_response.rbi +292 -0
  27. data/rbi/openlayer/models/workspaces/api_key_create_params.rbi +48 -0
  28. data/rbi/openlayer/models/workspaces/api_key_create_response.rbi +82 -0
  29. data/rbi/openlayer/models/workspaces/invite_create_params.rbi +105 -0
  30. data/rbi/openlayer/models/workspaces/invite_create_response.rbi +347 -0
  31. data/rbi/openlayer/models/workspaces/invite_list_params.rbi +62 -0
  32. data/rbi/openlayer/models/workspaces/invite_list_response.rbi +420 -0
  33. data/rbi/openlayer/models.rbi +6 -0
  34. data/rbi/openlayer/resources/workspaces/api_keys.rbi +31 -0
  35. data/rbi/openlayer/resources/workspaces/invites.rbi +53 -0
  36. data/rbi/openlayer/resources/workspaces.rbi +55 -0
  37. data/sig/openlayer/client.rbs +2 -0
  38. data/sig/openlayer/models/workspace_retrieve_params.rbs +15 -0
  39. data/sig/openlayer/models/workspace_retrieve_response.rbs +156 -0
  40. data/sig/openlayer/models/workspace_update_params.rbs +38 -0
  41. data/sig/openlayer/models/workspace_update_response.rbs +156 -0
  42. data/sig/openlayer/models/workspaces/api_key_create_params.rbs +25 -0
  43. data/sig/openlayer/models/workspaces/api_key_create_response.rbs +47 -0
  44. data/sig/openlayer/models/workspaces/invite_create_params.rbs +51 -0
  45. data/sig/openlayer/models/workspaces/invite_create_response.rbs +149 -0
  46. data/sig/openlayer/models/workspaces/invite_list_params.rbs +34 -0
  47. data/sig/openlayer/models/workspaces/invite_list_response.rbs +186 -0
  48. data/sig/openlayer/models.rbs +6 -0
  49. data/sig/openlayer/resources/workspaces/api_keys.rbs +15 -0
  50. data/sig/openlayer/resources/workspaces/invites.rbs +23 -0
  51. data/sig/openlayer/resources/workspaces.rbs +24 -0
  52. metadata +41 -2
@@ -0,0 +1,214 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Models
5
+ module Workspaces
6
+ # @see Openlayer::Resources::Workspaces::Invites#list
7
+ class InviteListResponse < Openlayer::Internal::Type::BaseModel
8
+ # @!attribute _meta
9
+ #
10
+ # @return [Openlayer::Models::Workspaces::InviteListResponse::Meta]
11
+ required :_meta, -> { Openlayer::Models::Workspaces::InviteListResponse::Meta }
12
+
13
+ # @!attribute items
14
+ #
15
+ # @return [Array<Openlayer::Models::Workspaces::InviteListResponse::Item>]
16
+ required :items,
17
+ -> { Openlayer::Internal::Type::ArrayOf[Openlayer::Models::Workspaces::InviteListResponse::Item] }
18
+
19
+ # @!method initialize(_meta:, items:)
20
+ # @param _meta [Openlayer::Models::Workspaces::InviteListResponse::Meta]
21
+ # @param items [Array<Openlayer::Models::Workspaces::InviteListResponse::Item>]
22
+
23
+ # @see Openlayer::Models::Workspaces::InviteListResponse#_meta
24
+ class Meta < Openlayer::Internal::Type::BaseModel
25
+ # @!attribute page
26
+ # The current page.
27
+ #
28
+ # @return [Integer]
29
+ required :page, Integer
30
+
31
+ # @!attribute per_page
32
+ # The number of items per page.
33
+ #
34
+ # @return [Integer]
35
+ required :per_page, Integer, api_name: :perPage
36
+
37
+ # @!attribute total_items
38
+ # The total number of items.
39
+ #
40
+ # @return [Integer]
41
+ required :total_items, Integer, api_name: :totalItems
42
+
43
+ # @!attribute total_pages
44
+ # The total number of pages.
45
+ #
46
+ # @return [Integer]
47
+ required :total_pages, Integer, api_name: :totalPages
48
+
49
+ # @!method initialize(page:, per_page:, total_items:, total_pages:)
50
+ # @param page [Integer] The current page.
51
+ #
52
+ # @param per_page [Integer] The number of items per page.
53
+ #
54
+ # @param total_items [Integer] The total number of items.
55
+ #
56
+ # @param total_pages [Integer] The total number of pages.
57
+ end
58
+
59
+ class Item < Openlayer::Internal::Type::BaseModel
60
+ # @!attribute creator
61
+ #
62
+ # @return [Openlayer::Models::Workspaces::InviteListResponse::Item::Creator]
63
+ required :creator, -> { Openlayer::Models::Workspaces::InviteListResponse::Item::Creator }
64
+
65
+ # @!attribute email
66
+ # The invite email.
67
+ #
68
+ # @return [String]
69
+ required :email, String
70
+
71
+ # @!attribute role
72
+ # The invite role.
73
+ #
74
+ # @return [Symbol, Openlayer::Models::Workspaces::InviteListResponse::Item::Role]
75
+ required :role, enum: -> { Openlayer::Models::Workspaces::InviteListResponse::Item::Role }
76
+
77
+ # @!attribute status
78
+ # The invite status.
79
+ #
80
+ # @return [Symbol, Openlayer::Models::Workspaces::InviteListResponse::Item::Status]
81
+ required :status, enum: -> { Openlayer::Models::Workspaces::InviteListResponse::Item::Status }
82
+
83
+ response_only do
84
+ # @!attribute id
85
+ # The invite id.
86
+ #
87
+ # @return [String]
88
+ required :id, String
89
+
90
+ # @!attribute date_created
91
+ # The invite creation date.
92
+ #
93
+ # @return [Time]
94
+ required :date_created, Time, api_name: :dateCreated
95
+
96
+ # @!attribute workspace
97
+ #
98
+ # @return [Openlayer::Models::Workspaces::InviteListResponse::Item::Workspace]
99
+ required :workspace, -> { Openlayer::Models::Workspaces::InviteListResponse::Item::Workspace }
100
+ end
101
+
102
+ # @!method initialize(id:, creator:, date_created:, email:, role:, status:, workspace:)
103
+ # @param id [String] The invite id.
104
+ #
105
+ # @param creator [Openlayer::Models::Workspaces::InviteListResponse::Item::Creator]
106
+ #
107
+ # @param date_created [Time] The invite creation date.
108
+ #
109
+ # @param email [String] The invite email.
110
+ #
111
+ # @param role [Symbol, Openlayer::Models::Workspaces::InviteListResponse::Item::Role] The invite role.
112
+ #
113
+ # @param status [Symbol, Openlayer::Models::Workspaces::InviteListResponse::Item::Status] The invite status.
114
+ #
115
+ # @param workspace [Openlayer::Models::Workspaces::InviteListResponse::Item::Workspace]
116
+
117
+ # @see Openlayer::Models::Workspaces::InviteListResponse::Item#creator
118
+ class Creator < Openlayer::Internal::Type::BaseModel
119
+ # @!attribute name
120
+ # The invite creator name.
121
+ #
122
+ # @return [String, nil]
123
+ optional :name, String, nil?: true
124
+
125
+ # @!attribute username
126
+ # The invite creator username.
127
+ #
128
+ # @return [String, nil]
129
+ optional :username, String, nil?: true
130
+
131
+ response_only do
132
+ # @!attribute id
133
+ # The invite creator id.
134
+ #
135
+ # @return [String, nil]
136
+ optional :id, String
137
+ end
138
+
139
+ # @!method initialize(id: nil, name: nil, username: nil)
140
+ # @param id [String] The invite creator id.
141
+ #
142
+ # @param name [String, nil] The invite creator name.
143
+ #
144
+ # @param username [String, nil] The invite creator username.
145
+ end
146
+
147
+ # The invite role.
148
+ #
149
+ # @see Openlayer::Models::Workspaces::InviteListResponse::Item#role
150
+ module Role
151
+ extend Openlayer::Internal::Type::Enum
152
+
153
+ ADMIN = :ADMIN
154
+ MEMBER = :MEMBER
155
+ VIEWER = :VIEWER
156
+
157
+ # @!method self.values
158
+ # @return [Array<Symbol>]
159
+ end
160
+
161
+ # The invite status.
162
+ #
163
+ # @see Openlayer::Models::Workspaces::InviteListResponse::Item#status
164
+ module Status
165
+ extend Openlayer::Internal::Type::Enum
166
+
167
+ ACCEPTED = :accepted
168
+ PENDING = :pending
169
+
170
+ # @!method self.values
171
+ # @return [Array<Symbol>]
172
+ end
173
+
174
+ # @see Openlayer::Models::Workspaces::InviteListResponse::Item#workspace
175
+ class Workspace < Openlayer::Internal::Type::BaseModel
176
+ # @!attribute name
177
+ #
178
+ # @return [String]
179
+ required :name, String
180
+
181
+ # @!attribute slug
182
+ #
183
+ # @return [String]
184
+ required :slug, String
185
+
186
+ response_only do
187
+ # @!attribute id
188
+ #
189
+ # @return [String]
190
+ required :id, String
191
+
192
+ # @!attribute date_created
193
+ #
194
+ # @return [Time]
195
+ required :date_created, Time, api_name: :dateCreated
196
+
197
+ # @!attribute member_count
198
+ #
199
+ # @return [Integer]
200
+ required :member_count, Integer, api_name: :memberCount
201
+ end
202
+
203
+ # @!method initialize(id:, date_created:, member_count:, name:, slug:)
204
+ # @param id [String]
205
+ # @param date_created [Time]
206
+ # @param member_count [Integer]
207
+ # @param name [String]
208
+ # @param slug [String]
209
+ end
210
+ end
211
+ end
212
+ end
213
+ end
214
+ end
@@ -60,4 +60,10 @@ module Openlayer
60
60
  Storage = Openlayer::Models::Storage
61
61
 
62
62
  TestEvaluateParams = Openlayer::Models::TestEvaluateParams
63
+
64
+ WorkspaceRetrieveParams = Openlayer::Models::WorkspaceRetrieveParams
65
+
66
+ Workspaces = Openlayer::Models::Workspaces
67
+
68
+ WorkspaceUpdateParams = Openlayer::Models::WorkspaceUpdateParams
63
69
  end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Workspaces
6
+ class APIKeys
7
+ # Create a new API key in a workspace.
8
+ #
9
+ # @overload create(workspace_id, name: nil, request_options: {})
10
+ #
11
+ # @param workspace_id [String] The workspace id.
12
+ #
13
+ # @param name [String, nil] The API key name.
14
+ #
15
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [Openlayer::Models::Workspaces::APIKeyCreateResponse]
18
+ #
19
+ # @see Openlayer::Models::Workspaces::APIKeyCreateParams
20
+ def create(workspace_id, params = {})
21
+ parsed, options = Openlayer::Workspaces::APIKeyCreateParams.dump_request(params)
22
+ @client.request(
23
+ method: :post,
24
+ path: ["workspaces/%1$s/api-keys", workspace_id],
25
+ body: parsed,
26
+ model: Openlayer::Models::Workspaces::APIKeyCreateResponse,
27
+ options: options
28
+ )
29
+ end
30
+
31
+ # @api private
32
+ #
33
+ # @param client [Openlayer::Client]
34
+ def initialize(client:)
35
+ @client = client
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Workspaces
6
+ class Invites
7
+ # Invite users to a workspace.
8
+ #
9
+ # @overload create(workspace_id, emails: nil, role: nil, request_options: {})
10
+ #
11
+ # @param workspace_id [String] The workspace id.
12
+ #
13
+ # @param emails [Array<String>]
14
+ #
15
+ # @param role [Symbol, Openlayer::Models::Workspaces::InviteCreateParams::Role] The member role.
16
+ #
17
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
18
+ #
19
+ # @return [Openlayer::Models::Workspaces::InviteCreateResponse]
20
+ #
21
+ # @see Openlayer::Models::Workspaces::InviteCreateParams
22
+ def create(workspace_id, params = {})
23
+ parsed, options = Openlayer::Workspaces::InviteCreateParams.dump_request(params)
24
+ @client.request(
25
+ method: :post,
26
+ path: ["workspaces/%1$s/invites", workspace_id],
27
+ body: parsed,
28
+ model: Openlayer::Models::Workspaces::InviteCreateResponse,
29
+ options: options
30
+ )
31
+ end
32
+
33
+ # Retrieve a list of invites in a workspace.
34
+ #
35
+ # @overload list(workspace_id, page: nil, per_page: nil, request_options: {})
36
+ #
37
+ # @param workspace_id [String] The workspace id.
38
+ #
39
+ # @param page [Integer] The page to return in a paginated query.
40
+ #
41
+ # @param per_page [Integer] Maximum number of items to return per page.
42
+ #
43
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
44
+ #
45
+ # @return [Openlayer::Models::Workspaces::InviteListResponse]
46
+ #
47
+ # @see Openlayer::Models::Workspaces::InviteListParams
48
+ def list(workspace_id, params = {})
49
+ parsed, options = Openlayer::Workspaces::InviteListParams.dump_request(params)
50
+ @client.request(
51
+ method: :get,
52
+ path: ["workspaces/%1$s/invites", workspace_id],
53
+ query: parsed.transform_keys(per_page: "perPage"),
54
+ model: Openlayer::Models::Workspaces::InviteListResponse,
55
+ options: options
56
+ )
57
+ end
58
+
59
+ # @api private
60
+ #
61
+ # @param client [Openlayer::Client]
62
+ def initialize(client:)
63
+ @client = client
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openlayer
4
+ module Resources
5
+ class Workspaces
6
+ # @return [Openlayer::Resources::Workspaces::Invites]
7
+ attr_reader :invites
8
+
9
+ # @return [Openlayer::Resources::Workspaces::APIKeys]
10
+ attr_reader :api_keys
11
+
12
+ # Retrieve a workspace by its ID.
13
+ #
14
+ # @overload retrieve(workspace_id, request_options: {})
15
+ #
16
+ # @param workspace_id [String] The workspace id.
17
+ #
18
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
19
+ #
20
+ # @return [Openlayer::Models::WorkspaceRetrieveResponse]
21
+ #
22
+ # @see Openlayer::Models::WorkspaceRetrieveParams
23
+ def retrieve(workspace_id, params = {})
24
+ @client.request(
25
+ method: :get,
26
+ path: ["workspaces/%1$s", workspace_id],
27
+ model: Openlayer::Models::WorkspaceRetrieveResponse,
28
+ options: params[:request_options]
29
+ )
30
+ end
31
+
32
+ # Update a workspace.
33
+ #
34
+ # @overload update(workspace_id, invite_code: nil, name: nil, slug: nil, request_options: {})
35
+ #
36
+ # @param workspace_id [String] The workspace id.
37
+ #
38
+ # @param invite_code [String] The workspace invite code.
39
+ #
40
+ # @param name [String] The workspace name.
41
+ #
42
+ # @param slug [String] The workspace slug.
43
+ #
44
+ # @param request_options [Openlayer::RequestOptions, Hash{Symbol=>Object}, nil]
45
+ #
46
+ # @return [Openlayer::Models::WorkspaceUpdateResponse]
47
+ #
48
+ # @see Openlayer::Models::WorkspaceUpdateParams
49
+ def update(workspace_id, params = {})
50
+ parsed, options = Openlayer::WorkspaceUpdateParams.dump_request(params)
51
+ @client.request(
52
+ method: :put,
53
+ path: ["workspaces/%1$s", workspace_id],
54
+ body: parsed,
55
+ model: Openlayer::Models::WorkspaceUpdateResponse,
56
+ options: options
57
+ )
58
+ end
59
+
60
+ # @api private
61
+ #
62
+ # @param client [Openlayer::Client]
63
+ def initialize(client:)
64
+ @client = client
65
+ @invites = Openlayer::Resources::Workspaces::Invites.new(client: client)
66
+ @api_keys = Openlayer::Resources::Workspaces::APIKeys.new(client: client)
67
+ end
68
+ end
69
+ end
70
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Openlayer
4
- VERSION = "0.8.0"
4
+ VERSION = "0.9.0"
5
5
  end
data/lib/openlayer.rb CHANGED
@@ -89,6 +89,16 @@ require_relative "openlayer/models/storage/presigned_url_create_params"
89
89
  require_relative "openlayer/models/storage/presigned_url_create_response"
90
90
  require_relative "openlayer/models/test_evaluate_params"
91
91
  require_relative "openlayer/models/test_evaluate_response"
92
+ require_relative "openlayer/models/workspace_retrieve_params"
93
+ require_relative "openlayer/models/workspace_retrieve_response"
94
+ require_relative "openlayer/models/workspaces/api_key_create_params"
95
+ require_relative "openlayer/models/workspaces/api_key_create_response"
96
+ require_relative "openlayer/models/workspaces/invite_create_params"
97
+ require_relative "openlayer/models/workspaces/invite_create_response"
98
+ require_relative "openlayer/models/workspaces/invite_list_params"
99
+ require_relative "openlayer/models/workspaces/invite_list_response"
100
+ require_relative "openlayer/models/workspace_update_params"
101
+ require_relative "openlayer/models/workspace_update_response"
92
102
  require_relative "openlayer/models"
93
103
  require_relative "openlayer/resources/commits"
94
104
  require_relative "openlayer/resources/commits/test_results"
@@ -103,3 +113,6 @@ require_relative "openlayer/resources/projects/tests"
103
113
  require_relative "openlayer/resources/storage"
104
114
  require_relative "openlayer/resources/storage/presigned_url"
105
115
  require_relative "openlayer/resources/tests"
116
+ require_relative "openlayer/resources/workspaces"
117
+ require_relative "openlayer/resources/workspaces/api_keys"
118
+ require_relative "openlayer/resources/workspaces/invites"
@@ -16,6 +16,9 @@ module Openlayer
16
16
  sig { returns(Openlayer::Resources::Projects) }
17
17
  attr_reader :projects
18
18
 
19
+ sig { returns(Openlayer::Resources::Workspaces) }
20
+ attr_reader :workspaces
21
+
19
22
  sig { returns(Openlayer::Resources::Commits) }
20
23
  attr_reader :commits
21
24
 
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module Openlayer
4
+ module Models
5
+ class WorkspaceRetrieveParams < Openlayer::Internal::Type::BaseModel
6
+ extend Openlayer::Internal::Type::RequestParameters::Converter
7
+ include Openlayer::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Openlayer::WorkspaceRetrieveParams,
13
+ Openlayer::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: Openlayer::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig { override.returns({ request_options: Openlayer::RequestOptions }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end