statelydb 0.22.0 → 0.23.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.
@@ -0,0 +1,184 @@
1
+ # Code generated by protoc-gen-rbi. DO NOT EDIT.
2
+ # source: db/service.proto
3
+ # typed: strict
4
+
5
+ module Stately::Db::DatabaseService
6
+ class Service
7
+ include ::GRPC::GenericService
8
+ end
9
+
10
+ class Stub < ::GRPC::ClientStub
11
+ sig do
12
+ params(
13
+ host: String,
14
+ creds: T.any(::GRPC::Core::ChannelCredentials, Symbol),
15
+ kw: T.untyped,
16
+ ).void
17
+ end
18
+ def initialize(host, creds, **kw)
19
+ end
20
+
21
+ # Put adds one or more Items to the Store, or replaces the Items if they
22
+ # already exist. This will fail if the caller does not have permission to
23
+ # create or update Items, if there is no schema registered for the provided
24
+ # item type, or if an item is invalid. All puts are applied atomically;
25
+ # either all will fail or all will succeed. If an item's schema specifies an
26
+ # `initialValue` for one or more properties used in its key paths, and the
27
+ # item is new, you should not provide those values - the database will choose
28
+ # them for you, and Data must be provided as either serialized binary
29
+ # protobuf or JSON.
30
+ sig do
31
+ params(
32
+ request: Stately::Db::PutRequest
33
+ ).returns(Stately::Db::PutResponse)
34
+ end
35
+ def put(request)
36
+ end
37
+
38
+ # Get retrieves one or more Items by their key paths. This will return any of
39
+ # the Items that exist. It will fail if the caller does not have permission
40
+ # to read Items. Use the List APIs if you want to retrieve multiple items but
41
+ # don't already know the full key paths of the items you want to get.
42
+ sig do
43
+ params(
44
+ request: Stately::Db::GetRequest
45
+ ).returns(Stately::Db::GetResponse)
46
+ end
47
+ def get(request)
48
+ end
49
+
50
+ # Delete removes one or more Items from the Store by their key paths. This
51
+ # will fail if the caller does not have permission to delete Items.
52
+ # Tombstones will be saved for deleted items for some time, so
53
+ # that SyncList can return information about deleted items. Deletes are
54
+ # always applied atomically; all will fail or all will succeed.
55
+ sig do
56
+ params(
57
+ request: Stately::Db::DeleteRequest
58
+ ).returns(Stately::Db::DeleteResponse)
59
+ end
60
+ def delete(request)
61
+ end
62
+
63
+ # BeginList retrieves Items that start with a specified key path prefix. The
64
+ # key path prefix must minimally contain a Group Key (a single key segment
65
+ # with a namespace and an ID). BeginList will return an empty result set if
66
+ # there are no items matching that key prefix. This API returns a token that
67
+ # you can pass to ContinueList to expand the result set, or to SyncList to
68
+ # get updates within the result set. This can fail if the caller does not
69
+ # have permission to read Items.
70
+ # buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
71
+ sig do
72
+ params(
73
+ request: Stately::Db::BeginListRequest
74
+ ).returns(T::Enumerable[Stately::Db::ListResponse])
75
+ end
76
+ def begin_list(request)
77
+ end
78
+
79
+ # ContinueList takes the token from a BeginList call and returns more results
80
+ # based on the original query parameters and pagination options. It has very
81
+ # few options of its own because it is a continuation of a previous list
82
+ # operation. It will return a new token which can be used for another
83
+ # ContinueList call, and so on. The token is the same one used by SyncList -
84
+ # each time you call either ContinueList or SyncList, you should pass the
85
+ # latest version of the token, and then use the new token from the result in
86
+ # subsequent calls. You may interleave ContinueList and SyncList calls
87
+ # however you like, but it does not make sense to make both calls in
88
+ # parallel. Calls to ContinueList are tied to the authorization of the
89
+ # original BeginList call, so if the original BeginList call was allowed,
90
+ # ContinueList with its token should also be allowed.
91
+ # buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
92
+ sig do
93
+ params(
94
+ request: Stately::Db::ContinueListRequest
95
+ ).returns(T::Enumerable[Stately::Db::ListResponse])
96
+ end
97
+ def continue_list(request)
98
+ end
99
+
100
+ # BeginScan initiates a scan request which will scan over the entire store
101
+ # and apply the provided filters. This API returns a token that you can pass
102
+ # to ContinueScan to paginate through the result set. This can fail if the
103
+ # caller does not have permission to read Items.
104
+ # WARNING: THIS API CAN BE EXTREMELY EXPENSIVE FOR STORES WITH A LARGE NUMBER
105
+ # OF ITEMS.
106
+ # buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
107
+ sig do
108
+ params(
109
+ request: Stately::Db::BeginScanRequest
110
+ ).returns(T::Enumerable[Stately::Db::ListResponse])
111
+ end
112
+ def begin_scan(request)
113
+ end
114
+
115
+ # ContinueScan takes the token from a BeginScan call and returns more results
116
+ # based on the original request parameters and pagination options. It has
117
+ # very few options of its own because it is a continuation of a previous list
118
+ # operation. It will return a new token which can be used for another
119
+ # ContinueScan call, and so on. Calls to ContinueScan are tied to the
120
+ # authorization of the original BeginScan call, so if the original BeginScan
121
+ # call was allowed, ContinueScan with its token should also be allowed.
122
+ # WARNING: THIS API CAN BE EXTREMELY EXPENSIVE FOR STORES WITH A LARGE NUMBER OF ITEMS.
123
+ # buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
124
+ sig do
125
+ params(
126
+ request: Stately::Db::ContinueScanRequest
127
+ ).returns(T::Enumerable[Stately::Db::ListResponse])
128
+ end
129
+ def continue_scan(request)
130
+ end
131
+
132
+ # SyncList returns all changes to Items within the result set of a previous
133
+ # List operation. For all Items within the result set that were modified, it
134
+ # returns the full Item at in its current state. It also returns a list of
135
+ # Item key paths that were deleted since the last SyncList, which you should
136
+ # reconcile with your view of items returned from previous
137
+ # BeginList/ContinueList calls. Using this API, you can start with an initial
138
+ # set of items from BeginList, and then stay up to date on any changes via
139
+ # repeated SyncList requests over time. The token is the same one used by
140
+ # ContinueList - each time you call either ContinueList or SyncList, you
141
+ # should pass the latest version of the token, and then use the new token
142
+ # from the result in subsequent calls. Note that if the result set has
143
+ # already been expanded to the end (in the direction of the original
144
+ # BeginList request), SyncList will return newly created Items. You may
145
+ # interleave ContinueList and SyncList calls however you like, but it does
146
+ # not make sense to make both calls in parallel. Calls to SyncList are tied
147
+ # to the authorization of the original BeginList call, so if the original
148
+ # BeginList call was allowed, SyncList with its token should also be allowed.
149
+ sig do
150
+ params(
151
+ request: Stately::Db::SyncListRequest
152
+ ).returns(T::Enumerable[Stately::Db::SyncListResponse])
153
+ end
154
+ def sync_list(request)
155
+ end
156
+
157
+ # Transaction performs a transaction, within which you can issue writes
158
+ # (Put/Delete) and reads (Get/List) in any order, followed by a commit
159
+ # message. Reads are guaranteed to reflect the state as of when the
160
+ # transaction started, and writes are committed atomically. This method may
161
+ # fail if another transaction commits before this one finishes - in that
162
+ # case, you should retry your transaction.
163
+ sig do
164
+ params(
165
+ request: T::Enumerable[Stately::Db::TransactionRequest]
166
+ ).returns(T::Enumerable[Stately::Db::TransactionResponse])
167
+ end
168
+ def transaction(request)
169
+ end
170
+
171
+ # ScanRootPaths lists root paths (Groups) in the Store. This is a very
172
+ # expensive operation, as it must consult multiple partitions and it reads
173
+ # and ignores a lot of data. It is provided for use in the web console's data
174
+ # browser and is not exposed to customers. This operation will fail if the
175
+ # caller does not have permission to read Items.
176
+ sig do
177
+ params(
178
+ request: Stately::Db::ScanRootPathsRequest
179
+ ).returns(Stately::Db::ScanRootPathsResponse)
180
+ end
181
+ def scan_root_paths(request)
182
+ end
183
+ end
184
+ end
@@ -0,0 +1,452 @@
1
+ # Code generated by protoc-gen-rbi. DO NOT EDIT.
2
+ # source: db/sync_list.proto
3
+ # typed: strict
4
+
5
+ class Stately::Db::SyncListRequest
6
+ include ::Google::Protobuf::MessageExts
7
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8
+
9
+ sig do
10
+ params(
11
+ token_data: T.nilable(String),
12
+ schema_version_id: T.nilable(Integer),
13
+ schema_id: T.nilable(Integer)
14
+ ).void
15
+ end
16
+ def initialize(
17
+ token_data: "",
18
+ schema_version_id: 0,
19
+ schema_id: 0
20
+ )
21
+ end
22
+
23
+ # token_data is an opaque list continuation token returned by a previous call to
24
+ # List, ContinueList, or SyncList.
25
+ sig { returns(String) }
26
+ def token_data
27
+ end
28
+
29
+ # token_data is an opaque list continuation token returned by a previous call to
30
+ # List, ContinueList, or SyncList.
31
+ sig { params(value: String).void }
32
+ def token_data=(value)
33
+ end
34
+
35
+ # token_data is an opaque list continuation token returned by a previous call to
36
+ # List, ContinueList, or SyncList.
37
+ sig { void }
38
+ def clear_token_data
39
+ end
40
+
41
+ # schema_version_id is the schema version id the client is using. This is
42
+ # used to ensure a consistent schema version is used for all items in the result set.
43
+ # If the version the token was created with is different from the client's
44
+ # current version, the response will contain a SyncListReset response followed by
45
+ # items in the client's current schema version. The returned list token can then
46
+ # be used for further SyncList and ContinueList calls with the current schema
47
+ # version, without having to start a new BeginList call.
48
+ sig { returns(Integer) }
49
+ def schema_version_id
50
+ end
51
+
52
+ # schema_version_id is the schema version id the client is using. This is
53
+ # used to ensure a consistent schema version is used for all items in the result set.
54
+ # If the version the token was created with is different from the client's
55
+ # current version, the response will contain a SyncListReset response followed by
56
+ # items in the client's current schema version. The returned list token can then
57
+ # be used for further SyncList and ContinueList calls with the current schema
58
+ # version, without having to start a new BeginList call.
59
+ sig { params(value: Integer).void }
60
+ def schema_version_id=(value)
61
+ end
62
+
63
+ # schema_version_id is the schema version id the client is using. This is
64
+ # used to ensure a consistent schema version is used for all items in the result set.
65
+ # If the version the token was created with is different from the client's
66
+ # current version, the response will contain a SyncListReset response followed by
67
+ # items in the client's current schema version. The returned list token can then
68
+ # be used for further SyncList and ContinueList calls with the current schema
69
+ # version, without having to start a new BeginList call.
70
+ sig { void }
71
+ def clear_schema_version_id
72
+ end
73
+
74
+ # schema_id refers to the schema to use for this operation.
75
+ # If the store_id does not have a schema with this ID, the operation will
76
+ # error with SchemaNotFound error. You should not have to set this manually
77
+ # as your generated SDK should know its schema and wire this in for you.
78
+ sig { returns(Integer) }
79
+ def schema_id
80
+ end
81
+
82
+ # schema_id refers to the schema to use for this operation.
83
+ # If the store_id does not have a schema with this ID, the operation will
84
+ # error with SchemaNotFound error. You should not have to set this manually
85
+ # as your generated SDK should know its schema and wire this in for you.
86
+ sig { params(value: Integer).void }
87
+ def schema_id=(value)
88
+ end
89
+
90
+ # schema_id refers to the schema to use for this operation.
91
+ # If the store_id does not have a schema with this ID, the operation will
92
+ # error with SchemaNotFound error. You should not have to set this manually
93
+ # as your generated SDK should know its schema and wire this in for you.
94
+ sig { void }
95
+ def clear_schema_id
96
+ end
97
+
98
+ sig { params(field: String).returns(T.untyped) }
99
+ def [](field)
100
+ end
101
+
102
+ sig { params(field: String, value: T.untyped).void }
103
+ def []=(field, value)
104
+ end
105
+
106
+ sig { returns(T::Hash[Symbol, T.untyped]) }
107
+ def to_h
108
+ end
109
+
110
+ sig { params(str: String).returns(Stately::Db::SyncListRequest) }
111
+ def self.decode(str)
112
+ end
113
+
114
+ sig { params(msg: Stately::Db::SyncListRequest).returns(String) }
115
+ def self.encode(msg)
116
+ end
117
+
118
+ sig { params(str: String, kw: T.untyped).returns(Stately::Db::SyncListRequest) }
119
+ def self.decode_json(str, **kw)
120
+ end
121
+
122
+ sig { params(msg: Stately::Db::SyncListRequest, kw: T.untyped).returns(String) }
123
+ def self.encode_json(msg, **kw)
124
+ end
125
+
126
+ sig { returns(::Google::Protobuf::Descriptor) }
127
+ def self.descriptor
128
+ end
129
+ end
130
+
131
+ # These are stream messages, so multiple responses may be sent.
132
+ class Stately::Db::SyncListResponse
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+
136
+ sig do
137
+ params(
138
+ reset: T.nilable(Stately::Db::SyncListReset),
139
+ result: T.nilable(Stately::Db::SyncListPartialResponse),
140
+ finished: T.nilable(Stately::Db::ListFinished)
141
+ ).void
142
+ end
143
+ def initialize(
144
+ reset: nil,
145
+ result: nil,
146
+ finished: nil
147
+ )
148
+ end
149
+
150
+ # SyncListReset is returned if the provided token is too far behind to be able to
151
+ # report deleted items, or if the client is using a different schema version than
152
+ # it started the list with. The following results will start over with a fresh
153
+ # result set. Clients should discard any cached data from this result set and start
154
+ # re-populating it from the rest of the sync response.
155
+ sig { returns(T.nilable(Stately::Db::SyncListReset)) }
156
+ def reset
157
+ end
158
+
159
+ # SyncListReset is returned if the provided token is too far behind to be able to
160
+ # report deleted items, or if the client is using a different schema version than
161
+ # it started the list with. The following results will start over with a fresh
162
+ # result set. Clients should discard any cached data from this result set and start
163
+ # re-populating it from the rest of the sync response.
164
+ sig { params(value: T.nilable(Stately::Db::SyncListReset)).void }
165
+ def reset=(value)
166
+ end
167
+
168
+ # SyncListReset is returned if the provided token is too far behind to be able to
169
+ # report deleted items, or if the client is using a different schema version than
170
+ # it started the list with. The following results will start over with a fresh
171
+ # result set. Clients should discard any cached data from this result set and start
172
+ # re-populating it from the rest of the sync response.
173
+ sig { void }
174
+ def clear_reset
175
+ end
176
+
177
+ # Result is a segment of sync results - multiple of these may be returned.
178
+ sig { returns(T.nilable(Stately::Db::SyncListPartialResponse)) }
179
+ def result
180
+ end
181
+
182
+ # Result is a segment of sync results - multiple of these may be returned.
183
+ sig { params(value: T.nilable(Stately::Db::SyncListPartialResponse)).void }
184
+ def result=(value)
185
+ end
186
+
187
+ # Result is a segment of sync results - multiple of these may be returned.
188
+ sig { void }
189
+ def clear_result
190
+ end
191
+
192
+ # Finished is sent when the sync is complete, and there will only be one.
193
+ sig { returns(T.nilable(Stately::Db::ListFinished)) }
194
+ def finished
195
+ end
196
+
197
+ # Finished is sent when the sync is complete, and there will only be one.
198
+ sig { params(value: T.nilable(Stately::Db::ListFinished)).void }
199
+ def finished=(value)
200
+ end
201
+
202
+ # Finished is sent when the sync is complete, and there will only be one.
203
+ sig { void }
204
+ def clear_finished
205
+ end
206
+
207
+ sig { returns(T.nilable(Symbol)) }
208
+ def response
209
+ end
210
+
211
+ sig { params(field: String).returns(T.untyped) }
212
+ def [](field)
213
+ end
214
+
215
+ sig { params(field: String, value: T.untyped).void }
216
+ def []=(field, value)
217
+ end
218
+
219
+ sig { returns(T::Hash[Symbol, T.untyped]) }
220
+ def to_h
221
+ end
222
+
223
+ sig { params(str: String).returns(Stately::Db::SyncListResponse) }
224
+ def self.decode(str)
225
+ end
226
+
227
+ sig { params(msg: Stately::Db::SyncListResponse).returns(String) }
228
+ def self.encode(msg)
229
+ end
230
+
231
+ sig { params(str: String, kw: T.untyped).returns(Stately::Db::SyncListResponse) }
232
+ def self.decode_json(str, **kw)
233
+ end
234
+
235
+ sig { params(msg: Stately::Db::SyncListResponse, kw: T.untyped).returns(String) }
236
+ def self.encode_json(msg, **kw)
237
+ end
238
+
239
+ sig { returns(::Google::Protobuf::Descriptor) }
240
+ def self.descriptor
241
+ end
242
+ end
243
+
244
+ # SyncListReset is returned if the provided token is too far behind to be able to
245
+ # report deleted items, and subsequent results will start over with a fresh result
246
+ # set. Clients should discard any cached data from this result set and start re-populating it.
247
+ class Stately::Db::SyncListReset
248
+ include ::Google::Protobuf::MessageExts
249
+ extend ::Google::Protobuf::MessageExts::ClassMethods
250
+
251
+ sig {void}
252
+ def initialize; end
253
+
254
+ sig { params(field: String).returns(T.untyped) }
255
+ def [](field)
256
+ end
257
+
258
+ sig { params(field: String, value: T.untyped).void }
259
+ def []=(field, value)
260
+ end
261
+
262
+ sig { returns(T::Hash[Symbol, T.untyped]) }
263
+ def to_h
264
+ end
265
+
266
+ sig { params(str: String).returns(Stately::Db::SyncListReset) }
267
+ def self.decode(str)
268
+ end
269
+
270
+ sig { params(msg: Stately::Db::SyncListReset).returns(String) }
271
+ def self.encode(msg)
272
+ end
273
+
274
+ sig { params(str: String, kw: T.untyped).returns(Stately::Db::SyncListReset) }
275
+ def self.decode_json(str, **kw)
276
+ end
277
+
278
+ sig { params(msg: Stately::Db::SyncListReset, kw: T.untyped).returns(String) }
279
+ def self.encode_json(msg, **kw)
280
+ end
281
+
282
+ sig { returns(::Google::Protobuf::Descriptor) }
283
+ def self.descriptor
284
+ end
285
+ end
286
+
287
+ class Stately::Db::SyncListPartialResponse
288
+ include ::Google::Protobuf::MessageExts
289
+ extend ::Google::Protobuf::MessageExts::ClassMethods
290
+
291
+ sig do
292
+ params(
293
+ changed_items: T.nilable(T::Array[T.nilable(Stately::Db::Item)]),
294
+ deleted_items: T.nilable(T::Array[T.nilable(Stately::Db::DeletedItem)]),
295
+ updated_item_keys_outside_list_window: T.nilable(T::Array[String])
296
+ ).void
297
+ end
298
+ def initialize(
299
+ changed_items: [],
300
+ deleted_items: [],
301
+ updated_item_keys_outside_list_window: []
302
+ )
303
+ end
304
+
305
+ # Items in the token window that were added or updated since the last
306
+ # sync/list.
307
+ sig { returns(T::Array[T.nilable(Stately::Db::Item)]) }
308
+ def changed_items
309
+ end
310
+
311
+ # Items in the token window that were added or updated since the last
312
+ # sync/list.
313
+ sig { params(value: ::Google::Protobuf::RepeatedField).void }
314
+ def changed_items=(value)
315
+ end
316
+
317
+ # Items in the token window that were added or updated since the last
318
+ # sync/list.
319
+ sig { void }
320
+ def clear_changed_items
321
+ end
322
+
323
+ # Items in the token window that were deleted since the last sync/list.
324
+ sig { returns(T::Array[T.nilable(Stately::Db::DeletedItem)]) }
325
+ def deleted_items
326
+ end
327
+
328
+ # Items in the token window that were deleted since the last sync/list.
329
+ sig { params(value: ::Google::Protobuf::RepeatedField).void }
330
+ def deleted_items=(value)
331
+ end
332
+
333
+ # Items in the token window that were deleted since the last sync/list.
334
+ sig { void }
335
+ def clear_deleted_items
336
+ end
337
+
338
+ # Keys of items that were updated but Stately cannot tell if they were in the
339
+ # sync window. Treat these as deleted in most cases. For more information
340
+ # see: https://docs.stately.cloud/api/sync
341
+ sig { returns(T::Array[String]) }
342
+ def updated_item_keys_outside_list_window
343
+ end
344
+
345
+ # Keys of items that were updated but Stately cannot tell if they were in the
346
+ # sync window. Treat these as deleted in most cases. For more information
347
+ # see: https://docs.stately.cloud/api/sync
348
+ sig { params(value: ::Google::Protobuf::RepeatedField).void }
349
+ def updated_item_keys_outside_list_window=(value)
350
+ end
351
+
352
+ # Keys of items that were updated but Stately cannot tell if they were in the
353
+ # sync window. Treat these as deleted in most cases. For more information
354
+ # see: https://docs.stately.cloud/api/sync
355
+ sig { void }
356
+ def clear_updated_item_keys_outside_list_window
357
+ end
358
+
359
+ sig { params(field: String).returns(T.untyped) }
360
+ def [](field)
361
+ end
362
+
363
+ sig { params(field: String, value: T.untyped).void }
364
+ def []=(field, value)
365
+ end
366
+
367
+ sig { returns(T::Hash[Symbol, T.untyped]) }
368
+ def to_h
369
+ end
370
+
371
+ sig { params(str: String).returns(Stately::Db::SyncListPartialResponse) }
372
+ def self.decode(str)
373
+ end
374
+
375
+ sig { params(msg: Stately::Db::SyncListPartialResponse).returns(String) }
376
+ def self.encode(msg)
377
+ end
378
+
379
+ sig { params(str: String, kw: T.untyped).returns(Stately::Db::SyncListPartialResponse) }
380
+ def self.decode_json(str, **kw)
381
+ end
382
+
383
+ sig { params(msg: Stately::Db::SyncListPartialResponse, kw: T.untyped).returns(String) }
384
+ def self.encode_json(msg, **kw)
385
+ end
386
+
387
+ sig { returns(::Google::Protobuf::Descriptor) }
388
+ def self.descriptor
389
+ end
390
+ end
391
+
392
+ class Stately::Db::DeletedItem
393
+ include ::Google::Protobuf::MessageExts
394
+ extend ::Google::Protobuf::MessageExts::ClassMethods
395
+
396
+ sig do
397
+ params(
398
+ key_path: T.nilable(String)
399
+ ).void
400
+ end
401
+ def initialize(
402
+ key_path: ""
403
+ )
404
+ end
405
+
406
+ # Since the item was deleted, only the key is provided.
407
+ sig { returns(String) }
408
+ def key_path
409
+ end
410
+
411
+ # Since the item was deleted, only the key is provided.
412
+ sig { params(value: String).void }
413
+ def key_path=(value)
414
+ end
415
+
416
+ # Since the item was deleted, only the key is provided.
417
+ sig { void }
418
+ def clear_key_path
419
+ end
420
+
421
+ sig { params(field: String).returns(T.untyped) }
422
+ def [](field)
423
+ end
424
+
425
+ sig { params(field: String, value: T.untyped).void }
426
+ def []=(field, value)
427
+ end
428
+
429
+ sig { returns(T::Hash[Symbol, T.untyped]) }
430
+ def to_h
431
+ end
432
+
433
+ sig { params(str: String).returns(Stately::Db::DeletedItem) }
434
+ def self.decode(str)
435
+ end
436
+
437
+ sig { params(msg: Stately::Db::DeletedItem).returns(String) }
438
+ def self.encode(msg)
439
+ end
440
+
441
+ sig { params(str: String, kw: T.untyped).returns(Stately::Db::DeletedItem) }
442
+ def self.decode_json(str, **kw)
443
+ end
444
+
445
+ sig { params(msg: Stately::Db::DeletedItem, kw: T.untyped).returns(String) }
446
+ def self.encode_json(msg, **kw)
447
+ end
448
+
449
+ sig { returns(::Google::Protobuf::Descriptor) }
450
+ def self.descriptor
451
+ end
452
+ end