@milaboratories/pl-client 2.18.5 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +12 -22
  2. package/dist/_virtual/_rolldown/runtime.js +6 -11
  3. package/dist/core/PromiseTracker.cjs +2 -3
  4. package/dist/core/PromiseTracker.cjs.map +1 -1
  5. package/dist/core/PromiseTracker.d.ts.map +1 -0
  6. package/dist/core/PromiseTracker.js +1 -2
  7. package/dist/core/PromiseTracker.js.map +1 -1
  8. package/dist/core/StatefulPromise.cjs +1 -2
  9. package/dist/core/StatefulPromise.cjs.map +1 -1
  10. package/dist/core/StatefulPromise.js +1 -1
  11. package/dist/core/StatefulPromise.js.map +1 -1
  12. package/dist/core/abstract_stream.d.ts.map +1 -0
  13. package/dist/core/advisory_locks.cjs +1 -2
  14. package/dist/core/advisory_locks.cjs.map +1 -1
  15. package/dist/core/advisory_locks.js +1 -1
  16. package/dist/core/advisory_locks.js.map +1 -1
  17. package/dist/core/auth.cjs +2 -3
  18. package/dist/core/auth.cjs.map +1 -1
  19. package/dist/core/auth.d.ts.map +1 -0
  20. package/dist/core/auth.js +1 -2
  21. package/dist/core/auth.js.map +1 -1
  22. package/dist/core/cache.d.ts.map +1 -0
  23. package/dist/core/client.cjs +63 -36
  24. package/dist/core/client.cjs.map +1 -1
  25. package/dist/core/client.d.ts +3 -1
  26. package/dist/core/client.d.ts.map +1 -0
  27. package/dist/core/client.js +54 -27
  28. package/dist/core/client.js.map +1 -1
  29. package/dist/core/config.cjs +16 -17
  30. package/dist/core/config.cjs.map +1 -1
  31. package/dist/core/config.d.ts.map +1 -0
  32. package/dist/core/config.js +16 -16
  33. package/dist/core/config.js.map +1 -1
  34. package/dist/core/default_client.cjs +6 -7
  35. package/dist/core/default_client.cjs.map +1 -1
  36. package/dist/core/default_client.d.ts.map +1 -0
  37. package/dist/core/default_client.js +1 -2
  38. package/dist/core/default_client.js.map +1 -1
  39. package/dist/core/driver.cjs +1 -2
  40. package/dist/core/driver.cjs.map +1 -1
  41. package/dist/core/driver.d.ts.map +1 -0
  42. package/dist/core/driver.js +1 -1
  43. package/dist/core/error_resource.cjs +1 -2
  44. package/dist/core/error_resource.cjs.map +1 -1
  45. package/dist/core/error_resource.js +1 -1
  46. package/dist/core/errors.cjs +11 -4
  47. package/dist/core/errors.cjs.map +1 -1
  48. package/dist/core/errors.d.ts +2 -1
  49. package/dist/core/errors.d.ts.map +1 -0
  50. package/dist/core/errors.js +9 -3
  51. package/dist/core/errors.js.map +1 -1
  52. package/dist/core/final.cjs +3 -4
  53. package/dist/core/final.cjs.map +1 -1
  54. package/dist/core/final.d.ts.map +1 -0
  55. package/dist/core/final.js +1 -2
  56. package/dist/core/final.js.map +1 -1
  57. package/dist/core/ll_client.cjs +35 -18
  58. package/dist/core/ll_client.cjs.map +1 -1
  59. package/dist/core/ll_client.d.ts +6 -1
  60. package/dist/core/ll_client.d.ts.map +1 -0
  61. package/dist/core/ll_client.js +25 -8
  62. package/dist/core/ll_client.js.map +1 -1
  63. package/dist/core/ll_transaction.cjs +4 -5
  64. package/dist/core/ll_transaction.cjs.map +1 -1
  65. package/dist/core/ll_transaction.d.ts.map +1 -0
  66. package/dist/core/ll_transaction.js +1 -2
  67. package/dist/core/ll_transaction.js.map +1 -1
  68. package/dist/core/stat.cjs +1 -2
  69. package/dist/core/stat.cjs.map +1 -1
  70. package/dist/core/stat.d.ts.map +1 -0
  71. package/dist/core/stat.js +1 -1
  72. package/dist/core/transaction.cjs +32 -21
  73. package/dist/core/transaction.cjs.map +1 -1
  74. package/dist/core/transaction.d.ts.map +1 -0
  75. package/dist/core/transaction.js +23 -12
  76. package/dist/core/transaction.js.map +1 -1
  77. package/dist/core/type_conversion.cjs +8 -9
  78. package/dist/core/type_conversion.cjs.map +1 -1
  79. package/dist/core/type_conversion.js +4 -5
  80. package/dist/core/type_conversion.js.map +1 -1
  81. package/dist/core/types.cjs +3 -4
  82. package/dist/core/types.cjs.map +1 -1
  83. package/dist/core/types.d.ts.map +1 -0
  84. package/dist/core/types.js +2 -3
  85. package/dist/core/types.js.map +1 -1
  86. package/dist/core/unauth_client.cjs +4 -5
  87. package/dist/core/unauth_client.cjs.map +1 -1
  88. package/dist/core/unauth_client.d.ts.map +1 -0
  89. package/dist/core/unauth_client.js +1 -2
  90. package/dist/core/unauth_client.js.map +1 -1
  91. package/dist/core/websocket_stream.cjs +4 -5
  92. package/dist/core/websocket_stream.cjs.map +1 -1
  93. package/dist/core/websocket_stream.js +1 -2
  94. package/dist/core/websocket_stream.js.map +1 -1
  95. package/dist/core/wire.d.ts.map +1 -0
  96. package/dist/helpers/pl.cjs +12 -14
  97. package/dist/helpers/pl.cjs.map +1 -1
  98. package/dist/helpers/pl.d.ts.map +1 -0
  99. package/dist/helpers/pl.js +5 -7
  100. package/dist/helpers/pl.js.map +1 -1
  101. package/dist/helpers/poll.cjs +3 -4
  102. package/dist/helpers/poll.cjs.map +1 -1
  103. package/dist/helpers/poll.d.ts.map +1 -0
  104. package/dist/helpers/poll.js +1 -2
  105. package/dist/helpers/poll.js.map +1 -1
  106. package/dist/helpers/retry_strategy.cjs +1 -2
  107. package/dist/helpers/retry_strategy.cjs.map +1 -1
  108. package/dist/helpers/retry_strategy.js +1 -1
  109. package/dist/helpers/retry_strategy.js.map +1 -1
  110. package/dist/helpers/tx_helpers.cjs +3 -4
  111. package/dist/helpers/tx_helpers.cjs.map +1 -1
  112. package/dist/helpers/tx_helpers.d.ts.map +1 -0
  113. package/dist/helpers/tx_helpers.js +1 -2
  114. package/dist/helpers/tx_helpers.js.map +1 -1
  115. package/dist/index.cjs +34 -34
  116. package/dist/index.d.ts +2 -2
  117. package/dist/index.js +2 -3
  118. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.cjs +3 -4
  119. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.cjs.map +1 -1
  120. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.d.ts.map +1 -0
  121. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.js +1 -2
  122. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.js.map +1 -1
  123. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs +2039 -644
  124. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs.map +1 -1
  125. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs +62 -13
  126. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs.map +1 -1
  127. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts +78 -8
  128. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts.map +1 -0
  129. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js +60 -11
  130. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js.map +1 -1
  131. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts +658 -51
  132. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts.map +1 -0
  133. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js +2033 -639
  134. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js.map +1 -1
  135. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.cjs +251 -22
  136. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.cjs.map +1 -1
  137. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts +104 -10
  138. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts.map +1 -0
  139. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.js +248 -19
  140. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.js.map +1 -1
  141. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.cjs +28 -15
  142. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.cjs.map +1 -1
  143. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts +4 -0
  144. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts.map +1 -0
  145. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.js +27 -14
  146. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.js.map +1 -1
  147. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.cjs +17 -16
  148. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.cjs.map +1 -1
  149. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts +4 -0
  150. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts.map +1 -0
  151. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.js +15 -14
  152. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.js.map +1 -1
  153. package/dist/proto-grpc/google/protobuf/any.cjs +2 -3
  154. package/dist/proto-grpc/google/protobuf/any.cjs.map +1 -1
  155. package/dist/proto-grpc/google/protobuf/any.d.ts.map +1 -0
  156. package/dist/proto-grpc/google/protobuf/any.js +1 -2
  157. package/dist/proto-grpc/google/protobuf/any.js.map +1 -1
  158. package/dist/proto-grpc/google/protobuf/duration.cjs +2 -3
  159. package/dist/proto-grpc/google/protobuf/duration.cjs.map +1 -1
  160. package/dist/proto-grpc/google/protobuf/duration.d.ts.map +1 -0
  161. package/dist/proto-grpc/google/protobuf/duration.js +1 -2
  162. package/dist/proto-grpc/google/protobuf/duration.js.map +1 -1
  163. package/dist/proto-grpc/google/protobuf/timestamp.cjs +2 -3
  164. package/dist/proto-grpc/google/protobuf/timestamp.cjs.map +1 -1
  165. package/dist/proto-grpc/google/protobuf/timestamp.d.ts.map +1 -0
  166. package/dist/proto-grpc/google/protobuf/timestamp.js +1 -2
  167. package/dist/proto-grpc/google/protobuf/timestamp.js.map +1 -1
  168. package/dist/proto-grpc/google/rpc/code.cjs +1 -2
  169. package/dist/proto-grpc/google/rpc/code.cjs.map +1 -1
  170. package/dist/proto-grpc/google/rpc/code.d.ts.map +1 -0
  171. package/dist/proto-grpc/google/rpc/code.js +1 -1
  172. package/dist/proto-grpc/google/rpc/code.js.map +1 -1
  173. package/dist/proto-rest/index.cjs +8 -9
  174. package/dist/proto-rest/index.cjs.map +1 -1
  175. package/dist/proto-rest/index.d.ts.map +1 -0
  176. package/dist/proto-rest/index.js +1 -2
  177. package/dist/proto-rest/index.js.map +1 -1
  178. package/dist/proto-rest/plapi.d.ts +281 -28
  179. package/dist/proto-rest/plapi.d.ts.map +1 -0
  180. package/dist/test/tcp-proxy.cjs +2 -3
  181. package/dist/test/tcp-proxy.cjs.map +1 -1
  182. package/dist/test/tcp-proxy.d.ts.map +1 -0
  183. package/dist/test/tcp-proxy.js +1 -2
  184. package/dist/test/tcp-proxy.js.map +1 -1
  185. package/dist/test/test_config.cjs +16 -19
  186. package/dist/test/test_config.cjs.map +1 -1
  187. package/dist/test/test_config.d.ts.map +1 -0
  188. package/dist/test/test_config.js +3 -6
  189. package/dist/test/test_config.js.map +1 -1
  190. package/dist/util/pl.cjs +1 -2
  191. package/dist/util/pl.cjs.map +1 -1
  192. package/dist/util/pl.js +1 -1
  193. package/dist/util/util.cjs +1 -2
  194. package/dist/util/util.cjs.map +1 -1
  195. package/dist/util/util.js +1 -1
  196. package/package.json +8 -8
  197. package/src/core/client.ts +80 -30
  198. package/src/core/errors.ts +11 -0
  199. package/src/core/ll_client.test.ts +8 -0
  200. package/src/core/ll_client.ts +30 -2
  201. package/src/core/ll_transaction.test.ts +12 -2
  202. package/src/core/transaction.ts +41 -10
  203. package/src/core/type_conversion.ts +1 -1
  204. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts +119 -15
  205. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.ts +2274 -322
  206. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.ts +276 -20
  207. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.ts +11 -0
  208. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/import.ts +2 -2
  209. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.ts +11 -0
  210. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/ws-test.ts +3 -3
  211. package/src/proto-grpc/google/protobuf/descriptor.ts +2 -5
  212. package/src/proto-grpc/google/protobuf/struct.ts +1 -1
  213. package/src/proto-rest/plapi.ts +293 -22
@@ -11,6 +11,7 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
11
  import type { PartialMessage } from "@protobuf-ts/runtime";
12
12
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
13
  import { MessageType } from "@protobuf-ts/runtime";
14
+ import { Timestamp } from "../../../../../google/protobuf/timestamp";
14
15
  import { Duration } from "../../../../../google/protobuf/duration";
15
16
  import { ResourceAPIFeature } from "./api_types";
16
17
  import { Controller } from "./api_types";
@@ -26,22 +27,22 @@ import { ResourceType } from "./base_types";
26
27
  import { Tx } from "./api_types";
27
28
  import { Status } from "../../../../googleapis/googleapis/google/rpc/status";
28
29
  /**
29
- * Platform transactions on API level are implemented as bidirectional
30
+ * Platform transactions at the API level are implemented as bidirectional
30
31
  * streams that exist in parallel with transactions.
31
32
  * One stream = one transaction at all times.
32
33
  *
33
- * Long story short from client side:
34
+ * Long story short from the client side:
34
35
  * - client initializes stream and immediately gets transaction info
35
36
  * message from server;
36
37
  * - client calls server methods by sending messages to the server,
37
38
  * each message has its own request ID starting from 1, request ID number
38
39
  * grows as new messages are sent to the server;
39
- * - client reads server responses for each messages sent. Client can batch
40
+ * - client reads server responses for each message sent. Client can batch
40
41
  * writes and reads: e.g. send 3 messages, read 2 responses, send one
41
42
  * more, read 2;
42
- * - to finish communication client sends 'commit' or 'discard' message and reads last
43
+ * - to finish communication, the client sends a 'commit' or 'discard' message and reads last
43
44
  * response;
44
- * - to make server interrupt communication, client sends 'stream_close' message and reads to the last
45
+ * - to make the server interrupt communication, the client sends a 'stream_close' message and reads up to the last
45
46
  * server response. This allows graceful stream close, waiting for all queued server responses
46
47
  * to be sent before closing the stream.
47
48
  *
@@ -51,24 +52,24 @@ import { Status } from "../../../../googleapis/googleapis/google/rpc/status";
51
52
  *
52
53
  * 1. Initialization:
53
54
  *
54
- * - client opens new bidirectional stream by calling 'Tx' gRPC method;
55
- * - client sends 'tx_open' message with request_id = 0 to open RO or RW
55
+ * - the client opens a new bidirectional stream by calling 'Tx' gRPC method;
56
+ * - the client sends a 'tx_open' message with request_id = 0 to open RO or RW
56
57
  * transaction.
57
- * Any message from client other than 'tx_open' during initialization is
58
- * treated as communication error and causes server to close the stream;
59
- * - server opens new transaction and sends transaction info to the client
60
- * 'tx_open' server message;
58
+ * Any message from the client other than 'tx_open' during initialization is
59
+ * treated as a communication error and causes the server to close the stream;
60
+ * - the server opens a new transaction and sends transaction info to the client
61
+ * in a 'tx_open' server message;
61
62
  *
62
63
  * 2. Communication:
63
64
  *
64
65
  * Once the transaction gets initialized, all the communication between
65
- * client and server should be considered as request-response sequence.
66
- * The only difference to simple gRPC call is that sending a request does not
67
- * block client until the response arrives from server.
66
+ * client and server should be considered a request-response sequence.
67
+ * The only difference from a simple gRPC call is that sending a request does not
68
+ * block the client until the response arrives from the server.
68
69
  *
69
- * Client can send as many requests to the server as it wants before
70
- * reading responses. This allows client to batch method calls, when it is not
71
- * interested in result of each action, but needs only overall summary of
70
+ * The client can send as many requests to the server as it wants before
71
+ * reading responses. This allows the client to batch method calls, when it is not
72
+ * interested in the result of each action, but needs only the overall summary of
72
73
  * transaction commit.
73
74
  * For example, the following sequence is totally valid from client side:
74
75
  * 1. send reqA.
@@ -78,69 +79,69 @@ import { Status } from "../../../../googleapis/googleapis/google/rpc/status";
78
79
  * 5. get respB.
79
80
  * 6. get respC.
80
81
  *
81
- * Here are detailed rules of client-server communication inside transaction
82
+ * Here are the detailed rules of client-server communication inside transaction
82
83
  * stream:
83
- * - if stream is closed by client or interrupted by any unrecoverable
84
- * communication error, the accompanied transaction is discarded;
85
- * - each message in client stream (from client to server) is considered as
86
- * method call.
87
- * E.g. 'resource_remove' makes server to actually remove resource inside
88
- * transaction, bound to current stream;
89
- * - each message in client stream MUST have its own ID (request_id),
90
- * generated by client, UNIQUE for transaction. Numeration starts from
91
- * 1 for each at this step. request_id == 0 is treated as unrecoverable
92
- * communication error by server and cancels transaction;
93
- * - server expects 'request_id' from client to grow constantly by one as
84
+ * - if the stream is closed by the client or interrupted by any unrecoverable
85
+ * communication error, the accompanying transaction is discarded;
86
+ * - each message in the client stream (from client to server) is considered
87
+ * a method call.
88
+ * E.g. 'resource_remove' makes the server actually remove the resource inside
89
+ * the transaction bound to the current stream;
90
+ * - each message in the client stream MUST have its own ID (request_id),
91
+ * generated by the client, UNIQUE for the transaction. Numbering starts from
92
+ * 1 for each new transaction. request_id == 0 is treated as an unrecoverable
93
+ * communication error by the server and cancels the transaction;
94
+ * - server expects 'request_id' from the client to grow consecutively by one as
94
95
  * messages come. If message M2 arrives next to M1 and
95
96
  * M2.request_id != (M1.request_id + 1)
96
- * server treats it as unrecoverable communication error and cancels
97
- * transaction;
98
- * - all messages in server stream (from server to client) in communication
99
- * stage have the same 'request_id' as the client messages, that triggered
100
- * the operation. This allows client to match server responses to the
97
+ * server treats it as an unrecoverable communication error and cancels
98
+ * the transaction;
99
+ * - all messages in the server stream (from server to client) in the communication
100
+ * stage have the same 'request_id' as the client messages that triggered
101
+ * the operation. This allows the client to match server responses to the
101
102
  * requests it sent earlier;
102
- * - messages order in server stream matches order in client stream: if
103
- * client sent sequence [ReqA, ReqB], the server will always response
103
+ * - message order in the server stream matches the order in the client stream: if
104
+ * the client sent sequence [ReqA, ReqB], the server will always respond with
104
105
  * [RespA, RespB];
105
- * - server can send several responses to single client request (multi-message
106
+ * - the server can send several responses to a single client request (multi-message
106
107
  * response). In that case, all such responses will have the same 'request_id'
107
- * (the one from client request), but different message IDs. See
108
+ * (the one from the client request), but different message IDs. See
108
109
  * 'Multi-message responses' section below for more info.
109
- * - client is allowed (but not obligated) to generate local IDs for new
110
+ * - the client is allowed (but not obligated) to generate local IDs for new
110
111
  * instances and use them in links and other references. These local IDs
111
- * are valid only within current transaction;
112
- * - any instance in server stream always has _real_ global ID that is valid
113
- * at any times in any other request outside current transaction;
112
+ * are valid only within the current transaction;
113
+ * - any instance in the server stream always has a _real_ global ID that is valid
114
+ * at any time in any other request outside the current transaction;
114
115
  *
115
116
  * 3. Finalization:
116
117
  *
117
- * - client finalizes transaction by sending 'tx_commit' or 'tx_discard'
118
- * message to the server. After that client can close client stream as any
118
+ * - the client finalizes the transaction by sending a 'tx_commit' or 'tx_discard'
119
+ * message to the server. After that, the client can close the client stream as any
119
120
  * message sent to the server after commit/discard will be ignored anyway;
120
- * - server stops reading client stream and does the commit/discard action.
121
- * - once transaction is closed, server sends the result to client and
122
- * closes server stream.
123
- * - client stream reading may be interrupted by special 'stream_close' message, which
124
- * causes transaction automatic discard and does not produce additional reply message.
121
+ * - the server stops reading the client stream and does the commit/discard action.
122
+ * - once the transaction is closed, the server sends the result to the client and
123
+ * closes the server stream.
124
+ * - the client stream reading may be interrupted by a special 'stream_close' message, which
125
+ * causes automatic transaction discard and does not produce an additional reply message.
125
126
  * This 'stream_close' message also does not require any 'request_id' value and does not
126
- * produce any response from server side.
127
+ * produce any response from the server side.
127
128
  *
128
- * At this point the transaction over gRPC is considered as finalized, all
129
+ * At this point the transaction over gRPC is considered finalized, all
129
130
  * local IDs generated within the transaction are no longer valid.
130
131
  *
131
132
  * Multi-message responses
132
133
  *
133
134
  * Some transaction methods produce several messages by design, causing
134
- * single call to result in multiple responses. Listings are the clear
135
+ * a single call to result in multiple responses. Listings are a clear
135
136
  * example of that.
136
- * All responses from server have special field (multi_message) with all meta
137
- * info on multi-message response:
137
+ * All responses from the server have a special field (multi_message) with all meta
138
+ * info on multi-message responses:
138
139
  * - for single-message responses, multi_message is always empty;
139
140
  * - for multi-message responses, multi_message.id is always > 0;
140
- * - all messages in multi-message response have request_id equal to request_id from
141
- * original client's request message;
142
- * - last message in multi-message response always has multi_message.is_last = true;
143
- * - empty multi-message response always has:
141
+ * - all messages in a multi-message response have request_id equal to request_id from
142
+ * the original client's request message;
143
+ * - the last message in a multi-message response always has multi_message.is_last = true;
144
+ * - an empty multi-message response always has:
144
145
  * multi_message.is_last = true;
145
146
  * multi_message.is_empty = true.
146
147
  *
@@ -181,15 +182,15 @@ export interface TxAPI_ClientMessage {
181
182
  } | {
182
183
  oneofKind: "streamClose";
183
184
  /**
184
- * Interrupt the transaction network stream on server side.
185
+ * Interrupt the transaction network stream on the server side.
185
186
  *
186
- * This allows to gracefully close network connection and discard the associated transaction,
187
+ * This allows one to gracefully close the network connection and discard the associated transaction,
187
188
  * ensuring all pending server responses are sent to the client before closing.
188
- * We use this in RO transactions to imitate the feature of 'half-open' connection
189
+ * We use this in RO transactions to imitate the feature of a 'half-open' connection
189
190
  * available in pure gRPC, when we work with WebSockets.
190
- * Pure gRPC uses 'end of client messages stream' as a criteria for graceful discard.
191
- * Pure WebSocket does not allow this, breaking entire connection at once. stream_close helps to get
192
- * behaviour as we have for gRPC.
191
+ * Pure gRPC uses 'end of the client message stream' as a criterion for graceful discard.
192
+ * Pure WebSocket does not allow this, breaking the entire connection at once. stream_close helps
193
+ * achieve the same behavior as in gRPC.
193
194
  *
194
195
  * @generated from protobuf field: MiLaboratories.PL.API.TxAPI.CloseStream.Request stream_close = 14
195
196
  */
@@ -277,7 +278,7 @@ export interface TxAPI_ClientMessage {
277
278
  /**
278
279
  * @generated from protobuf field: MiLaboratories.PL.API.ResourceAPI.SetError.Request resource_set_error = 61
279
280
  */
280
- resourceSetError: ResourceAPI_SetError_Request; // create a special field and set error there.
281
+ resourceSetError: ResourceAPI_SetError_Request; // create a special field and set an error there.
281
282
  } | {
282
283
  oneofKind: "resourceListByType";
283
284
  /**
@@ -331,7 +332,7 @@ export interface TxAPI_ClientMessage {
331
332
  /**
332
333
  * @generated from protobuf field: MiLaboratories.PL.API.FieldAPI.Exists.Request field_exists = 107
333
334
  */
334
- fieldExists: FieldAPI_Exists_Request; // add field to resource
335
+ fieldExists: FieldAPI_Exists_Request; // check if field exists
335
336
  } | {
336
337
  oneofKind: "fieldSet";
337
338
  /**
@@ -385,7 +386,7 @@ export interface TxAPI_ClientMessage {
385
386
  /**
386
387
  * @generated from protobuf field: MiLaboratories.PL.API.SubscriptionAPI.DetachFilter.Request subscription_detach_filter = 113
387
388
  */
388
- subscriptionDetachFilter: SubscriptionAPI_DetachFilter_Request; // add filter to existing subscription
389
+ subscriptionDetachFilter: SubscriptionAPI_DetachFilter_Request; // detach filter from existing subscription
389
390
  } | {
390
391
  oneofKind: "subscriptionCreateFilter";
391
392
  /**
@@ -403,13 +404,13 @@ export interface TxAPI_ClientMessage {
403
404
  /**
404
405
  * @generated from protobuf field: MiLaboratories.PL.API.NotificationAPI.Ack.Request notification_ack = 155
405
406
  */
406
- notificationAck: NotificationAPI_Ack_Request; // acknowledge notification handle by controller
407
+ notificationAck: NotificationAPI_Ack_Request; // acknowledge notification handled by controller
407
408
  } | {
408
409
  oneofKind: "notificationDiscard";
409
410
  /**
410
411
  * @generated from protobuf field: MiLaboratories.PL.API.NotificationAPI.Discard.Request notification_discard = 156
411
412
  */
412
- notificationDiscard: NotificationAPI_Discard_Request; // discard notification handle by controller
413
+ notificationDiscard: NotificationAPI_Discard_Request; // discard notification handled by controller
413
414
  } | {
414
415
  oneofKind: "resourceKeyValueSet";
415
416
  /**
@@ -503,9 +504,10 @@ export interface TxAPI_ClientMessage {
503
504
  } | {
504
505
  oneofKind: "cacheDeleteExpiredRecords";
505
506
  /**
506
- * @generated from protobuf field: MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Request cache_delete_expired_records = 301
507
+ * @deprecated
508
+ * @generated from protobuf field: MiLaboratories.PL.API.Util.Deprecated cache_delete_expired_records = 301 [deprecated = true]
507
509
  */
508
- cacheDeleteExpiredRecords: CacheAPI_DeleteExpiredRecords_Request; // iterate through all records and delete expired.
510
+ cacheDeleteExpiredRecords: Util_Deprecated;
509
511
  } | {
510
512
  oneofKind: "controllerFeaturesSet";
511
513
  /**
@@ -518,6 +520,12 @@ export interface TxAPI_ClientMessage {
518
520
  * @generated from protobuf field: MiLaboratories.PL.API.ControllerAPI.ClearFeatures.Request controller_features_clear = 351
519
521
  */
520
522
  controllerFeaturesClear: ControllerAPI_ClearFeatures_Request; // clear list of resource features, provided by controller.
523
+ } | {
524
+ oneofKind: "setDefaultColor";
525
+ /**
526
+ * @generated from protobuf field: MiLaboratories.PL.API.TxAPI.SetDefaultColor.Request set_default_color = 400
527
+ */
528
+ setDefaultColor: TxAPI_SetDefaultColor_Request; // set default color for resource creation
521
529
  } | {
522
530
  oneofKind: undefined;
523
531
  };
@@ -873,9 +881,10 @@ export interface TxAPI_ServerMessage {
873
881
  } | {
874
882
  oneofKind: "cacheDeleteExpiredRecords";
875
883
  /**
876
- * @generated from protobuf field: MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Response cache_delete_expired_records = 301
884
+ * @deprecated
885
+ * @generated from protobuf field: MiLaboratories.PL.API.Util.Deprecated cache_delete_expired_records = 301 [deprecated = true]
877
886
  */
878
- cacheDeleteExpiredRecords: CacheAPI_DeleteExpiredRecords_Response;
887
+ cacheDeleteExpiredRecords: Util_Deprecated;
879
888
  } | {
880
889
  oneofKind: "controllerFeaturesSet";
881
890
  /**
@@ -888,6 +897,12 @@ export interface TxAPI_ServerMessage {
888
897
  * @generated from protobuf field: MiLaboratories.PL.API.ControllerAPI.ClearFeatures.Response controller_features_clear = 351
889
898
  */
890
899
  controllerFeaturesClear: ControllerAPI_ClearFeatures_Response;
900
+ } | {
901
+ oneofKind: "setDefaultColor";
902
+ /**
903
+ * @generated from protobuf field: MiLaboratories.PL.API.TxAPI.SetDefaultColor.Response set_default_color = 400
904
+ */
905
+ setDefaultColor: TxAPI_SetDefaultColor_Response;
891
906
  } | {
892
907
  oneofKind: undefined;
893
908
  };
@@ -904,7 +919,7 @@ export interface TxAPI_ServerMessage_Multi {
904
919
  * Sequential message ID for multi-message response, starting from 1.
905
920
  * Caller can use 'id > 0' check as a sign of multi-message response.
906
921
  * Some API requests produce several messages in response by design (say, listings)
907
- * In that case, the server responses to the client with many messages, each having
922
+ * In that case, the server responds to the client with many messages, each having
908
923
  * the same <request_id> value and different <message_id> values.
909
924
  *
910
925
  * @generated from protobuf field: uint32 id = 1
@@ -919,7 +934,7 @@ export interface TxAPI_ServerMessage_Multi {
919
934
  isLast: boolean;
920
935
  /**
921
936
  * Sign of empty multi-message response. Some multi-message responses can produce nothing
922
- * (like listing of empty directory). In that case client still has to know that the request was
937
+ * (like a listing of an empty directory). In that case, the client still has to know that the request was
923
938
  * handled and the empty result is OK.
924
939
  *
925
940
  * @generated from protobuf field: bool is_empty = 3
@@ -1042,6 +1057,25 @@ export interface TxAPI_Sync_Request {
1042
1057
  */
1043
1058
  export interface TxAPI_Sync_Response {
1044
1059
  }
1060
+ /**
1061
+ * @generated from protobuf message MiLaboratories.PL.API.TxAPI.SetDefaultColor
1062
+ */
1063
+ export interface TxAPI_SetDefaultColor {
1064
+ }
1065
+ /**
1066
+ * @generated from protobuf message MiLaboratories.PL.API.TxAPI.SetDefaultColor.Request
1067
+ */
1068
+ export interface TxAPI_SetDefaultColor_Request {
1069
+ /**
1070
+ * @generated from protobuf field: optional bytes color_proof = 1
1071
+ */
1072
+ colorProof?: Uint8Array;
1073
+ }
1074
+ /**
1075
+ * @generated from protobuf message MiLaboratories.PL.API.TxAPI.SetDefaultColor.Response
1076
+ */
1077
+ export interface TxAPI_SetDefaultColor_Response {
1078
+ }
1045
1079
  /**
1046
1080
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI
1047
1081
  */
@@ -1068,6 +1102,10 @@ export interface ResourceAPI_CreateStruct_Request {
1068
1102
  * @generated from protobuf field: optional bytes data = 4
1069
1103
  */
1070
1104
  data?: Uint8Array;
1105
+ /**
1106
+ * @generated from protobuf field: optional bytes color_proof = 5
1107
+ */
1108
+ colorProof?: Uint8Array;
1071
1109
  }
1072
1110
  /**
1073
1111
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.CreateStruct.Response
@@ -1077,6 +1115,10 @@ export interface ResourceAPI_CreateStruct_Response {
1077
1115
  * @generated from protobuf field: uint64 resource_id = 1
1078
1116
  */
1079
1117
  resourceId: bigint;
1118
+ /**
1119
+ * @generated from protobuf field: optional bytes resource_signature = 2
1120
+ */
1121
+ resourceSignature?: Uint8Array;
1080
1122
  }
1081
1123
  /**
1082
1124
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.CreateEphemeral
@@ -1099,6 +1141,10 @@ export interface ResourceAPI_CreateEphemeral_Request {
1099
1141
  * @generated from protobuf field: optional bytes data = 4
1100
1142
  */
1101
1143
  data?: Uint8Array;
1144
+ /**
1145
+ * @generated from protobuf field: optional bytes color_proof = 5
1146
+ */
1147
+ colorProof?: Uint8Array;
1102
1148
  }
1103
1149
  /**
1104
1150
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.CreateEphemeral.Response
@@ -1108,6 +1154,10 @@ export interface ResourceAPI_CreateEphemeral_Response {
1108
1154
  * @generated from protobuf field: uint64 resource_id = 1
1109
1155
  */
1110
1156
  resourceId: bigint;
1157
+ /**
1158
+ * @generated from protobuf field: optional bytes resource_signature = 2
1159
+ */
1160
+ resourceSignature?: Uint8Array;
1111
1161
  }
1112
1162
  /**
1113
1163
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.CreateChild
@@ -1165,6 +1215,10 @@ export interface ResourceAPI_CreateValue_Request {
1165
1215
  * @generated from protobuf field: bool error_if_exists = 7
1166
1216
  */
1167
1217
  errorIfExists: boolean;
1218
+ /**
1219
+ * @generated from protobuf field: optional bytes color_proof = 8
1220
+ */
1221
+ colorProof?: Uint8Array;
1168
1222
  }
1169
1223
  /**
1170
1224
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.CreateValue.Response
@@ -1174,6 +1228,10 @@ export interface ResourceAPI_CreateValue_Response {
1174
1228
  * @generated from protobuf field: uint64 resource_id = 1
1175
1229
  */
1176
1230
  resourceId: bigint;
1231
+ /**
1232
+ * @generated from protobuf field: optional bytes resource_signature = 2
1233
+ */
1234
+ resourceSignature?: Uint8Array;
1177
1235
  }
1178
1236
  /**
1179
1237
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.GetValueID
@@ -1201,6 +1259,10 @@ export interface ResourceAPI_GetValueID_Response {
1201
1259
  * @generated from protobuf field: uint64 resource_id = 1
1202
1260
  */
1203
1261
  resourceId: bigint;
1262
+ /**
1263
+ * @generated from protobuf field: optional bytes resource_signature = 2
1264
+ */
1265
+ resourceSignature?: Uint8Array;
1204
1266
  }
1205
1267
  /**
1206
1268
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.CreateSingleton
@@ -1227,6 +1289,10 @@ export interface ResourceAPI_CreateSingleton_Request {
1227
1289
  * @generated from protobuf field: bool error_if_exists = 7
1228
1290
  */
1229
1291
  errorIfExists: boolean;
1292
+ /**
1293
+ * @generated from protobuf field: optional bytes color_proof = 8
1294
+ */
1295
+ colorProof?: Uint8Array;
1230
1296
  }
1231
1297
  /**
1232
1298
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.CreateSingleton.Response
@@ -1236,6 +1302,10 @@ export interface ResourceAPI_CreateSingleton_Response {
1236
1302
  * @generated from protobuf field: uint64 resource_id = 1
1237
1303
  */
1238
1304
  resourceId: bigint;
1305
+ /**
1306
+ * @generated from protobuf field: optional bytes resource_signature = 2
1307
+ */
1308
+ resourceSignature?: Uint8Array;
1239
1309
  }
1240
1310
  /**
1241
1311
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.GetSingleton
@@ -1281,6 +1351,10 @@ export interface ResourceAPI_LockInputs_Request {
1281
1351
  * @generated from protobuf field: uint64 resource_id = 1
1282
1352
  */
1283
1353
  resourceId: bigint;
1354
+ /**
1355
+ * @generated from protobuf field: optional bytes resource_signature = 2
1356
+ */
1357
+ resourceSignature?: Uint8Array;
1284
1358
  }
1285
1359
  /**
1286
1360
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.LockInputs.Response
@@ -1300,6 +1374,10 @@ export interface ResourceAPI_LockOutputs_Request {
1300
1374
  * @generated from protobuf field: uint64 resource_id = 1
1301
1375
  */
1302
1376
  resourceId: bigint;
1377
+ /**
1378
+ * @generated from protobuf field: optional bytes resource_signature = 2
1379
+ */
1380
+ resourceSignature?: Uint8Array;
1303
1381
  }
1304
1382
  /**
1305
1383
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.LockOutputs.Response
@@ -1319,6 +1397,10 @@ export interface ResourceAPI_Exists_Request {
1319
1397
  * @generated from protobuf field: uint64 resource_id = 1
1320
1398
  */
1321
1399
  resourceId: bigint;
1400
+ /**
1401
+ * @generated from protobuf field: optional bytes resource_signature = 2
1402
+ */
1403
+ resourceSignature?: Uint8Array;
1322
1404
  }
1323
1405
  /**
1324
1406
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.Exists.Response
@@ -1342,10 +1424,18 @@ export interface ResourceAPI_SetError_Request {
1342
1424
  * @generated from protobuf field: uint64 resource_id = 1
1343
1425
  */
1344
1426
  resourceId: bigint;
1427
+ /**
1428
+ * @generated from protobuf field: optional bytes resource_signature = 3
1429
+ */
1430
+ resourceSignature?: Uint8Array;
1345
1431
  /**
1346
1432
  * @generated from protobuf field: uint64 error_resource_id = 2
1347
1433
  */
1348
1434
  errorResourceId: bigint;
1435
+ /**
1436
+ * @generated from protobuf field: optional bytes error_resource_signature = 4
1437
+ */
1438
+ errorResourceSignature?: Uint8Array;
1349
1439
  }
1350
1440
  /**
1351
1441
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.SetError.Response
@@ -1365,6 +1455,10 @@ export interface ResourceAPI_Get_Request {
1365
1455
  * @generated from protobuf field: uint64 resource_id = 1
1366
1456
  */
1367
1457
  resourceId: bigint;
1458
+ /**
1459
+ * @generated from protobuf field: optional bytes resource_signature = 3
1460
+ */
1461
+ resourceSignature?: Uint8Array;
1368
1462
  /**
1369
1463
  * @generated from protobuf field: bool load_fields = 2
1370
1464
  */
@@ -1398,9 +1492,9 @@ export interface ResourceAPI_List_ByType_Request {
1398
1492
  */
1399
1493
  resourceType?: ResourceType;
1400
1494
  /**
1401
- * Non-zero value makes API to limit its responses count to at most
1495
+ * Non-zero value makes the API limit its response count to at most
1402
1496
  * <limit> number of items.
1403
- * Zero value makes API to return all available items.
1497
+ * Zero value makes the API return all available items.
1404
1498
  *
1405
1499
  * @generated from protobuf field: uint32 limit = 3
1406
1500
  */
@@ -1413,7 +1507,7 @@ export interface ResourceAPI_List_ByType_Request {
1413
1507
  */
1414
1508
  after: bigint;
1415
1509
  /**
1416
- * True value makes API to return original resources instead of duplicates.
1510
+ * True value makes the API return original resources instead of duplicates.
1417
1511
  *
1418
1512
  * @generated from protobuf field: bool resolve_duplicates = 4
1419
1513
  */
@@ -1462,11 +1556,15 @@ export interface ResourceAPI_CreateRoot_Response {
1462
1556
  * @generated from protobuf field: uint64 resource_id = 1
1463
1557
  */
1464
1558
  resourceId: bigint;
1559
+ /**
1560
+ * @generated from protobuf field: optional bytes resource_signature = 2
1561
+ */
1562
+ resourceSignature?: Uint8Array;
1465
1563
  }
1466
1564
  // FIXME: add CreateResource method to API
1467
1565
 
1468
1566
  /**
1469
- * Remove any resource, that has garbage collection disabled
1567
+ * Remove any resource that has garbage collection disabled
1470
1568
  *
1471
1569
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.Remove
1472
1570
  */
@@ -1477,9 +1575,13 @@ export interface ResourceAPI_Remove {
1477
1575
  */
1478
1576
  export interface ResourceAPI_Remove_Request {
1479
1577
  /**
1480
- * @generated from protobuf field: uint64 id = 1
1578
+ * @generated from protobuf field: uint64 resource_id = 1
1481
1579
  */
1482
- id: bigint;
1580
+ resourceId: bigint;
1581
+ /**
1582
+ * @generated from protobuf field: optional bytes resource_signature = 2
1583
+ */
1584
+ resourceSignature?: Uint8Array;
1483
1585
  }
1484
1586
  /**
1485
1587
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.Remove.Response
@@ -1504,6 +1606,10 @@ export interface ResourceAPI_Name_Set_Request {
1504
1606
  * @generated from protobuf field: uint64 resource_id = 1
1505
1607
  */
1506
1608
  resourceId: bigint;
1609
+ /**
1610
+ * @generated from protobuf field: optional bytes resource_signature = 3
1611
+ */
1612
+ resourceSignature?: Uint8Array;
1507
1613
  /**
1508
1614
  * @generated from protobuf field: string name = 2
1509
1615
  */
@@ -1536,6 +1642,10 @@ export interface ResourceAPI_Name_Get_Response {
1536
1642
  * @generated from protobuf field: uint64 resource_id = 1
1537
1643
  */
1538
1644
  resourceId: bigint;
1645
+ /**
1646
+ * @generated from protobuf field: optional bytes resource_signature = 2
1647
+ */
1648
+ resourceSignature?: Uint8Array;
1539
1649
  }
1540
1650
  /**
1541
1651
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.Name.Exists
@@ -1593,11 +1703,15 @@ export interface ResourceAPI_Tree_Request {
1593
1703
  */
1594
1704
  resourceId: bigint;
1595
1705
  /**
1596
- * Limit maximum depth the tree is traversed.
1597
- * The resource <resource_id> is considered on depth = 0, the values of its fiels
1706
+ * @generated from protobuf field: optional bytes resource_signature = 3
1707
+ */
1708
+ resourceSignature?: Uint8Array;
1709
+ /**
1710
+ * Limit the maximum depth the tree is traversed.
1711
+ * The resource <resource_id> is considered at depth = 0, the values of its fields
1598
1712
  * are on depth = 1 and so on.
1599
- * The maximum uint32 value disables the limit at all.
1600
- * 0 value makes API to return only single resource <resource_id> and is actually
1713
+ * The maximum uint32 value disables the limit entirely.
1714
+ * A 0 value makes the API return only a single resource <resource_id> and is actually
1601
1715
  * equal to Get.Request
1602
1716
  *
1603
1717
  * @generated from protobuf field: optional uint32 max_depth = 2
@@ -1628,6 +1742,10 @@ export interface ResourceAPI_TreeSize_Request {
1628
1742
  * @generated from protobuf field: uint64 resource_id = 1
1629
1743
  */
1630
1744
  resourceId: bigint;
1745
+ /**
1746
+ * @generated from protobuf field: optional bytes resource_signature = 2
1747
+ */
1748
+ resourceSignature?: Uint8Array;
1631
1749
  }
1632
1750
  /**
1633
1751
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.TreeSize.Response
@@ -1635,7 +1753,7 @@ export interface ResourceAPI_TreeSize_Request {
1635
1753
  export interface ResourceAPI_TreeSize_Response {
1636
1754
  /**
1637
1755
  * size of all tree resources in bytes
1638
- * could change between call regarding compression algorithm
1756
+ * could change between calls depending on compression algorithm
1639
1757
  *
1640
1758
  * @generated from protobuf field: uint64 size = 1
1641
1759
  */
@@ -1739,9 +1857,13 @@ export interface FieldAPI_SetError_Request {
1739
1857
  */
1740
1858
  field?: FieldRef;
1741
1859
  /**
1742
- * @generated from protobuf field: uint64 err_resource_id = 2
1860
+ * @generated from protobuf field: uint64 error_resource_id = 2
1861
+ */
1862
+ errorResourceId: bigint;
1863
+ /**
1864
+ * @generated from protobuf field: optional bytes error_resource_signature = 3
1743
1865
  */
1744
- errResourceId: bigint;
1866
+ errorResourceSignature?: Uint8Array;
1745
1867
  }
1746
1868
  /**
1747
1869
  * @generated from protobuf message MiLaboratories.PL.API.FieldAPI.SetError.Response
@@ -1822,6 +1944,10 @@ export interface FieldAPI_List_Request {
1822
1944
  * @generated from protobuf field: uint64 resource_id = 1
1823
1945
  */
1824
1946
  resourceId: bigint;
1947
+ /**
1948
+ * @generated from protobuf field: optional bytes resource_signature = 4
1949
+ */
1950
+ resourceSignature?: Uint8Array;
1825
1951
  /**
1826
1952
  * Start the listing from given position, returning first field with
1827
1953
  * name >= start_from.
@@ -1830,9 +1956,9 @@ export interface FieldAPI_List_Request {
1830
1956
  */
1831
1957
  startFrom: string;
1832
1958
  /**
1833
- * Non-zero value makes API to limit number of returned fields to at
1959
+ * Non-zero value makes the API limit the number of returned fields to at
1834
1960
  * most <limit>.
1835
- * Zero value makes API to return all available fields of the resource.
1961
+ * Zero value makes the API return all available fields of the resource.
1836
1962
  *
1837
1963
  * @generated from protobuf field: uint32 limit = 3
1838
1964
  */
@@ -1852,7 +1978,7 @@ export interface FieldAPI_List_Response {
1852
1978
  * The name of field next to the current one.
1853
1979
  *
1854
1980
  * Is not empty only for the last message in the current listing, when <limit> was > 0 in List.Request AND
1855
- * there is more items to read (the listing was stopped because of that limit)
1981
+ * there are more items to read (the listing was stopped because of that limit)
1856
1982
  *
1857
1983
  * Use <next> value as <start_from> in the List.Request to continue listing.
1858
1984
  *
@@ -2433,6 +2559,10 @@ export interface ResourceKVAPI_List_Request {
2433
2559
  * @generated from protobuf field: uint64 resource_id = 1
2434
2560
  */
2435
2561
  resourceId: bigint;
2562
+ /**
2563
+ * @generated from protobuf field: optional bytes resource_signature = 4
2564
+ */
2565
+ resourceSignature?: Uint8Array;
2436
2566
  /**
2437
2567
  * Start the listing from given position, returning first item with
2438
2568
  * key >= start_from.
@@ -2441,9 +2571,9 @@ export interface ResourceKVAPI_List_Request {
2441
2571
  */
2442
2572
  startFrom: string;
2443
2573
  /**
2444
- * Non-zero value makes API to limit its responses count to at most
2574
+ * Non-zero value makes the API limit its response count to at most
2445
2575
  * <limit> number of items.
2446
- * Zero value makes API to return all available items.
2576
+ * Zero value makes the API return all available items.
2447
2577
  *
2448
2578
  * @generated from protobuf field: uint32 limit = 3
2449
2579
  */
@@ -2463,7 +2593,7 @@ export interface ResourceKVAPI_List_Response {
2463
2593
  * The key of the KV item next to the last returned item.
2464
2594
  *
2465
2595
  * Is not empty only for the last message in the current listing, when <limit> was > 0 in List.Request AND
2466
- * there is more items to read (the listing was stopped because of that limit)
2596
+ * there are more items to read (the listing was stopped because of that limit)
2467
2597
  *
2468
2598
  * Use <next> value as <start_from> of the List.Request to continue listing.
2469
2599
  *
@@ -2497,6 +2627,10 @@ export interface ResourceKVAPI_Set_Request {
2497
2627
  * @generated from protobuf field: uint64 resource_id = 1
2498
2628
  */
2499
2629
  resourceId: bigint;
2630
+ /**
2631
+ * @generated from protobuf field: optional bytes resource_signature = 4
2632
+ */
2633
+ resourceSignature?: Uint8Array;
2500
2634
  /**
2501
2635
  * @generated from protobuf field: string key = 2
2502
2636
  */
@@ -2524,6 +2658,10 @@ export interface ResourceKVAPI_Get_Request {
2524
2658
  * @generated from protobuf field: uint64 resource_id = 1
2525
2659
  */
2526
2660
  resourceId: bigint;
2661
+ /**
2662
+ * @generated from protobuf field: optional bytes resource_signature = 3
2663
+ */
2664
+ resourceSignature?: Uint8Array;
2527
2665
  /**
2528
2666
  * @generated from protobuf field: string key = 2
2529
2667
  */
@@ -2551,6 +2689,10 @@ export interface ResourceKVAPI_GetIfExists_Request {
2551
2689
  * @generated from protobuf field: uint64 resource_id = 1
2552
2690
  */
2553
2691
  resourceId: bigint;
2692
+ /**
2693
+ * @generated from protobuf field: optional bytes resource_signature = 3
2694
+ */
2695
+ resourceSignature?: Uint8Array;
2554
2696
  /**
2555
2697
  * @generated from protobuf field: string key = 2
2556
2698
  */
@@ -2582,6 +2724,10 @@ export interface ResourceKVAPI_Delete_Request {
2582
2724
  * @generated from protobuf field: uint64 resource_id = 1
2583
2725
  */
2584
2726
  resourceId: bigint;
2727
+ /**
2728
+ * @generated from protobuf field: optional bytes resource_signature = 3
2729
+ */
2730
+ resourceSignature?: Uint8Array;
2585
2731
  /**
2586
2732
  * @generated from protobuf field: string key = 2
2587
2733
  */
@@ -2605,6 +2751,10 @@ export interface ResourceKVAPI_SetFlag_Request {
2605
2751
  * @generated from protobuf field: uint64 resource_id = 1
2606
2752
  */
2607
2753
  resourceId: bigint;
2754
+ /**
2755
+ * @generated from protobuf field: optional bytes resource_signature = 4
2756
+ */
2757
+ resourceSignature?: Uint8Array;
2608
2758
  /**
2609
2759
  * @generated from protobuf field: string key = 2
2610
2760
  */
@@ -2632,6 +2782,10 @@ export interface ResourceKVAPI_GetFlag_Request {
2632
2782
  * @generated from protobuf field: uint64 resource_id = 1
2633
2783
  */
2634
2784
  resourceId: bigint;
2785
+ /**
2786
+ * @generated from protobuf field: optional bytes resource_signature = 3
2787
+ */
2788
+ resourceSignature?: Uint8Array;
2635
2789
  /**
2636
2790
  * @generated from protobuf field: string key = 2
2637
2791
  */
@@ -2850,24 +3004,85 @@ export interface CacheAPI_SetToField_Request {
2850
3004
  export interface CacheAPI_SetToField_Response {
2851
3005
  }
2852
3006
  /**
2853
- * @generated from protobuf message MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords
3007
+ * @generated from protobuf message MiLaboratories.PL.API.LocksAPI
2854
3008
  */
2855
- export interface CacheAPI_DeleteExpiredRecords {
3009
+ export interface LocksAPI {
2856
3010
  }
2857
3011
  /**
2858
- * @generated from protobuf message MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Request
3012
+ * @generated from protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues
2859
3013
  */
2860
- export interface CacheAPI_DeleteExpiredRecords_Request {
3014
+ export interface LocksAPI_LockFieldValues {
2861
3015
  }
2862
3016
  /**
2863
- * @generated from protobuf message MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Response
3017
+ * @generated from protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create
2864
3018
  */
2865
- export interface CacheAPI_DeleteExpiredRecords_Response {
3019
+ export interface LocksAPI_LockFieldValues_Create {
2866
3020
  }
2867
3021
  /**
2868
- * @generated from protobuf message MiLaboratories.PL.API.LocksAPI
3022
+ * @generated from protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Request
2869
3023
  */
2870
- export interface LocksAPI {
3024
+ export interface LocksAPI_LockFieldValues_Create_Request {
3025
+ /**
3026
+ * @generated from protobuf field: uint64 resource_id = 1
3027
+ */
3028
+ resourceId: bigint; // resource ID that will own the lock
3029
+ /**
3030
+ * @generated from protobuf field: repeated string lock_references_of = 2
3031
+ */
3032
+ lockReferencesOf: string[]; // list of fields whose values should be locked
3033
+ /**
3034
+ * @generated from protobuf field: string comment = 3
3035
+ */
3036
+ comment: string; // comment to show for other lockers on lock conflict. Truncated to 1024 bytes.
3037
+ }
3038
+ /**
3039
+ * @generated from protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response
3040
+ */
3041
+ export interface LocksAPI_LockFieldValues_Create_Response {
3042
+ /**
3043
+ * true when lock was acquired (new, or already owned by the owner)
3044
+ * Client MUST pay attention to this flag, as it shows if lock was successful.
3045
+ *
3046
+ * @generated from protobuf field: bool acquired = 1
3047
+ */
3048
+ acquired: boolean;
3049
+ /**
3050
+ * Info about why lock was not acquired.
3051
+ * Limited number of conflicts is reported: i.e. if lock operation failed for 20 fields, only first 10 are listed here.
3052
+ * The number '10' is not a fixed contract for external clients. It is just 'somehow truncated'.
3053
+ *
3054
+ * @generated from protobuf field: repeated MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response.LockInfo conflicting_locks = 2
3055
+ */
3056
+ conflictingLocks: LocksAPI_LockFieldValues_Create_Response_LockInfo[];
3057
+ /**
3058
+ * @generated from protobuf field: bool conflicts_list_truncated = 3
3059
+ */
3060
+ conflictsListTruncated: boolean; // true if there were more conflicts than reported
3061
+ }
3062
+ /**
3063
+ * @generated from protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response.LockInfo
3064
+ */
3065
+ export interface LocksAPI_LockFieldValues_Create_Response_LockInfo {
3066
+ /**
3067
+ * @generated from protobuf field: uint64 target_id = 1
3068
+ */
3069
+ targetId: bigint; // ID of resource that failed to be locked
3070
+ /**
3071
+ * @generated from protobuf field: string field_name = 2
3072
+ */
3073
+ fieldName: string; // what field was referencing this <target_id>
3074
+ /**
3075
+ * @generated from protobuf field: uint64 locked_by = 3
3076
+ */
3077
+ lockedBy: bigint; // Who is owning the lock for <target_id>
3078
+ /**
3079
+ * @generated from protobuf field: google.protobuf.Timestamp locked_at = 4
3080
+ */
3081
+ lockedAt?: Timestamp; // when the lock was obtained
3082
+ /**
3083
+ * @generated from protobuf field: string comment = 5
3084
+ */
3085
+ comment: string; // comment from the locker holding the lock
2871
3086
  }
2872
3087
  /**
2873
3088
  * @generated from protobuf message MiLaboratories.PL.API.LocksAPI.Lease
@@ -2887,6 +3102,10 @@ export interface LocksAPI_Lease_Create_Request {
2887
3102
  * @generated from protobuf field: uint64 resource_id = 1
2888
3103
  */
2889
3104
  resourceId: bigint;
3105
+ /**
3106
+ * @generated from protobuf field: optional bytes resource_signature = 5
3107
+ */
3108
+ resourceSignature?: Uint8Array;
2890
3109
  /**
2891
3110
  * @generated from protobuf field: google.protobuf.Duration timeout = 3
2892
3111
  */
@@ -2918,6 +3137,10 @@ export interface LocksAPI_Lease_Update_Request {
2918
3137
  * @generated from protobuf field: uint64 resource_id = 1
2919
3138
  */
2920
3139
  resourceId: bigint;
3140
+ /**
3141
+ * @generated from protobuf field: optional bytes resource_signature = 5
3142
+ */
3143
+ resourceSignature?: Uint8Array;
2921
3144
  /**
2922
3145
  * @generated from protobuf field: bytes lease_id = 2
2923
3146
  */
@@ -2949,6 +3172,10 @@ export interface LocksAPI_Lease_Release_Request {
2949
3172
  * @generated from protobuf field: uint64 resource_id = 1
2950
3173
  */
2951
3174
  resourceId: bigint;
3175
+ /**
3176
+ * @generated from protobuf field: optional bytes resource_signature = 3
3177
+ */
3178
+ resourceSignature?: Uint8Array;
2952
3179
  /**
2953
3180
  * @generated from protobuf field: bytes lease_id = 2
2954
3181
  */
@@ -3015,6 +3242,10 @@ export interface AuthAPI_GetJWTToken_Request {
3015
3242
  * @generated from protobuf field: google.protobuf.Duration expiration = 1
3016
3243
  */
3017
3244
  expiration?: Duration;
3245
+ /**
3246
+ * @generated from protobuf field: optional MiLaboratories.PL.API.AuthAPI.GetJWTToken.Role requested_role = 2
3247
+ */
3248
+ requestedRole?: AuthAPI_GetJWTToken_Role;
3018
3249
  }
3019
3250
  /**
3020
3251
  * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.GetJWTToken.Response
@@ -3024,135 +3255,388 @@ export interface AuthAPI_GetJWTToken_Response {
3024
3255
  * @generated from protobuf field: string token = 1
3025
3256
  */
3026
3257
  token: string;
3258
+ /**
3259
+ * @generated from protobuf field: bytes session_id = 2
3260
+ */
3261
+ sessionId: Uint8Array;
3027
3262
  }
3028
3263
  /**
3029
- * @generated from protobuf message MiLaboratories.PL.API.MiscAPI
3264
+ * @generated from protobuf enum MiLaboratories.PL.API.AuthAPI.GetJWTToken.Role
3030
3265
  */
3031
- export interface MiscAPI {
3266
+ export enum AuthAPI_GetJWTToken_Role {
3267
+ /**
3268
+ * issue JWT with caller's natural role
3269
+ *
3270
+ * @generated from protobuf enum value: ROLE_UNSPECIFIED = 0;
3271
+ */
3272
+ ROLE_UNSPECIFIED = 0,
3273
+ /**
3274
+ * @generated from protobuf enum value: USER = 1;
3275
+ */
3276
+ USER = 1,
3277
+ /**
3278
+ * @generated from protobuf enum value: CONTROLLER = 2;
3279
+ */
3280
+ CONTROLLER = 2,
3281
+ /**
3282
+ * @generated from protobuf enum value: WORKFLOW = 3;
3283
+ */
3284
+ WORKFLOW = 3
3032
3285
  }
3033
3286
  /**
3034
- * @generated from protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes
3287
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.GrantAccess
3035
3288
  */
3036
- export interface MiscAPI_ListResourceTypes {
3289
+ export interface AuthAPI_GrantAccess {
3037
3290
  }
3038
3291
  /**
3039
- * @generated from protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Request
3292
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.GrantAccess.Request
3040
3293
  */
3041
- export interface MiscAPI_ListResourceTypes_Request {
3294
+ export interface AuthAPI_GrantAccess_Request {
3295
+ /**
3296
+ * @generated from protobuf field: uint64 resource_id = 1
3297
+ */
3298
+ resourceId: bigint;
3299
+ /**
3300
+ * @generated from protobuf field: optional bytes resource_signature = 2
3301
+ */
3302
+ resourceSignature?: Uint8Array;
3303
+ /**
3304
+ * @generated from protobuf field: string target_user = 3
3305
+ */
3306
+ targetUser: string; // user login to grant access to
3307
+ /**
3308
+ * @generated from protobuf field: MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions = 4
3309
+ */
3310
+ permissions?: AuthAPI_Grant_Permissions; // access level to grant
3042
3311
  }
3043
3312
  /**
3044
- * @generated from protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Response
3313
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.GrantAccess.Response
3045
3314
  */
3046
- export interface MiscAPI_ListResourceTypes_Response {
3047
- /**
3048
- * @generated from protobuf field: repeated MiLaboratories.PL.Base.ResourceType types = 1
3049
- */
3050
- types: ResourceType[];
3315
+ export interface AuthAPI_GrantAccess_Response {
3051
3316
  }
3052
3317
  /**
3053
- * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI
3318
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.RevokeGrant
3054
3319
  */
3055
- export interface MaintenanceAPI {
3320
+ export interface AuthAPI_RevokeGrant {
3056
3321
  }
3057
3322
  /**
3058
- * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping
3323
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.RevokeGrant.Request
3059
3324
  */
3060
- export interface MaintenanceAPI_Ping {
3325
+ export interface AuthAPI_RevokeGrant_Request {
3326
+ /**
3327
+ * @generated from protobuf field: uint64 resource_id = 1
3328
+ */
3329
+ resourceId: bigint;
3330
+ /**
3331
+ * @generated from protobuf field: optional bytes resource_signature = 2
3332
+ */
3333
+ resourceSignature?: Uint8Array;
3334
+ /**
3335
+ * @generated from protobuf field: string target_user = 3
3336
+ */
3337
+ targetUser: string; // user login whose grant to revoke
3061
3338
  }
3062
3339
  /**
3063
- * Early connection check
3064
- *
3065
- * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping.Request
3340
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.RevokeGrant.Response
3066
3341
  */
3067
- export interface MaintenanceAPI_Ping_Request {
3342
+ export interface AuthAPI_RevokeGrant_Response {
3068
3343
  }
3069
3344
  /**
3070
- * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping.Response
3345
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListGrants
3071
3346
  */
3072
- export interface MaintenanceAPI_Ping_Response {
3347
+ export interface AuthAPI_ListGrants {
3348
+ }
3349
+ /**
3350
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListGrants.Request
3351
+ */
3352
+ export interface AuthAPI_ListGrants_Request {
3073
3353
  /**
3074
- * @generated from protobuf field: string core_version = 1
3354
+ * @generated from protobuf field: uint64 resource_id = 1
3075
3355
  */
3076
- coreVersion: string;
3356
+ resourceId: bigint;
3077
3357
  /**
3078
- * @generated from protobuf field: string core_full_version = 2
3358
+ * @generated from protobuf field: optional bytes resource_signature = 2
3079
3359
  */
3080
- coreFullVersion: string;
3360
+ resourceSignature?: Uint8Array;
3361
+ }
3362
+ /**
3363
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListGrants.Response
3364
+ */
3365
+ export interface AuthAPI_ListGrants_Response {
3081
3366
  /**
3082
- * @generated from protobuf field: string server_info = 3
3367
+ * @generated from protobuf field: MiLaboratories.PL.API.AuthAPI.Grant grant = 1
3083
3368
  */
3084
- serverInfo: string;
3369
+ grant?: AuthAPI_Grant; // one per stream message
3370
+ }
3371
+ /**
3372
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.Grant
3373
+ */
3374
+ export interface AuthAPI_Grant {
3085
3375
  /**
3086
- * @generated from protobuf field: MiLaboratories.PL.API.MaintenanceAPI.Ping.Response.Compression compression = 4
3376
+ * @generated from protobuf field: string user = 1
3087
3377
  */
3088
- compression: MaintenanceAPI_Ping_Response_Compression;
3378
+ user: string;
3089
3379
  /**
3090
- * instanceID is a unique ID that changes when we reset DB state.
3091
- * If we reset a state and a database, but the address of the backend is still the same,
3092
- * without instanceID we are not sure if it's the same state or not,
3093
- * and UI can't detect it and clear its state (e.g. caches of drivers).
3094
- *
3095
- * @generated from protobuf field: string instance_id = 5
3380
+ * @generated from protobuf field: uint64 resource_id = 2
3096
3381
  */
3097
- instanceId: string;
3382
+ resourceId: bigint;
3098
3383
  /**
3099
- * @generated from protobuf field: string platform = 6
3384
+ * @generated from protobuf field: MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions = 3
3100
3385
  */
3101
- platform: string; // <os>-<arch>
3386
+ permissions?: AuthAPI_Grant_Permissions; // access level from grant table
3102
3387
  /**
3103
- * @generated from protobuf field: string os = 7
3388
+ * @generated from protobuf field: string granted_by = 4
3104
3389
  */
3105
- os: string; // linux / windows / macosx
3390
+ grantedBy: string; // login of the user who created this grant
3106
3391
  /**
3107
- * @generated from protobuf field: string arch = 8
3392
+ * @generated from protobuf field: int64 granted_at = 5
3108
3393
  */
3109
- arch: string; // x64 / aarch64
3394
+ grantedAt: bigint; // unix timestamp in milliseconds
3110
3395
  }
3111
3396
  /**
3112
- * @generated from protobuf enum MiLaboratories.PL.API.MaintenanceAPI.Ping.Response.Compression
3397
+ * Permissions describes access level for a grant.
3398
+ *
3399
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.Grant.Permissions
3113
3400
  */
3114
- export enum MaintenanceAPI_Ping_Response_Compression {
3115
- /**
3116
- * @generated from protobuf enum value: NONE = 0;
3117
- */
3118
- NONE = 0,
3401
+ export interface AuthAPI_Grant_Permissions {
3119
3402
  /**
3120
- * @generated from protobuf enum value: GZIP = 1;
3403
+ * @generated from protobuf field: bool writable = 1
3121
3404
  */
3122
- GZIP = 1
3405
+ writable: boolean; // write access = ability to modify resource tree + share access
3123
3406
  }
3124
3407
  /**
3125
- * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.License
3408
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources
3126
3409
  */
3127
- export interface MaintenanceAPI_License {
3410
+ export interface AuthAPI_ListUserResources {
3128
3411
  }
3129
3412
  /**
3130
- * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.License.Request
3413
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources.Request
3131
3414
  */
3132
- export interface MaintenanceAPI_License_Request {
3415
+ export interface AuthAPI_ListUserResources_Request {
3416
+ /**
3417
+ * User login to list resources for.
3418
+ * Is ignored for regular user role: it can list only its own resources.
3419
+ *
3420
+ * @generated from protobuf field: string login = 1
3421
+ */
3422
+ login: string;
3423
+ /**
3424
+ * Start listing shared resources from given resource ID.
3425
+ * User root is returned only on the first page (when start_from == 0).
3426
+ *
3427
+ * @generated from protobuf field: uint64 start_from = 2
3428
+ */
3429
+ startFrom: bigint;
3430
+ /**
3431
+ * Non-zero value limits total resource count to at most <limit>.
3432
+ * limit = 1 with start_from = 0 returns solely user's root
3433
+ * limit = 2 with non-zero start_from returns 2 shared resources.
3434
+ * Zero returns all resources.
3435
+ *
3436
+ * @generated from protobuf field: uint32 limit = 3
3437
+ */
3438
+ limit: number;
3133
3439
  }
3134
3440
  /**
3135
- * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.License.Response
3441
+ * Multi-message: first message contains UserRoot (only when start_from == 0),
3442
+ *
3443
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources.Response
3136
3444
  */
3137
- export interface MaintenanceAPI_License_Response {
3138
- /**
3139
- * @generated from protobuf field: int32 status = 1
3140
- */
3141
- status: number; // HTTP status code of the last valid response from license server.
3445
+ export interface AuthAPI_ListUserResources_Response {
3142
3446
  /**
3143
- * @generated from protobuf field: bool is_ok = 2
3447
+ * @generated from protobuf oneof: entry
3144
3448
  */
3145
- isOk: boolean; // true if status is 200
3449
+ entry: {
3450
+ oneofKind: "userRoot";
3451
+ /**
3452
+ * @generated from protobuf field: MiLaboratories.PL.API.AuthAPI.ListUserResources.UserRoot user_root = 1
3453
+ */
3454
+ userRoot: AuthAPI_ListUserResources_UserRoot;
3455
+ } | {
3456
+ oneofKind: "sharedResource";
3457
+ /**
3458
+ * @generated from protobuf field: MiLaboratories.PL.API.AuthAPI.ListUserResources.SharedResource shared_resource = 2
3459
+ */
3460
+ sharedResource: AuthAPI_ListUserResources_SharedResource;
3461
+ } | {
3462
+ oneofKind: undefined;
3463
+ };
3146
3464
  /**
3147
- * Raw response body as it was received from the license server.
3465
+ * Set only on the last message when limit > 0 and more items exist.
3466
+ * Use as 'start_from' in the next request to continue listing.
3148
3467
  *
3149
- * @generated from protobuf field: bytes response_body = 3
3468
+ * @generated from protobuf field: uint64 next_resource_id = 3
3150
3469
  */
3151
- responseBody: Uint8Array;
3470
+ nextResourceId: bigint;
3152
3471
  }
3153
- // @generated message type with reflection information, may provide speed optimized methods
3154
- class TxAPI$Type extends MessageType<TxAPI> {
3155
- constructor() {
3472
+ /**
3473
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources.UserRoot
3474
+ */
3475
+ export interface AuthAPI_ListUserResources_UserRoot {
3476
+ /**
3477
+ * @generated from protobuf field: uint64 resource_id = 1
3478
+ */
3479
+ resourceId: bigint;
3480
+ /**
3481
+ * @generated from protobuf field: optional bytes resource_signature = 2
3482
+ */
3483
+ resourceSignature?: Uint8Array;
3484
+ }
3485
+ /**
3486
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources.SharedResource
3487
+ */
3488
+ export interface AuthAPI_ListUserResources_SharedResource {
3489
+ /**
3490
+ * @generated from protobuf field: uint64 resource_id = 1
3491
+ */
3492
+ resourceId: bigint;
3493
+ /**
3494
+ * @generated from protobuf field: optional bytes resource_signature = 2
3495
+ */
3496
+ resourceSignature?: Uint8Array;
3497
+ /**
3498
+ * @generated from protobuf field: MiLaboratories.PL.Base.ResourceType resource_type = 3
3499
+ */
3500
+ resourceType?: ResourceType;
3501
+ /**
3502
+ * @generated from protobuf field: MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions = 4
3503
+ */
3504
+ permissions?: AuthAPI_Grant_Permissions;
3505
+ }
3506
+ /**
3507
+ * @generated from protobuf message MiLaboratories.PL.API.MiscAPI
3508
+ */
3509
+ export interface MiscAPI {
3510
+ }
3511
+ /**
3512
+ * @generated from protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes
3513
+ */
3514
+ export interface MiscAPI_ListResourceTypes {
3515
+ }
3516
+ /**
3517
+ * @generated from protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Request
3518
+ */
3519
+ export interface MiscAPI_ListResourceTypes_Request {
3520
+ }
3521
+ /**
3522
+ * @generated from protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Response
3523
+ */
3524
+ export interface MiscAPI_ListResourceTypes_Response {
3525
+ /**
3526
+ * @generated from protobuf field: repeated MiLaboratories.PL.Base.ResourceType types = 1
3527
+ */
3528
+ types: ResourceType[];
3529
+ }
3530
+ /**
3531
+ * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI
3532
+ */
3533
+ export interface MaintenanceAPI {
3534
+ }
3535
+ /**
3536
+ * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping
3537
+ */
3538
+ export interface MaintenanceAPI_Ping {
3539
+ }
3540
+ /**
3541
+ * Early connection check
3542
+ *
3543
+ * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping.Request
3544
+ */
3545
+ export interface MaintenanceAPI_Ping_Request {
3546
+ }
3547
+ /**
3548
+ * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping.Response
3549
+ */
3550
+ export interface MaintenanceAPI_Ping_Response {
3551
+ /**
3552
+ * @generated from protobuf field: string core_version = 1
3553
+ */
3554
+ coreVersion: string;
3555
+ /**
3556
+ * @generated from protobuf field: string core_full_version = 2
3557
+ */
3558
+ coreFullVersion: string;
3559
+ /**
3560
+ * @generated from protobuf field: MiLaboratories.PL.API.MaintenanceAPI.Ping.Response.Compression compression = 4
3561
+ */
3562
+ compression: MaintenanceAPI_Ping_Response_Compression;
3563
+ /**
3564
+ * instanceID is a unique ID that changes when we reset DB state.
3565
+ * If we reset a state and a database, but the address of the backend is still the same,
3566
+ * without instanceID we are not sure if it's the same state or not,
3567
+ * and UI can't detect it and clear its state (e.g. caches of drivers).
3568
+ *
3569
+ * @generated from protobuf field: string instance_id = 5
3570
+ */
3571
+ instanceId: string;
3572
+ /**
3573
+ * @generated from protobuf field: string platform = 6
3574
+ */
3575
+ platform: string; // <os>-<arch>
3576
+ /**
3577
+ * @generated from protobuf field: string os = 7
3578
+ */
3579
+ os: string; // linux / windows / macosx
3580
+ /**
3581
+ * @generated from protobuf field: string arch = 8
3582
+ */
3583
+ arch: string; // x64 / aarch64
3584
+ }
3585
+ /**
3586
+ * @generated from protobuf enum MiLaboratories.PL.API.MaintenanceAPI.Ping.Response.Compression
3587
+ */
3588
+ export enum MaintenanceAPI_Ping_Response_Compression {
3589
+ /**
3590
+ * @generated from protobuf enum value: NONE = 0;
3591
+ */
3592
+ NONE = 0,
3593
+ /**
3594
+ * @generated from protobuf enum value: GZIP = 1;
3595
+ */
3596
+ GZIP = 1
3597
+ }
3598
+ /**
3599
+ * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.License
3600
+ */
3601
+ export interface MaintenanceAPI_License {
3602
+ }
3603
+ /**
3604
+ * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.License.Request
3605
+ */
3606
+ export interface MaintenanceAPI_License_Request {
3607
+ }
3608
+ /**
3609
+ * @generated from protobuf message MiLaboratories.PL.API.MaintenanceAPI.License.Response
3610
+ */
3611
+ export interface MaintenanceAPI_License_Response {
3612
+ /**
3613
+ * @generated from protobuf field: int32 status = 1
3614
+ */
3615
+ status: number; // HTTP status code of the last valid response from license server.
3616
+ /**
3617
+ * @generated from protobuf field: bool is_ok = 2
3618
+ */
3619
+ isOk: boolean; // true if status is 200
3620
+ /**
3621
+ * Raw response body as it was received from the license server.
3622
+ *
3623
+ * @generated from protobuf field: bytes response_body = 3
3624
+ */
3625
+ responseBody: Uint8Array;
3626
+ }
3627
+ /**
3628
+ * @generated from protobuf message MiLaboratories.PL.API.Util
3629
+ */
3630
+ export interface Util {
3631
+ }
3632
+ /**
3633
+ * @generated from protobuf message MiLaboratories.PL.API.Util.Deprecated
3634
+ */
3635
+ export interface Util_Deprecated {
3636
+ }
3637
+ // @generated message type with reflection information, may provide speed optimized methods
3638
+ class TxAPI$Type extends MessageType<TxAPI> {
3639
+ constructor() {
3156
3640
  super("MiLaboratories.PL.API.TxAPI", []);
3157
3641
  }
3158
3642
  create(value?: PartialMessage<TxAPI>): TxAPI {
@@ -3248,9 +3732,10 @@ class TxAPI_ClientMessage$Type extends MessageType<TxAPI_ClientMessage> {
3248
3732
  { no: 254, name: "controller_key_value_get_flag", kind: "message", oneof: "request", T: () => ControllerKVAPI_GetFlag_Request },
3249
3733
  { no: 255, name: "controller_key_value_get_flag_if_exists", kind: "message", oneof: "request", T: () => ControllerKVAPI_GetFlagIfExists_Request },
3250
3734
  { no: 300, name: "cache_set_to_field", kind: "message", oneof: "request", T: () => CacheAPI_SetToField_Request },
3251
- { no: 301, name: "cache_delete_expired_records", kind: "message", oneof: "request", T: () => CacheAPI_DeleteExpiredRecords_Request },
3735
+ { no: 301, name: "cache_delete_expired_records", kind: "message", oneof: "request", T: () => Util_Deprecated },
3252
3736
  { no: 350, name: "controller_features_set", kind: "message", oneof: "request", T: () => ControllerAPI_SetFeatures_Request },
3253
- { no: 351, name: "controller_features_clear", kind: "message", oneof: "request", T: () => ControllerAPI_ClearFeatures_Request }
3737
+ { no: 351, name: "controller_features_clear", kind: "message", oneof: "request", T: () => ControllerAPI_ClearFeatures_Request },
3738
+ { no: 400, name: "set_default_color", kind: "message", oneof: "request", T: () => TxAPI_SetDefaultColor_Request }
3254
3739
  ]);
3255
3740
  }
3256
3741
  create(value?: PartialMessage<TxAPI_ClientMessage>): TxAPI_ClientMessage {
@@ -3599,10 +4084,10 @@ class TxAPI_ClientMessage$Type extends MessageType<TxAPI_ClientMessage> {
3599
4084
  cacheSetToField: CacheAPI_SetToField_Request.internalBinaryRead(reader, reader.uint32(), options, (message.request as any).cacheSetToField)
3600
4085
  };
3601
4086
  break;
3602
- case /* MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Request cache_delete_expired_records */ 301:
4087
+ case /* MiLaboratories.PL.API.Util.Deprecated cache_delete_expired_records = 301 [deprecated = true] */ 301:
3603
4088
  message.request = {
3604
4089
  oneofKind: "cacheDeleteExpiredRecords",
3605
- cacheDeleteExpiredRecords: CacheAPI_DeleteExpiredRecords_Request.internalBinaryRead(reader, reader.uint32(), options, (message.request as any).cacheDeleteExpiredRecords)
4090
+ cacheDeleteExpiredRecords: Util_Deprecated.internalBinaryRead(reader, reader.uint32(), options, (message.request as any).cacheDeleteExpiredRecords)
3606
4091
  };
3607
4092
  break;
3608
4093
  case /* MiLaboratories.PL.API.ControllerAPI.SetFeatures.Request controller_features_set */ 350:
@@ -3617,6 +4102,12 @@ class TxAPI_ClientMessage$Type extends MessageType<TxAPI_ClientMessage> {
3617
4102
  controllerFeaturesClear: ControllerAPI_ClearFeatures_Request.internalBinaryRead(reader, reader.uint32(), options, (message.request as any).controllerFeaturesClear)
3618
4103
  };
3619
4104
  break;
4105
+ case /* MiLaboratories.PL.API.TxAPI.SetDefaultColor.Request set_default_color */ 400:
4106
+ message.request = {
4107
+ oneofKind: "setDefaultColor",
4108
+ setDefaultColor: TxAPI_SetDefaultColor_Request.internalBinaryRead(reader, reader.uint32(), options, (message.request as any).setDefaultColor)
4109
+ };
4110
+ break;
3620
4111
  default:
3621
4112
  let u = options.readUnknownField;
3622
4113
  if (u === "throw")
@@ -3797,15 +4288,18 @@ class TxAPI_ClientMessage$Type extends MessageType<TxAPI_ClientMessage> {
3797
4288
  /* MiLaboratories.PL.API.CacheAPI.SetToField.Request cache_set_to_field = 300; */
3798
4289
  if (message.request.oneofKind === "cacheSetToField")
3799
4290
  CacheAPI_SetToField_Request.internalBinaryWrite(message.request.cacheSetToField, writer.tag(300, WireType.LengthDelimited).fork(), options).join();
3800
- /* MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Request cache_delete_expired_records = 301; */
4291
+ /* MiLaboratories.PL.API.Util.Deprecated cache_delete_expired_records = 301 [deprecated = true]; */
3801
4292
  if (message.request.oneofKind === "cacheDeleteExpiredRecords")
3802
- CacheAPI_DeleteExpiredRecords_Request.internalBinaryWrite(message.request.cacheDeleteExpiredRecords, writer.tag(301, WireType.LengthDelimited).fork(), options).join();
4293
+ Util_Deprecated.internalBinaryWrite(message.request.cacheDeleteExpiredRecords, writer.tag(301, WireType.LengthDelimited).fork(), options).join();
3803
4294
  /* MiLaboratories.PL.API.ControllerAPI.SetFeatures.Request controller_features_set = 350; */
3804
4295
  if (message.request.oneofKind === "controllerFeaturesSet")
3805
4296
  ControllerAPI_SetFeatures_Request.internalBinaryWrite(message.request.controllerFeaturesSet, writer.tag(350, WireType.LengthDelimited).fork(), options).join();
3806
4297
  /* MiLaboratories.PL.API.ControllerAPI.ClearFeatures.Request controller_features_clear = 351; */
3807
4298
  if (message.request.oneofKind === "controllerFeaturesClear")
3808
4299
  ControllerAPI_ClearFeatures_Request.internalBinaryWrite(message.request.controllerFeaturesClear, writer.tag(351, WireType.LengthDelimited).fork(), options).join();
4300
+ /* MiLaboratories.PL.API.TxAPI.SetDefaultColor.Request set_default_color = 400; */
4301
+ if (message.request.oneofKind === "setDefaultColor")
4302
+ TxAPI_SetDefaultColor_Request.internalBinaryWrite(message.request.setDefaultColor, writer.tag(400, WireType.LengthDelimited).fork(), options).join();
3809
4303
  let u = options.writeUnknownFields;
3810
4304
  if (u !== false)
3811
4305
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -3877,9 +4371,10 @@ class TxAPI_ServerMessage$Type extends MessageType<TxAPI_ServerMessage> {
3877
4371
  { no: 254, name: "controller_key_value_get_flag", kind: "message", oneof: "response", T: () => ControllerKVAPI_GetFlag_Response },
3878
4372
  { no: 255, name: "controller_key_value_get_flag_if_exists", kind: "message", oneof: "response", T: () => ControllerKVAPI_GetFlagIfExists_Response },
3879
4373
  { no: 300, name: "cache_set_to_field", kind: "message", oneof: "response", T: () => CacheAPI_SetToField_Response },
3880
- { no: 301, name: "cache_delete_expired_records", kind: "message", oneof: "response", T: () => CacheAPI_DeleteExpiredRecords_Response },
4374
+ { no: 301, name: "cache_delete_expired_records", kind: "message", oneof: "response", T: () => Util_Deprecated },
3881
4375
  { no: 350, name: "controller_features_set", kind: "message", oneof: "response", T: () => ControllerAPI_SetFeatures_Response },
3882
4376
  { no: 351, name: "controller_features_clear", kind: "message", oneof: "response", T: () => ControllerAPI_ClearFeatures_Response },
4377
+ { no: 400, name: "set_default_color", kind: "message", oneof: "response", T: () => TxAPI_SetDefaultColor_Response },
3883
4378
  { no: 3, name: "error", kind: "message", T: () => Status }
3884
4379
  ]);
3885
4380
  }
@@ -4232,10 +4727,10 @@ class TxAPI_ServerMessage$Type extends MessageType<TxAPI_ServerMessage> {
4232
4727
  cacheSetToField: CacheAPI_SetToField_Response.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).cacheSetToField)
4233
4728
  };
4234
4729
  break;
4235
- case /* MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Response cache_delete_expired_records */ 301:
4730
+ case /* MiLaboratories.PL.API.Util.Deprecated cache_delete_expired_records = 301 [deprecated = true] */ 301:
4236
4731
  message.response = {
4237
4732
  oneofKind: "cacheDeleteExpiredRecords",
4238
- cacheDeleteExpiredRecords: CacheAPI_DeleteExpiredRecords_Response.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).cacheDeleteExpiredRecords)
4733
+ cacheDeleteExpiredRecords: Util_Deprecated.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).cacheDeleteExpiredRecords)
4239
4734
  };
4240
4735
  break;
4241
4736
  case /* MiLaboratories.PL.API.ControllerAPI.SetFeatures.Response controller_features_set */ 350:
@@ -4250,6 +4745,12 @@ class TxAPI_ServerMessage$Type extends MessageType<TxAPI_ServerMessage> {
4250
4745
  controllerFeaturesClear: ControllerAPI_ClearFeatures_Response.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).controllerFeaturesClear)
4251
4746
  };
4252
4747
  break;
4748
+ case /* MiLaboratories.PL.API.TxAPI.SetDefaultColor.Response set_default_color */ 400:
4749
+ message.response = {
4750
+ oneofKind: "setDefaultColor",
4751
+ setDefaultColor: TxAPI_SetDefaultColor_Response.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).setDefaultColor)
4752
+ };
4753
+ break;
4253
4754
  case /* google.rpc.Status error */ 3:
4254
4755
  message.error = Status.internalBinaryRead(reader, reader.uint32(), options, message.error);
4255
4756
  break;
@@ -4439,15 +4940,18 @@ class TxAPI_ServerMessage$Type extends MessageType<TxAPI_ServerMessage> {
4439
4940
  /* MiLaboratories.PL.API.CacheAPI.SetToField.Response cache_set_to_field = 300; */
4440
4941
  if (message.response.oneofKind === "cacheSetToField")
4441
4942
  CacheAPI_SetToField_Response.internalBinaryWrite(message.response.cacheSetToField, writer.tag(300, WireType.LengthDelimited).fork(), options).join();
4442
- /* MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Response cache_delete_expired_records = 301; */
4943
+ /* MiLaboratories.PL.API.Util.Deprecated cache_delete_expired_records = 301 [deprecated = true]; */
4443
4944
  if (message.response.oneofKind === "cacheDeleteExpiredRecords")
4444
- CacheAPI_DeleteExpiredRecords_Response.internalBinaryWrite(message.response.cacheDeleteExpiredRecords, writer.tag(301, WireType.LengthDelimited).fork(), options).join();
4945
+ Util_Deprecated.internalBinaryWrite(message.response.cacheDeleteExpiredRecords, writer.tag(301, WireType.LengthDelimited).fork(), options).join();
4445
4946
  /* MiLaboratories.PL.API.ControllerAPI.SetFeatures.Response controller_features_set = 350; */
4446
4947
  if (message.response.oneofKind === "controllerFeaturesSet")
4447
4948
  ControllerAPI_SetFeatures_Response.internalBinaryWrite(message.response.controllerFeaturesSet, writer.tag(350, WireType.LengthDelimited).fork(), options).join();
4448
4949
  /* MiLaboratories.PL.API.ControllerAPI.ClearFeatures.Response controller_features_clear = 351; */
4449
4950
  if (message.response.oneofKind === "controllerFeaturesClear")
4450
4951
  ControllerAPI_ClearFeatures_Response.internalBinaryWrite(message.response.controllerFeaturesClear, writer.tag(351, WireType.LengthDelimited).fork(), options).join();
4952
+ /* MiLaboratories.PL.API.TxAPI.SetDefaultColor.Response set_default_color = 400; */
4953
+ if (message.response.oneofKind === "setDefaultColor")
4954
+ TxAPI_SetDefaultColor_Response.internalBinaryWrite(message.response.setDefaultColor, writer.tag(400, WireType.LengthDelimited).fork(), options).join();
4451
4955
  let u = options.writeUnknownFields;
4452
4956
  if (u !== false)
4453
4957
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -5143,6 +5647,128 @@ class TxAPI_Sync_Response$Type extends MessageType<TxAPI_Sync_Response> {
5143
5647
  */
5144
5648
  export const TxAPI_Sync_Response = new TxAPI_Sync_Response$Type();
5145
5649
  // @generated message type with reflection information, may provide speed optimized methods
5650
+ class TxAPI_SetDefaultColor$Type extends MessageType<TxAPI_SetDefaultColor> {
5651
+ constructor() {
5652
+ super("MiLaboratories.PL.API.TxAPI.SetDefaultColor", []);
5653
+ }
5654
+ create(value?: PartialMessage<TxAPI_SetDefaultColor>): TxAPI_SetDefaultColor {
5655
+ const message = globalThis.Object.create((this.messagePrototype!));
5656
+ if (value !== undefined)
5657
+ reflectionMergePartial<TxAPI_SetDefaultColor>(this, message, value);
5658
+ return message;
5659
+ }
5660
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TxAPI_SetDefaultColor): TxAPI_SetDefaultColor {
5661
+ let message = target ?? this.create(), end = reader.pos + length;
5662
+ while (reader.pos < end) {
5663
+ let [fieldNo, wireType] = reader.tag();
5664
+ switch (fieldNo) {
5665
+ default:
5666
+ let u = options.readUnknownField;
5667
+ if (u === "throw")
5668
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
5669
+ let d = reader.skip(wireType);
5670
+ if (u !== false)
5671
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
5672
+ }
5673
+ }
5674
+ return message;
5675
+ }
5676
+ internalBinaryWrite(message: TxAPI_SetDefaultColor, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
5677
+ let u = options.writeUnknownFields;
5678
+ if (u !== false)
5679
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
5680
+ return writer;
5681
+ }
5682
+ }
5683
+ /**
5684
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.TxAPI.SetDefaultColor
5685
+ */
5686
+ export const TxAPI_SetDefaultColor = new TxAPI_SetDefaultColor$Type();
5687
+ // @generated message type with reflection information, may provide speed optimized methods
5688
+ class TxAPI_SetDefaultColor_Request$Type extends MessageType<TxAPI_SetDefaultColor_Request> {
5689
+ constructor() {
5690
+ super("MiLaboratories.PL.API.TxAPI.SetDefaultColor.Request", [
5691
+ { no: 1, name: "color_proof", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5692
+ ]);
5693
+ }
5694
+ create(value?: PartialMessage<TxAPI_SetDefaultColor_Request>): TxAPI_SetDefaultColor_Request {
5695
+ const message = globalThis.Object.create((this.messagePrototype!));
5696
+ if (value !== undefined)
5697
+ reflectionMergePartial<TxAPI_SetDefaultColor_Request>(this, message, value);
5698
+ return message;
5699
+ }
5700
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TxAPI_SetDefaultColor_Request): TxAPI_SetDefaultColor_Request {
5701
+ let message = target ?? this.create(), end = reader.pos + length;
5702
+ while (reader.pos < end) {
5703
+ let [fieldNo, wireType] = reader.tag();
5704
+ switch (fieldNo) {
5705
+ case /* optional bytes color_proof */ 1:
5706
+ message.colorProof = reader.bytes();
5707
+ break;
5708
+ default:
5709
+ let u = options.readUnknownField;
5710
+ if (u === "throw")
5711
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
5712
+ let d = reader.skip(wireType);
5713
+ if (u !== false)
5714
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
5715
+ }
5716
+ }
5717
+ return message;
5718
+ }
5719
+ internalBinaryWrite(message: TxAPI_SetDefaultColor_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
5720
+ /* optional bytes color_proof = 1; */
5721
+ if (message.colorProof !== undefined)
5722
+ writer.tag(1, WireType.LengthDelimited).bytes(message.colorProof);
5723
+ let u = options.writeUnknownFields;
5724
+ if (u !== false)
5725
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
5726
+ return writer;
5727
+ }
5728
+ }
5729
+ /**
5730
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.TxAPI.SetDefaultColor.Request
5731
+ */
5732
+ export const TxAPI_SetDefaultColor_Request = new TxAPI_SetDefaultColor_Request$Type();
5733
+ // @generated message type with reflection information, may provide speed optimized methods
5734
+ class TxAPI_SetDefaultColor_Response$Type extends MessageType<TxAPI_SetDefaultColor_Response> {
5735
+ constructor() {
5736
+ super("MiLaboratories.PL.API.TxAPI.SetDefaultColor.Response", []);
5737
+ }
5738
+ create(value?: PartialMessage<TxAPI_SetDefaultColor_Response>): TxAPI_SetDefaultColor_Response {
5739
+ const message = globalThis.Object.create((this.messagePrototype!));
5740
+ if (value !== undefined)
5741
+ reflectionMergePartial<TxAPI_SetDefaultColor_Response>(this, message, value);
5742
+ return message;
5743
+ }
5744
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TxAPI_SetDefaultColor_Response): TxAPI_SetDefaultColor_Response {
5745
+ let message = target ?? this.create(), end = reader.pos + length;
5746
+ while (reader.pos < end) {
5747
+ let [fieldNo, wireType] = reader.tag();
5748
+ switch (fieldNo) {
5749
+ default:
5750
+ let u = options.readUnknownField;
5751
+ if (u === "throw")
5752
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
5753
+ let d = reader.skip(wireType);
5754
+ if (u !== false)
5755
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
5756
+ }
5757
+ }
5758
+ return message;
5759
+ }
5760
+ internalBinaryWrite(message: TxAPI_SetDefaultColor_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
5761
+ let u = options.writeUnknownFields;
5762
+ if (u !== false)
5763
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
5764
+ return writer;
5765
+ }
5766
+ }
5767
+ /**
5768
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.TxAPI.SetDefaultColor.Response
5769
+ */
5770
+ export const TxAPI_SetDefaultColor_Response = new TxAPI_SetDefaultColor_Response$Type();
5771
+ // @generated message type with reflection information, may provide speed optimized methods
5146
5772
  class ResourceAPI$Type extends MessageType<ResourceAPI> {
5147
5773
  constructor() {
5148
5774
  super("MiLaboratories.PL.API.ResourceAPI", []);
@@ -5224,12 +5850,14 @@ class ResourceAPI_CreateStruct_Request$Type extends MessageType<ResourceAPI_Crea
5224
5850
  super("MiLaboratories.PL.API.ResourceAPI.CreateStruct.Request", [
5225
5851
  { no: 2, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
5226
5852
  { no: 3, name: "type", kind: "message", T: () => ResourceType },
5227
- { no: 4, name: "data", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5853
+ { no: 4, name: "data", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
5854
+ { no: 5, name: "color_proof", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5228
5855
  ]);
5229
5856
  }
5230
5857
  create(value?: PartialMessage<ResourceAPI_CreateStruct_Request>): ResourceAPI_CreateStruct_Request {
5231
5858
  const message = globalThis.Object.create((this.messagePrototype!));
5232
5859
  message.id = 0n;
5860
+ message.colorProof = new Uint8Array(0);
5233
5861
  if (value !== undefined)
5234
5862
  reflectionMergePartial<ResourceAPI_CreateStruct_Request>(this, message, value);
5235
5863
  return message;
@@ -5248,6 +5876,9 @@ class ResourceAPI_CreateStruct_Request$Type extends MessageType<ResourceAPI_Crea
5248
5876
  case /* optional bytes data */ 4:
5249
5877
  message.data = reader.bytes();
5250
5878
  break;
5879
+ case /* optional bytes color_proof */ 5:
5880
+ message.colorProof = reader.bytes();
5881
+ break;
5251
5882
  default:
5252
5883
  let u = options.readUnknownField;
5253
5884
  if (u === "throw")
@@ -5269,6 +5900,9 @@ class ResourceAPI_CreateStruct_Request$Type extends MessageType<ResourceAPI_Crea
5269
5900
  /* optional bytes data = 4; */
5270
5901
  if (message.data !== undefined)
5271
5902
  writer.tag(4, WireType.LengthDelimited).bytes(message.data);
5903
+ /* optional bytes color_proof = 5; */
5904
+ if (message.colorProof !== undefined)
5905
+ writer.tag(5, WireType.LengthDelimited).bytes(message.colorProof);
5272
5906
  let u = options.writeUnknownFields;
5273
5907
  if (u !== false)
5274
5908
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -5283,7 +5917,8 @@ export const ResourceAPI_CreateStruct_Request = new ResourceAPI_CreateStruct_Req
5283
5917
  class ResourceAPI_CreateStruct_Response$Type extends MessageType<ResourceAPI_CreateStruct_Response> {
5284
5918
  constructor() {
5285
5919
  super("MiLaboratories.PL.API.ResourceAPI.CreateStruct.Response", [
5286
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
5920
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
5921
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5287
5922
  ]);
5288
5923
  }
5289
5924
  create(value?: PartialMessage<ResourceAPI_CreateStruct_Response>): ResourceAPI_CreateStruct_Response {
@@ -5301,6 +5936,9 @@ class ResourceAPI_CreateStruct_Response$Type extends MessageType<ResourceAPI_Cre
5301
5936
  case /* uint64 resource_id */ 1:
5302
5937
  message.resourceId = reader.uint64().toBigInt();
5303
5938
  break;
5939
+ case /* optional bytes resource_signature */ 2:
5940
+ message.resourceSignature = reader.bytes();
5941
+ break;
5304
5942
  default:
5305
5943
  let u = options.readUnknownField;
5306
5944
  if (u === "throw")
@@ -5316,6 +5954,9 @@ class ResourceAPI_CreateStruct_Response$Type extends MessageType<ResourceAPI_Cre
5316
5954
  /* uint64 resource_id = 1; */
5317
5955
  if (message.resourceId !== 0n)
5318
5956
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
5957
+ /* optional bytes resource_signature = 2; */
5958
+ if (message.resourceSignature !== undefined)
5959
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
5319
5960
  let u = options.writeUnknownFields;
5320
5961
  if (u !== false)
5321
5962
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -5370,12 +6011,14 @@ class ResourceAPI_CreateEphemeral_Request$Type extends MessageType<ResourceAPI_C
5370
6011
  super("MiLaboratories.PL.API.ResourceAPI.CreateEphemeral.Request", [
5371
6012
  { no: 2, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
5372
6013
  { no: 3, name: "type", kind: "message", T: () => ResourceType },
5373
- { no: 4, name: "data", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
6014
+ { no: 4, name: "data", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
6015
+ { no: 5, name: "color_proof", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5374
6016
  ]);
5375
6017
  }
5376
6018
  create(value?: PartialMessage<ResourceAPI_CreateEphemeral_Request>): ResourceAPI_CreateEphemeral_Request {
5377
6019
  const message = globalThis.Object.create((this.messagePrototype!));
5378
6020
  message.id = 0n;
6021
+ message.colorProof = new Uint8Array(0);
5379
6022
  if (value !== undefined)
5380
6023
  reflectionMergePartial<ResourceAPI_CreateEphemeral_Request>(this, message, value);
5381
6024
  return message;
@@ -5394,6 +6037,9 @@ class ResourceAPI_CreateEphemeral_Request$Type extends MessageType<ResourceAPI_C
5394
6037
  case /* optional bytes data */ 4:
5395
6038
  message.data = reader.bytes();
5396
6039
  break;
6040
+ case /* optional bytes color_proof */ 5:
6041
+ message.colorProof = reader.bytes();
6042
+ break;
5397
6043
  default:
5398
6044
  let u = options.readUnknownField;
5399
6045
  if (u === "throw")
@@ -5415,6 +6061,9 @@ class ResourceAPI_CreateEphemeral_Request$Type extends MessageType<ResourceAPI_C
5415
6061
  /* optional bytes data = 4; */
5416
6062
  if (message.data !== undefined)
5417
6063
  writer.tag(4, WireType.LengthDelimited).bytes(message.data);
6064
+ /* optional bytes color_proof = 5; */
6065
+ if (message.colorProof !== undefined)
6066
+ writer.tag(5, WireType.LengthDelimited).bytes(message.colorProof);
5418
6067
  let u = options.writeUnknownFields;
5419
6068
  if (u !== false)
5420
6069
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -5429,7 +6078,8 @@ export const ResourceAPI_CreateEphemeral_Request = new ResourceAPI_CreateEphemer
5429
6078
  class ResourceAPI_CreateEphemeral_Response$Type extends MessageType<ResourceAPI_CreateEphemeral_Response> {
5430
6079
  constructor() {
5431
6080
  super("MiLaboratories.PL.API.ResourceAPI.CreateEphemeral.Response", [
5432
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
6081
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
6082
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5433
6083
  ]);
5434
6084
  }
5435
6085
  create(value?: PartialMessage<ResourceAPI_CreateEphemeral_Response>): ResourceAPI_CreateEphemeral_Response {
@@ -5447,6 +6097,9 @@ class ResourceAPI_CreateEphemeral_Response$Type extends MessageType<ResourceAPI_
5447
6097
  case /* uint64 resource_id */ 1:
5448
6098
  message.resourceId = reader.uint64().toBigInt();
5449
6099
  break;
6100
+ case /* optional bytes resource_signature */ 2:
6101
+ message.resourceSignature = reader.bytes();
6102
+ break;
5450
6103
  default:
5451
6104
  let u = options.readUnknownField;
5452
6105
  if (u === "throw")
@@ -5462,6 +6115,9 @@ class ResourceAPI_CreateEphemeral_Response$Type extends MessageType<ResourceAPI_
5462
6115
  /* uint64 resource_id = 1; */
5463
6116
  if (message.resourceId !== 0n)
5464
6117
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
6118
+ /* optional bytes resource_signature = 2; */
6119
+ if (message.resourceSignature !== undefined)
6120
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
5465
6121
  let u = options.writeUnknownFields;
5466
6122
  if (u !== false)
5467
6123
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -5663,7 +6319,8 @@ class ResourceAPI_CreateValue_Request$Type extends MessageType<ResourceAPI_Creat
5663
6319
  { no: 2, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
5664
6320
  { no: 3, name: "type", kind: "message", T: () => ResourceType },
5665
6321
  { no: 6, name: "data", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
5666
- { no: 7, name: "error_if_exists", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
6322
+ { no: 7, name: "error_if_exists", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
6323
+ { no: 8, name: "color_proof", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5667
6324
  ]);
5668
6325
  }
5669
6326
  create(value?: PartialMessage<ResourceAPI_CreateValue_Request>): ResourceAPI_CreateValue_Request {
@@ -5671,6 +6328,7 @@ class ResourceAPI_CreateValue_Request$Type extends MessageType<ResourceAPI_Creat
5671
6328
  message.id = 0n;
5672
6329
  message.data = new Uint8Array(0);
5673
6330
  message.errorIfExists = false;
6331
+ message.colorProof = new Uint8Array(0);
5674
6332
  if (value !== undefined)
5675
6333
  reflectionMergePartial<ResourceAPI_CreateValue_Request>(this, message, value);
5676
6334
  return message;
@@ -5692,6 +6350,9 @@ class ResourceAPI_CreateValue_Request$Type extends MessageType<ResourceAPI_Creat
5692
6350
  case /* bool error_if_exists */ 7:
5693
6351
  message.errorIfExists = reader.bool();
5694
6352
  break;
6353
+ case /* optional bytes color_proof */ 8:
6354
+ message.colorProof = reader.bytes();
6355
+ break;
5695
6356
  default:
5696
6357
  let u = options.readUnknownField;
5697
6358
  if (u === "throw")
@@ -5716,6 +6377,9 @@ class ResourceAPI_CreateValue_Request$Type extends MessageType<ResourceAPI_Creat
5716
6377
  /* bool error_if_exists = 7; */
5717
6378
  if (message.errorIfExists !== false)
5718
6379
  writer.tag(7, WireType.Varint).bool(message.errorIfExists);
6380
+ /* optional bytes color_proof = 8; */
6381
+ if (message.colorProof !== undefined)
6382
+ writer.tag(8, WireType.LengthDelimited).bytes(message.colorProof);
5719
6383
  let u = options.writeUnknownFields;
5720
6384
  if (u !== false)
5721
6385
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -5730,7 +6394,8 @@ export const ResourceAPI_CreateValue_Request = new ResourceAPI_CreateValue_Reque
5730
6394
  class ResourceAPI_CreateValue_Response$Type extends MessageType<ResourceAPI_CreateValue_Response> {
5731
6395
  constructor() {
5732
6396
  super("MiLaboratories.PL.API.ResourceAPI.CreateValue.Response", [
5733
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
6397
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
6398
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5734
6399
  ]);
5735
6400
  }
5736
6401
  create(value?: PartialMessage<ResourceAPI_CreateValue_Response>): ResourceAPI_CreateValue_Response {
@@ -5748,6 +6413,9 @@ class ResourceAPI_CreateValue_Response$Type extends MessageType<ResourceAPI_Crea
5748
6413
  case /* uint64 resource_id */ 1:
5749
6414
  message.resourceId = reader.uint64().toBigInt();
5750
6415
  break;
6416
+ case /* optional bytes resource_signature */ 2:
6417
+ message.resourceSignature = reader.bytes();
6418
+ break;
5751
6419
  default:
5752
6420
  let u = options.readUnknownField;
5753
6421
  if (u === "throw")
@@ -5763,6 +6431,9 @@ class ResourceAPI_CreateValue_Response$Type extends MessageType<ResourceAPI_Crea
5763
6431
  /* uint64 resource_id = 1; */
5764
6432
  if (message.resourceId !== 0n)
5765
6433
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
6434
+ /* optional bytes resource_signature = 2; */
6435
+ if (message.resourceSignature !== undefined)
6436
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
5766
6437
  let u = options.writeUnknownFields;
5767
6438
  if (u !== false)
5768
6439
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -5869,7 +6540,8 @@ export const ResourceAPI_GetValueID_Request = new ResourceAPI_GetValueID_Request
5869
6540
  class ResourceAPI_GetValueID_Response$Type extends MessageType<ResourceAPI_GetValueID_Response> {
5870
6541
  constructor() {
5871
6542
  super("MiLaboratories.PL.API.ResourceAPI.GetValueID.Response", [
5872
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
6543
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
6544
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5873
6545
  ]);
5874
6546
  }
5875
6547
  create(value?: PartialMessage<ResourceAPI_GetValueID_Response>): ResourceAPI_GetValueID_Response {
@@ -5887,6 +6559,9 @@ class ResourceAPI_GetValueID_Response$Type extends MessageType<ResourceAPI_GetVa
5887
6559
  case /* uint64 resource_id */ 1:
5888
6560
  message.resourceId = reader.uint64().toBigInt();
5889
6561
  break;
6562
+ case /* optional bytes resource_signature */ 2:
6563
+ message.resourceSignature = reader.bytes();
6564
+ break;
5890
6565
  default:
5891
6566
  let u = options.readUnknownField;
5892
6567
  if (u === "throw")
@@ -5902,6 +6577,9 @@ class ResourceAPI_GetValueID_Response$Type extends MessageType<ResourceAPI_GetVa
5902
6577
  /* uint64 resource_id = 1; */
5903
6578
  if (message.resourceId !== 0n)
5904
6579
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
6580
+ /* optional bytes resource_signature = 2; */
6581
+ if (message.resourceSignature !== undefined)
6582
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
5905
6583
  let u = options.writeUnknownFields;
5906
6584
  if (u !== false)
5907
6585
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -5957,7 +6635,8 @@ class ResourceAPI_CreateSingleton_Request$Type extends MessageType<ResourceAPI_C
5957
6635
  { no: 2, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
5958
6636
  { no: 3, name: "type", kind: "message", T: () => ResourceType },
5959
6637
  { no: 6, name: "data", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
5960
- { no: 7, name: "error_if_exists", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
6638
+ { no: 7, name: "error_if_exists", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
6639
+ { no: 8, name: "color_proof", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
5961
6640
  ]);
5962
6641
  }
5963
6642
  create(value?: PartialMessage<ResourceAPI_CreateSingleton_Request>): ResourceAPI_CreateSingleton_Request {
@@ -5965,6 +6644,7 @@ class ResourceAPI_CreateSingleton_Request$Type extends MessageType<ResourceAPI_C
5965
6644
  message.id = 0n;
5966
6645
  message.data = new Uint8Array(0);
5967
6646
  message.errorIfExists = false;
6647
+ message.colorProof = new Uint8Array(0);
5968
6648
  if (value !== undefined)
5969
6649
  reflectionMergePartial<ResourceAPI_CreateSingleton_Request>(this, message, value);
5970
6650
  return message;
@@ -5986,6 +6666,9 @@ class ResourceAPI_CreateSingleton_Request$Type extends MessageType<ResourceAPI_C
5986
6666
  case /* bool error_if_exists */ 7:
5987
6667
  message.errorIfExists = reader.bool();
5988
6668
  break;
6669
+ case /* optional bytes color_proof */ 8:
6670
+ message.colorProof = reader.bytes();
6671
+ break;
5989
6672
  default:
5990
6673
  let u = options.readUnknownField;
5991
6674
  if (u === "throw")
@@ -6010,6 +6693,9 @@ class ResourceAPI_CreateSingleton_Request$Type extends MessageType<ResourceAPI_C
6010
6693
  /* bool error_if_exists = 7; */
6011
6694
  if (message.errorIfExists !== false)
6012
6695
  writer.tag(7, WireType.Varint).bool(message.errorIfExists);
6696
+ /* optional bytes color_proof = 8; */
6697
+ if (message.colorProof !== undefined)
6698
+ writer.tag(8, WireType.LengthDelimited).bytes(message.colorProof);
6013
6699
  let u = options.writeUnknownFields;
6014
6700
  if (u !== false)
6015
6701
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -6024,7 +6710,8 @@ export const ResourceAPI_CreateSingleton_Request = new ResourceAPI_CreateSinglet
6024
6710
  class ResourceAPI_CreateSingleton_Response$Type extends MessageType<ResourceAPI_CreateSingleton_Response> {
6025
6711
  constructor() {
6026
6712
  super("MiLaboratories.PL.API.ResourceAPI.CreateSingleton.Response", [
6027
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
6713
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
6714
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
6028
6715
  ]);
6029
6716
  }
6030
6717
  create(value?: PartialMessage<ResourceAPI_CreateSingleton_Response>): ResourceAPI_CreateSingleton_Response {
@@ -6042,6 +6729,9 @@ class ResourceAPI_CreateSingleton_Response$Type extends MessageType<ResourceAPI_
6042
6729
  case /* uint64 resource_id */ 1:
6043
6730
  message.resourceId = reader.uint64().toBigInt();
6044
6731
  break;
6732
+ case /* optional bytes resource_signature */ 2:
6733
+ message.resourceSignature = reader.bytes();
6734
+ break;
6045
6735
  default:
6046
6736
  let u = options.readUnknownField;
6047
6737
  if (u === "throw")
@@ -6057,6 +6747,9 @@ class ResourceAPI_CreateSingleton_Response$Type extends MessageType<ResourceAPI_
6057
6747
  /* uint64 resource_id = 1; */
6058
6748
  if (message.resourceId !== 0n)
6059
6749
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
6750
+ /* optional bytes resource_signature = 2; */
6751
+ if (message.resourceSignature !== undefined)
6752
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
6060
6753
  let u = options.writeUnknownFields;
6061
6754
  if (u !== false)
6062
6755
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -6255,7 +6948,8 @@ export const ResourceAPI_LockInputs = new ResourceAPI_LockInputs$Type();
6255
6948
  class ResourceAPI_LockInputs_Request$Type extends MessageType<ResourceAPI_LockInputs_Request> {
6256
6949
  constructor() {
6257
6950
  super("MiLaboratories.PL.API.ResourceAPI.LockInputs.Request", [
6258
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
6951
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
6952
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
6259
6953
  ]);
6260
6954
  }
6261
6955
  create(value?: PartialMessage<ResourceAPI_LockInputs_Request>): ResourceAPI_LockInputs_Request {
@@ -6273,6 +6967,9 @@ class ResourceAPI_LockInputs_Request$Type extends MessageType<ResourceAPI_LockIn
6273
6967
  case /* uint64 resource_id */ 1:
6274
6968
  message.resourceId = reader.uint64().toBigInt();
6275
6969
  break;
6970
+ case /* optional bytes resource_signature */ 2:
6971
+ message.resourceSignature = reader.bytes();
6972
+ break;
6276
6973
  default:
6277
6974
  let u = options.readUnknownField;
6278
6975
  if (u === "throw")
@@ -6288,6 +6985,9 @@ class ResourceAPI_LockInputs_Request$Type extends MessageType<ResourceAPI_LockIn
6288
6985
  /* uint64 resource_id = 1; */
6289
6986
  if (message.resourceId !== 0n)
6290
6987
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
6988
+ /* optional bytes resource_signature = 2; */
6989
+ if (message.resourceSignature !== undefined)
6990
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
6291
6991
  let u = options.writeUnknownFields;
6292
6992
  if (u !== false)
6293
6993
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -6378,7 +7078,8 @@ export const ResourceAPI_LockOutputs = new ResourceAPI_LockOutputs$Type();
6378
7078
  class ResourceAPI_LockOutputs_Request$Type extends MessageType<ResourceAPI_LockOutputs_Request> {
6379
7079
  constructor() {
6380
7080
  super("MiLaboratories.PL.API.ResourceAPI.LockOutputs.Request", [
6381
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
7081
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
7082
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
6382
7083
  ]);
6383
7084
  }
6384
7085
  create(value?: PartialMessage<ResourceAPI_LockOutputs_Request>): ResourceAPI_LockOutputs_Request {
@@ -6396,6 +7097,9 @@ class ResourceAPI_LockOutputs_Request$Type extends MessageType<ResourceAPI_LockO
6396
7097
  case /* uint64 resource_id */ 1:
6397
7098
  message.resourceId = reader.uint64().toBigInt();
6398
7099
  break;
7100
+ case /* optional bytes resource_signature */ 2:
7101
+ message.resourceSignature = reader.bytes();
7102
+ break;
6399
7103
  default:
6400
7104
  let u = options.readUnknownField;
6401
7105
  if (u === "throw")
@@ -6411,6 +7115,9 @@ class ResourceAPI_LockOutputs_Request$Type extends MessageType<ResourceAPI_LockO
6411
7115
  /* uint64 resource_id = 1; */
6412
7116
  if (message.resourceId !== 0n)
6413
7117
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
7118
+ /* optional bytes resource_signature = 2; */
7119
+ if (message.resourceSignature !== undefined)
7120
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
6414
7121
  let u = options.writeUnknownFields;
6415
7122
  if (u !== false)
6416
7123
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -6501,7 +7208,8 @@ export const ResourceAPI_Exists = new ResourceAPI_Exists$Type();
6501
7208
  class ResourceAPI_Exists_Request$Type extends MessageType<ResourceAPI_Exists_Request> {
6502
7209
  constructor() {
6503
7210
  super("MiLaboratories.PL.API.ResourceAPI.Exists.Request", [
6504
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
7211
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
7212
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
6505
7213
  ]);
6506
7214
  }
6507
7215
  create(value?: PartialMessage<ResourceAPI_Exists_Request>): ResourceAPI_Exists_Request {
@@ -6519,6 +7227,9 @@ class ResourceAPI_Exists_Request$Type extends MessageType<ResourceAPI_Exists_Req
6519
7227
  case /* uint64 resource_id */ 1:
6520
7228
  message.resourceId = reader.uint64().toBigInt();
6521
7229
  break;
7230
+ case /* optional bytes resource_signature */ 2:
7231
+ message.resourceSignature = reader.bytes();
7232
+ break;
6522
7233
  default:
6523
7234
  let u = options.readUnknownField;
6524
7235
  if (u === "throw")
@@ -6534,6 +7245,9 @@ class ResourceAPI_Exists_Request$Type extends MessageType<ResourceAPI_Exists_Req
6534
7245
  /* uint64 resource_id = 1; */
6535
7246
  if (message.resourceId !== 0n)
6536
7247
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
7248
+ /* optional bytes resource_signature = 2; */
7249
+ if (message.resourceSignature !== undefined)
7250
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
6537
7251
  let u = options.writeUnknownFields;
6538
7252
  if (u !== false)
6539
7253
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -6634,7 +7348,9 @@ class ResourceAPI_SetError_Request$Type extends MessageType<ResourceAPI_SetError
6634
7348
  constructor() {
6635
7349
  super("MiLaboratories.PL.API.ResourceAPI.SetError.Request", [
6636
7350
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
6637
- { no: 2, name: "error_resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
7351
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
7352
+ { no: 2, name: "error_resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
7353
+ { no: 4, name: "error_resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
6638
7354
  ]);
6639
7355
  }
6640
7356
  create(value?: PartialMessage<ResourceAPI_SetError_Request>): ResourceAPI_SetError_Request {
@@ -6653,9 +7369,15 @@ class ResourceAPI_SetError_Request$Type extends MessageType<ResourceAPI_SetError
6653
7369
  case /* uint64 resource_id */ 1:
6654
7370
  message.resourceId = reader.uint64().toBigInt();
6655
7371
  break;
7372
+ case /* optional bytes resource_signature */ 3:
7373
+ message.resourceSignature = reader.bytes();
7374
+ break;
6656
7375
  case /* uint64 error_resource_id */ 2:
6657
7376
  message.errorResourceId = reader.uint64().toBigInt();
6658
7377
  break;
7378
+ case /* optional bytes error_resource_signature */ 4:
7379
+ message.errorResourceSignature = reader.bytes();
7380
+ break;
6659
7381
  default:
6660
7382
  let u = options.readUnknownField;
6661
7383
  if (u === "throw")
@@ -6674,6 +7396,12 @@ class ResourceAPI_SetError_Request$Type extends MessageType<ResourceAPI_SetError
6674
7396
  /* uint64 error_resource_id = 2; */
6675
7397
  if (message.errorResourceId !== 0n)
6676
7398
  writer.tag(2, WireType.Varint).uint64(message.errorResourceId);
7399
+ /* optional bytes resource_signature = 3; */
7400
+ if (message.resourceSignature !== undefined)
7401
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
7402
+ /* optional bytes error_resource_signature = 4; */
7403
+ if (message.errorResourceSignature !== undefined)
7404
+ writer.tag(4, WireType.LengthDelimited).bytes(message.errorResourceSignature);
6677
7405
  let u = options.writeUnknownFields;
6678
7406
  if (u !== false)
6679
7407
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -6765,6 +7493,7 @@ class ResourceAPI_Get_Request$Type extends MessageType<ResourceAPI_Get_Request>
6765
7493
  constructor() {
6766
7494
  super("MiLaboratories.PL.API.ResourceAPI.Get.Request", [
6767
7495
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
7496
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
6768
7497
  { no: 2, name: "load_fields", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
6769
7498
  ]);
6770
7499
  }
@@ -6784,6 +7513,9 @@ class ResourceAPI_Get_Request$Type extends MessageType<ResourceAPI_Get_Request>
6784
7513
  case /* uint64 resource_id */ 1:
6785
7514
  message.resourceId = reader.uint64().toBigInt();
6786
7515
  break;
7516
+ case /* optional bytes resource_signature */ 3:
7517
+ message.resourceSignature = reader.bytes();
7518
+ break;
6787
7519
  case /* bool load_fields */ 2:
6788
7520
  message.loadFields = reader.bool();
6789
7521
  break;
@@ -6805,6 +7537,9 @@ class ResourceAPI_Get_Request$Type extends MessageType<ResourceAPI_Get_Request>
6805
7537
  /* bool load_fields = 2; */
6806
7538
  if (message.loadFields !== false)
6807
7539
  writer.tag(2, WireType.Varint).bool(message.loadFields);
7540
+ /* optional bytes resource_signature = 3; */
7541
+ if (message.resourceSignature !== undefined)
7542
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
6808
7543
  let u = options.writeUnknownFields;
6809
7544
  if (u !== false)
6810
7545
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -7157,7 +7892,8 @@ export const ResourceAPI_CreateRoot_Request = new ResourceAPI_CreateRoot_Request
7157
7892
  class ResourceAPI_CreateRoot_Response$Type extends MessageType<ResourceAPI_CreateRoot_Response> {
7158
7893
  constructor() {
7159
7894
  super("MiLaboratories.PL.API.ResourceAPI.CreateRoot.Response", [
7160
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
7895
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
7896
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
7161
7897
  ]);
7162
7898
  }
7163
7899
  create(value?: PartialMessage<ResourceAPI_CreateRoot_Response>): ResourceAPI_CreateRoot_Response {
@@ -7175,6 +7911,9 @@ class ResourceAPI_CreateRoot_Response$Type extends MessageType<ResourceAPI_Creat
7175
7911
  case /* uint64 resource_id */ 1:
7176
7912
  message.resourceId = reader.uint64().toBigInt();
7177
7913
  break;
7914
+ case /* optional bytes resource_signature */ 2:
7915
+ message.resourceSignature = reader.bytes();
7916
+ break;
7178
7917
  default:
7179
7918
  let u = options.readUnknownField;
7180
7919
  if (u === "throw")
@@ -7190,6 +7929,9 @@ class ResourceAPI_CreateRoot_Response$Type extends MessageType<ResourceAPI_Creat
7190
7929
  /* uint64 resource_id = 1; */
7191
7930
  if (message.resourceId !== 0n)
7192
7931
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
7932
+ /* optional bytes resource_signature = 2; */
7933
+ if (message.resourceSignature !== undefined)
7934
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
7193
7935
  let u = options.writeUnknownFields;
7194
7936
  if (u !== false)
7195
7937
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -7242,12 +7984,13 @@ export const ResourceAPI_Remove = new ResourceAPI_Remove$Type();
7242
7984
  class ResourceAPI_Remove_Request$Type extends MessageType<ResourceAPI_Remove_Request> {
7243
7985
  constructor() {
7244
7986
  super("MiLaboratories.PL.API.ResourceAPI.Remove.Request", [
7245
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
7987
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
7988
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
7246
7989
  ]);
7247
7990
  }
7248
7991
  create(value?: PartialMessage<ResourceAPI_Remove_Request>): ResourceAPI_Remove_Request {
7249
7992
  const message = globalThis.Object.create((this.messagePrototype!));
7250
- message.id = 0n;
7993
+ message.resourceId = 0n;
7251
7994
  if (value !== undefined)
7252
7995
  reflectionMergePartial<ResourceAPI_Remove_Request>(this, message, value);
7253
7996
  return message;
@@ -7257,8 +8000,11 @@ class ResourceAPI_Remove_Request$Type extends MessageType<ResourceAPI_Remove_Req
7257
8000
  while (reader.pos < end) {
7258
8001
  let [fieldNo, wireType] = reader.tag();
7259
8002
  switch (fieldNo) {
7260
- case /* uint64 id */ 1:
7261
- message.id = reader.uint64().toBigInt();
8003
+ case /* uint64 resource_id */ 1:
8004
+ message.resourceId = reader.uint64().toBigInt();
8005
+ break;
8006
+ case /* optional bytes resource_signature */ 2:
8007
+ message.resourceSignature = reader.bytes();
7262
8008
  break;
7263
8009
  default:
7264
8010
  let u = options.readUnknownField;
@@ -7272,9 +8018,12 @@ class ResourceAPI_Remove_Request$Type extends MessageType<ResourceAPI_Remove_Req
7272
8018
  return message;
7273
8019
  }
7274
8020
  internalBinaryWrite(message: ResourceAPI_Remove_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
7275
- /* uint64 id = 1; */
7276
- if (message.id !== 0n)
7277
- writer.tag(1, WireType.Varint).uint64(message.id);
8021
+ /* uint64 resource_id = 1; */
8022
+ if (message.resourceId !== 0n)
8023
+ writer.tag(1, WireType.Varint).uint64(message.resourceId);
8024
+ /* optional bytes resource_signature = 2; */
8025
+ if (message.resourceSignature !== undefined)
8026
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
7278
8027
  let u = options.writeUnknownFields;
7279
8028
  if (u !== false)
7280
8029
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -7404,6 +8153,7 @@ class ResourceAPI_Name_Set_Request$Type extends MessageType<ResourceAPI_Name_Set
7404
8153
  constructor() {
7405
8154
  super("MiLaboratories.PL.API.ResourceAPI.Name.Set.Request", [
7406
8155
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
8156
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
7407
8157
  { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
7408
8158
  ]);
7409
8159
  }
@@ -7423,6 +8173,9 @@ class ResourceAPI_Name_Set_Request$Type extends MessageType<ResourceAPI_Name_Set
7423
8173
  case /* uint64 resource_id */ 1:
7424
8174
  message.resourceId = reader.uint64().toBigInt();
7425
8175
  break;
8176
+ case /* optional bytes resource_signature */ 3:
8177
+ message.resourceSignature = reader.bytes();
8178
+ break;
7426
8179
  case /* string name */ 2:
7427
8180
  message.name = reader.string();
7428
8181
  break;
@@ -7444,6 +8197,9 @@ class ResourceAPI_Name_Set_Request$Type extends MessageType<ResourceAPI_Name_Set
7444
8197
  /* string name = 2; */
7445
8198
  if (message.name !== "")
7446
8199
  writer.tag(2, WireType.LengthDelimited).string(message.name);
8200
+ /* optional bytes resource_signature = 3; */
8201
+ if (message.resourceSignature !== undefined)
8202
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
7447
8203
  let u = options.writeUnknownFields;
7448
8204
  if (u !== false)
7449
8205
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -7581,7 +8337,8 @@ export const ResourceAPI_Name_Get_Request = new ResourceAPI_Name_Get_Request$Typ
7581
8337
  class ResourceAPI_Name_Get_Response$Type extends MessageType<ResourceAPI_Name_Get_Response> {
7582
8338
  constructor() {
7583
8339
  super("MiLaboratories.PL.API.ResourceAPI.Name.Get.Response", [
7584
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
8340
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
8341
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
7585
8342
  ]);
7586
8343
  }
7587
8344
  create(value?: PartialMessage<ResourceAPI_Name_Get_Response>): ResourceAPI_Name_Get_Response {
@@ -7599,6 +8356,9 @@ class ResourceAPI_Name_Get_Response$Type extends MessageType<ResourceAPI_Name_Ge
7599
8356
  case /* uint64 resource_id */ 1:
7600
8357
  message.resourceId = reader.uint64().toBigInt();
7601
8358
  break;
8359
+ case /* optional bytes resource_signature */ 2:
8360
+ message.resourceSignature = reader.bytes();
8361
+ break;
7602
8362
  default:
7603
8363
  let u = options.readUnknownField;
7604
8364
  if (u === "throw")
@@ -7614,6 +8374,9 @@ class ResourceAPI_Name_Get_Response$Type extends MessageType<ResourceAPI_Name_Ge
7614
8374
  /* uint64 resource_id = 1; */
7615
8375
  if (message.resourceId !== 0n)
7616
8376
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
8377
+ /* optional bytes resource_signature = 2; */
8378
+ if (message.resourceSignature !== undefined)
8379
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
7617
8380
  let u = options.writeUnknownFields;
7618
8381
  if (u !== false)
7619
8382
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -7922,6 +8685,7 @@ class ResourceAPI_Tree_Request$Type extends MessageType<ResourceAPI_Tree_Request
7922
8685
  constructor() {
7923
8686
  super("MiLaboratories.PL.API.ResourceAPI.Tree.Request", [
7924
8687
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
8688
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
7925
8689
  { no: 2, name: "max_depth", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ }
7926
8690
  ]);
7927
8691
  }
@@ -7940,6 +8704,9 @@ class ResourceAPI_Tree_Request$Type extends MessageType<ResourceAPI_Tree_Request
7940
8704
  case /* uint64 resource_id */ 1:
7941
8705
  message.resourceId = reader.uint64().toBigInt();
7942
8706
  break;
8707
+ case /* optional bytes resource_signature */ 3:
8708
+ message.resourceSignature = reader.bytes();
8709
+ break;
7943
8710
  case /* optional uint32 max_depth */ 2:
7944
8711
  message.maxDepth = reader.uint32();
7945
8712
  break;
@@ -7961,6 +8728,9 @@ class ResourceAPI_Tree_Request$Type extends MessageType<ResourceAPI_Tree_Request
7961
8728
  /* optional uint32 max_depth = 2; */
7962
8729
  if (message.maxDepth !== undefined)
7963
8730
  writer.tag(2, WireType.Varint).uint32(message.maxDepth);
8731
+ /* optional bytes resource_signature = 3; */
8732
+ if (message.resourceSignature !== undefined)
8733
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
7964
8734
  let u = options.writeUnknownFields;
7965
8735
  if (u !== false)
7966
8736
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -8059,7 +8829,8 @@ export const ResourceAPI_TreeSize = new ResourceAPI_TreeSize$Type();
8059
8829
  class ResourceAPI_TreeSize_Request$Type extends MessageType<ResourceAPI_TreeSize_Request> {
8060
8830
  constructor() {
8061
8831
  super("MiLaboratories.PL.API.ResourceAPI.TreeSize.Request", [
8062
- { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
8832
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
8833
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
8063
8834
  ]);
8064
8835
  }
8065
8836
  create(value?: PartialMessage<ResourceAPI_TreeSize_Request>): ResourceAPI_TreeSize_Request {
@@ -8077,6 +8848,9 @@ class ResourceAPI_TreeSize_Request$Type extends MessageType<ResourceAPI_TreeSize
8077
8848
  case /* uint64 resource_id */ 1:
8078
8849
  message.resourceId = reader.uint64().toBigInt();
8079
8850
  break;
8851
+ case /* optional bytes resource_signature */ 2:
8852
+ message.resourceSignature = reader.bytes();
8853
+ break;
8080
8854
  default:
8081
8855
  let u = options.readUnknownField;
8082
8856
  if (u === "throw")
@@ -8092,6 +8866,9 @@ class ResourceAPI_TreeSize_Request$Type extends MessageType<ResourceAPI_TreeSize
8092
8866
  /* uint64 resource_id = 1; */
8093
8867
  if (message.resourceId !== 0n)
8094
8868
  writer.tag(1, WireType.Varint).uint64(message.resourceId);
8869
+ /* optional bytes resource_signature = 2; */
8870
+ if (message.resourceSignature !== undefined)
8871
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
8095
8872
  let u = options.writeUnknownFields;
8096
8873
  if (u !== false)
8097
8874
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -8636,12 +9413,13 @@ class FieldAPI_SetError_Request$Type extends MessageType<FieldAPI_SetError_Reque
8636
9413
  constructor() {
8637
9414
  super("MiLaboratories.PL.API.FieldAPI.SetError.Request", [
8638
9415
  { no: 1, name: "field", kind: "message", T: () => FieldRef },
8639
- { no: 2, name: "err_resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
9416
+ { no: 2, name: "error_resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
9417
+ { no: 3, name: "error_resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
8640
9418
  ]);
8641
9419
  }
8642
9420
  create(value?: PartialMessage<FieldAPI_SetError_Request>): FieldAPI_SetError_Request {
8643
9421
  const message = globalThis.Object.create((this.messagePrototype!));
8644
- message.errResourceId = 0n;
9422
+ message.errorResourceId = 0n;
8645
9423
  if (value !== undefined)
8646
9424
  reflectionMergePartial<FieldAPI_SetError_Request>(this, message, value);
8647
9425
  return message;
@@ -8654,8 +9432,11 @@ class FieldAPI_SetError_Request$Type extends MessageType<FieldAPI_SetError_Reque
8654
9432
  case /* MiLaboratories.PL.Base.FieldRef field */ 1:
8655
9433
  message.field = FieldRef.internalBinaryRead(reader, reader.uint32(), options, message.field);
8656
9434
  break;
8657
- case /* uint64 err_resource_id */ 2:
8658
- message.errResourceId = reader.uint64().toBigInt();
9435
+ case /* uint64 error_resource_id */ 2:
9436
+ message.errorResourceId = reader.uint64().toBigInt();
9437
+ break;
9438
+ case /* optional bytes error_resource_signature */ 3:
9439
+ message.errorResourceSignature = reader.bytes();
8659
9440
  break;
8660
9441
  default:
8661
9442
  let u = options.readUnknownField;
@@ -8672,9 +9453,12 @@ class FieldAPI_SetError_Request$Type extends MessageType<FieldAPI_SetError_Reque
8672
9453
  /* MiLaboratories.PL.Base.FieldRef field = 1; */
8673
9454
  if (message.field)
8674
9455
  FieldRef.internalBinaryWrite(message.field, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
8675
- /* uint64 err_resource_id = 2; */
8676
- if (message.errResourceId !== 0n)
8677
- writer.tag(2, WireType.Varint).uint64(message.errResourceId);
9456
+ /* uint64 error_resource_id = 2; */
9457
+ if (message.errorResourceId !== 0n)
9458
+ writer.tag(2, WireType.Varint).uint64(message.errorResourceId);
9459
+ /* optional bytes error_resource_signature = 3; */
9460
+ if (message.errorResourceSignature !== undefined)
9461
+ writer.tag(3, WireType.LengthDelimited).bytes(message.errorResourceSignature);
8678
9462
  let u = options.writeUnknownFields;
8679
9463
  if (u !== false)
8680
9464
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -9140,6 +9924,7 @@ class FieldAPI_List_Request$Type extends MessageType<FieldAPI_List_Request> {
9140
9924
  constructor() {
9141
9925
  super("MiLaboratories.PL.API.FieldAPI.List.Request", [
9142
9926
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
9927
+ { no: 4, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
9143
9928
  { no: 2, name: "start_from", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
9144
9929
  { no: 3, name: "limit", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
9145
9930
  ]);
@@ -9161,6 +9946,9 @@ class FieldAPI_List_Request$Type extends MessageType<FieldAPI_List_Request> {
9161
9946
  case /* uint64 resource_id */ 1:
9162
9947
  message.resourceId = reader.uint64().toBigInt();
9163
9948
  break;
9949
+ case /* optional bytes resource_signature */ 4:
9950
+ message.resourceSignature = reader.bytes();
9951
+ break;
9164
9952
  case /* string start_from */ 2:
9165
9953
  message.startFrom = reader.string();
9166
9954
  break;
@@ -9188,6 +9976,9 @@ class FieldAPI_List_Request$Type extends MessageType<FieldAPI_List_Request> {
9188
9976
  /* uint32 limit = 3; */
9189
9977
  if (message.limit !== 0)
9190
9978
  writer.tag(3, WireType.Varint).uint32(message.limit);
9979
+ /* optional bytes resource_signature = 4; */
9980
+ if (message.resourceSignature !== undefined)
9981
+ writer.tag(4, WireType.LengthDelimited).bytes(message.resourceSignature);
9191
9982
  let u = options.writeUnknownFields;
9192
9983
  if (u !== false)
9193
9984
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -12379,6 +13170,7 @@ class ResourceKVAPI_List_Request$Type extends MessageType<ResourceKVAPI_List_Req
12379
13170
  constructor() {
12380
13171
  super("MiLaboratories.PL.API.ResourceKVAPI.List.Request", [
12381
13172
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
13173
+ { no: 4, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
12382
13174
  { no: 2, name: "start_from", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
12383
13175
  { no: 3, name: "limit", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
12384
13176
  ]);
@@ -12400,6 +13192,9 @@ class ResourceKVAPI_List_Request$Type extends MessageType<ResourceKVAPI_List_Req
12400
13192
  case /* uint64 resource_id */ 1:
12401
13193
  message.resourceId = reader.uint64().toBigInt();
12402
13194
  break;
13195
+ case /* optional bytes resource_signature */ 4:
13196
+ message.resourceSignature = reader.bytes();
13197
+ break;
12403
13198
  case /* string start_from */ 2:
12404
13199
  message.startFrom = reader.string();
12405
13200
  break;
@@ -12427,6 +13222,9 @@ class ResourceKVAPI_List_Request$Type extends MessageType<ResourceKVAPI_List_Req
12427
13222
  /* uint32 limit = 3; */
12428
13223
  if (message.limit !== 0)
12429
13224
  writer.tag(3, WireType.Varint).uint32(message.limit);
13225
+ /* optional bytes resource_signature = 4; */
13226
+ if (message.resourceSignature !== undefined)
13227
+ writer.tag(4, WireType.LengthDelimited).bytes(message.resourceSignature);
12430
13228
  let u = options.writeUnknownFields;
12431
13229
  if (u !== false)
12432
13230
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -12589,6 +13387,7 @@ class ResourceKVAPI_Set_Request$Type extends MessageType<ResourceKVAPI_Set_Reque
12589
13387
  constructor() {
12590
13388
  super("MiLaboratories.PL.API.ResourceKVAPI.Set.Request", [
12591
13389
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
13390
+ { no: 4, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
12592
13391
  { no: 2, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
12593
13392
  { no: 3, name: "value", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
12594
13393
  ]);
@@ -12610,6 +13409,9 @@ class ResourceKVAPI_Set_Request$Type extends MessageType<ResourceKVAPI_Set_Reque
12610
13409
  case /* uint64 resource_id */ 1:
12611
13410
  message.resourceId = reader.uint64().toBigInt();
12612
13411
  break;
13412
+ case /* optional bytes resource_signature */ 4:
13413
+ message.resourceSignature = reader.bytes();
13414
+ break;
12613
13415
  case /* string key */ 2:
12614
13416
  message.key = reader.string();
12615
13417
  break;
@@ -12637,6 +13439,9 @@ class ResourceKVAPI_Set_Request$Type extends MessageType<ResourceKVAPI_Set_Reque
12637
13439
  /* bytes value = 3; */
12638
13440
  if (message.value.length)
12639
13441
  writer.tag(3, WireType.LengthDelimited).bytes(message.value);
13442
+ /* optional bytes resource_signature = 4; */
13443
+ if (message.resourceSignature !== undefined)
13444
+ writer.tag(4, WireType.LengthDelimited).bytes(message.resourceSignature);
12640
13445
  let u = options.writeUnknownFields;
12641
13446
  if (u !== false)
12642
13447
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -12728,6 +13533,7 @@ class ResourceKVAPI_Get_Request$Type extends MessageType<ResourceKVAPI_Get_Reque
12728
13533
  constructor() {
12729
13534
  super("MiLaboratories.PL.API.ResourceKVAPI.Get.Request", [
12730
13535
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
13536
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
12731
13537
  { no: 2, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
12732
13538
  ]);
12733
13539
  }
@@ -12747,6 +13553,9 @@ class ResourceKVAPI_Get_Request$Type extends MessageType<ResourceKVAPI_Get_Reque
12747
13553
  case /* uint64 resource_id */ 1:
12748
13554
  message.resourceId = reader.uint64().toBigInt();
12749
13555
  break;
13556
+ case /* optional bytes resource_signature */ 3:
13557
+ message.resourceSignature = reader.bytes();
13558
+ break;
12750
13559
  case /* string key */ 2:
12751
13560
  message.key = reader.string();
12752
13561
  break;
@@ -12768,6 +13577,9 @@ class ResourceKVAPI_Get_Request$Type extends MessageType<ResourceKVAPI_Get_Reque
12768
13577
  /* string key = 2; */
12769
13578
  if (message.key !== "")
12770
13579
  writer.tag(2, WireType.LengthDelimited).string(message.key);
13580
+ /* optional bytes resource_signature = 3; */
13581
+ if (message.resourceSignature !== undefined)
13582
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
12771
13583
  let u = options.writeUnknownFields;
12772
13584
  if (u !== false)
12773
13585
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -12868,6 +13680,7 @@ class ResourceKVAPI_GetIfExists_Request$Type extends MessageType<ResourceKVAPI_G
12868
13680
  constructor() {
12869
13681
  super("MiLaboratories.PL.API.ResourceKVAPI.GetIfExists.Request", [
12870
13682
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
13683
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
12871
13684
  { no: 2, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
12872
13685
  ]);
12873
13686
  }
@@ -12887,6 +13700,9 @@ class ResourceKVAPI_GetIfExists_Request$Type extends MessageType<ResourceKVAPI_G
12887
13700
  case /* uint64 resource_id */ 1:
12888
13701
  message.resourceId = reader.uint64().toBigInt();
12889
13702
  break;
13703
+ case /* optional bytes resource_signature */ 3:
13704
+ message.resourceSignature = reader.bytes();
13705
+ break;
12890
13706
  case /* string key */ 2:
12891
13707
  message.key = reader.string();
12892
13708
  break;
@@ -12908,6 +13724,9 @@ class ResourceKVAPI_GetIfExists_Request$Type extends MessageType<ResourceKVAPI_G
12908
13724
  /* string key = 2; */
12909
13725
  if (message.key !== "")
12910
13726
  writer.tag(2, WireType.LengthDelimited).string(message.key);
13727
+ /* optional bytes resource_signature = 3; */
13728
+ if (message.resourceSignature !== undefined)
13729
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
12911
13730
  let u = options.writeUnknownFields;
12912
13731
  if (u !== false)
12913
13732
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -13016,6 +13835,7 @@ class ResourceKVAPI_Delete_Request$Type extends MessageType<ResourceKVAPI_Delete
13016
13835
  constructor() {
13017
13836
  super("MiLaboratories.PL.API.ResourceKVAPI.Delete.Request", [
13018
13837
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
13838
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
13019
13839
  { no: 2, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
13020
13840
  ]);
13021
13841
  }
@@ -13035,6 +13855,9 @@ class ResourceKVAPI_Delete_Request$Type extends MessageType<ResourceKVAPI_Delete
13035
13855
  case /* uint64 resource_id */ 1:
13036
13856
  message.resourceId = reader.uint64().toBigInt();
13037
13857
  break;
13858
+ case /* optional bytes resource_signature */ 3:
13859
+ message.resourceSignature = reader.bytes();
13860
+ break;
13038
13861
  case /* string key */ 2:
13039
13862
  message.key = reader.string();
13040
13863
  break;
@@ -13056,6 +13879,9 @@ class ResourceKVAPI_Delete_Request$Type extends MessageType<ResourceKVAPI_Delete
13056
13879
  /* string key = 2; */
13057
13880
  if (message.key !== "")
13058
13881
  writer.tag(2, WireType.LengthDelimited).string(message.key);
13882
+ /* optional bytes resource_signature = 3; */
13883
+ if (message.resourceSignature !== undefined)
13884
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
13059
13885
  let u = options.writeUnknownFields;
13060
13886
  if (u !== false)
13061
13887
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -13147,6 +13973,7 @@ class ResourceKVAPI_SetFlag_Request$Type extends MessageType<ResourceKVAPI_SetFl
13147
13973
  constructor() {
13148
13974
  super("MiLaboratories.PL.API.ResourceKVAPI.SetFlag.Request", [
13149
13975
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
13976
+ { no: 4, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
13150
13977
  { no: 2, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
13151
13978
  { no: 3, name: "value", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
13152
13979
  ]);
@@ -13168,6 +13995,9 @@ class ResourceKVAPI_SetFlag_Request$Type extends MessageType<ResourceKVAPI_SetFl
13168
13995
  case /* uint64 resource_id */ 1:
13169
13996
  message.resourceId = reader.uint64().toBigInt();
13170
13997
  break;
13998
+ case /* optional bytes resource_signature */ 4:
13999
+ message.resourceSignature = reader.bytes();
14000
+ break;
13171
14001
  case /* string key */ 2:
13172
14002
  message.key = reader.string();
13173
14003
  break;
@@ -13195,6 +14025,9 @@ class ResourceKVAPI_SetFlag_Request$Type extends MessageType<ResourceKVAPI_SetFl
13195
14025
  /* bool value = 3; */
13196
14026
  if (message.value !== false)
13197
14027
  writer.tag(3, WireType.Varint).bool(message.value);
14028
+ /* optional bytes resource_signature = 4; */
14029
+ if (message.resourceSignature !== undefined)
14030
+ writer.tag(4, WireType.LengthDelimited).bytes(message.resourceSignature);
13198
14031
  let u = options.writeUnknownFields;
13199
14032
  if (u !== false)
13200
14033
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -13286,6 +14119,7 @@ class ResourceKVAPI_GetFlag_Request$Type extends MessageType<ResourceKVAPI_GetFl
13286
14119
  constructor() {
13287
14120
  super("MiLaboratories.PL.API.ResourceKVAPI.GetFlag.Request", [
13288
14121
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
14122
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
13289
14123
  { no: 2, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
13290
14124
  ]);
13291
14125
  }
@@ -13305,6 +14139,9 @@ class ResourceKVAPI_GetFlag_Request$Type extends MessageType<ResourceKVAPI_GetFl
13305
14139
  case /* uint64 resource_id */ 1:
13306
14140
  message.resourceId = reader.uint64().toBigInt();
13307
14141
  break;
14142
+ case /* optional bytes resource_signature */ 3:
14143
+ message.resourceSignature = reader.bytes();
14144
+ break;
13308
14145
  case /* string key */ 2:
13309
14146
  message.key = reader.string();
13310
14147
  break;
@@ -13326,6 +14163,9 @@ class ResourceKVAPI_GetFlag_Request$Type extends MessageType<ResourceKVAPI_GetFl
13326
14163
  /* string key = 2; */
13327
14164
  if (message.key !== "")
13328
14165
  writer.tag(2, WireType.LengthDelimited).string(message.key);
14166
+ /* optional bytes resource_signature = 3; */
14167
+ if (message.resourceSignature !== undefined)
14168
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
13329
14169
  let u = options.writeUnknownFields;
13330
14170
  if (u !== false)
13331
14171
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -14443,17 +15283,17 @@ class CacheAPI_SetToField_Response$Type extends MessageType<CacheAPI_SetToField_
14443
15283
  */
14444
15284
  export const CacheAPI_SetToField_Response = new CacheAPI_SetToField_Response$Type();
14445
15285
  // @generated message type with reflection information, may provide speed optimized methods
14446
- class CacheAPI_DeleteExpiredRecords$Type extends MessageType<CacheAPI_DeleteExpiredRecords> {
15286
+ class LocksAPI$Type extends MessageType<LocksAPI> {
14447
15287
  constructor() {
14448
- super("MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords", []);
15288
+ super("MiLaboratories.PL.API.LocksAPI", []);
14449
15289
  }
14450
- create(value?: PartialMessage<CacheAPI_DeleteExpiredRecords>): CacheAPI_DeleteExpiredRecords {
15290
+ create(value?: PartialMessage<LocksAPI>): LocksAPI {
14451
15291
  const message = globalThis.Object.create((this.messagePrototype!));
14452
15292
  if (value !== undefined)
14453
- reflectionMergePartial<CacheAPI_DeleteExpiredRecords>(this, message, value);
15293
+ reflectionMergePartial<LocksAPI>(this, message, value);
14454
15294
  return message;
14455
15295
  }
14456
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CacheAPI_DeleteExpiredRecords): CacheAPI_DeleteExpiredRecords {
15296
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LocksAPI): LocksAPI {
14457
15297
  let message = target ?? this.create(), end = reader.pos + length;
14458
15298
  while (reader.pos < end) {
14459
15299
  let [fieldNo, wireType] = reader.tag();
@@ -14469,7 +15309,7 @@ class CacheAPI_DeleteExpiredRecords$Type extends MessageType<CacheAPI_DeleteExpi
14469
15309
  }
14470
15310
  return message;
14471
15311
  }
14472
- internalBinaryWrite(message: CacheAPI_DeleteExpiredRecords, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15312
+ internalBinaryWrite(message: LocksAPI, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
14473
15313
  let u = options.writeUnknownFields;
14474
15314
  if (u !== false)
14475
15315
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -14477,21 +15317,21 @@ class CacheAPI_DeleteExpiredRecords$Type extends MessageType<CacheAPI_DeleteExpi
14477
15317
  }
14478
15318
  }
14479
15319
  /**
14480
- * @generated MessageType for protobuf message MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords
15320
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.LocksAPI
14481
15321
  */
14482
- export const CacheAPI_DeleteExpiredRecords = new CacheAPI_DeleteExpiredRecords$Type();
15322
+ export const LocksAPI = new LocksAPI$Type();
14483
15323
  // @generated message type with reflection information, may provide speed optimized methods
14484
- class CacheAPI_DeleteExpiredRecords_Request$Type extends MessageType<CacheAPI_DeleteExpiredRecords_Request> {
15324
+ class LocksAPI_LockFieldValues$Type extends MessageType<LocksAPI_LockFieldValues> {
14485
15325
  constructor() {
14486
- super("MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Request", []);
15326
+ super("MiLaboratories.PL.API.LocksAPI.LockFieldValues", []);
14487
15327
  }
14488
- create(value?: PartialMessage<CacheAPI_DeleteExpiredRecords_Request>): CacheAPI_DeleteExpiredRecords_Request {
15328
+ create(value?: PartialMessage<LocksAPI_LockFieldValues>): LocksAPI_LockFieldValues {
14489
15329
  const message = globalThis.Object.create((this.messagePrototype!));
14490
15330
  if (value !== undefined)
14491
- reflectionMergePartial<CacheAPI_DeleteExpiredRecords_Request>(this, message, value);
15331
+ reflectionMergePartial<LocksAPI_LockFieldValues>(this, message, value);
14492
15332
  return message;
14493
15333
  }
14494
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CacheAPI_DeleteExpiredRecords_Request): CacheAPI_DeleteExpiredRecords_Request {
15334
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LocksAPI_LockFieldValues): LocksAPI_LockFieldValues {
14495
15335
  let message = target ?? this.create(), end = reader.pos + length;
14496
15336
  while (reader.pos < end) {
14497
15337
  let [fieldNo, wireType] = reader.tag();
@@ -14507,7 +15347,7 @@ class CacheAPI_DeleteExpiredRecords_Request$Type extends MessageType<CacheAPI_De
14507
15347
  }
14508
15348
  return message;
14509
15349
  }
14510
- internalBinaryWrite(message: CacheAPI_DeleteExpiredRecords_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15350
+ internalBinaryWrite(message: LocksAPI_LockFieldValues, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
14511
15351
  let u = options.writeUnknownFields;
14512
15352
  if (u !== false)
14513
15353
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -14515,21 +15355,21 @@ class CacheAPI_DeleteExpiredRecords_Request$Type extends MessageType<CacheAPI_De
14515
15355
  }
14516
15356
  }
14517
15357
  /**
14518
- * @generated MessageType for protobuf message MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Request
15358
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues
14519
15359
  */
14520
- export const CacheAPI_DeleteExpiredRecords_Request = new CacheAPI_DeleteExpiredRecords_Request$Type();
15360
+ export const LocksAPI_LockFieldValues = new LocksAPI_LockFieldValues$Type();
14521
15361
  // @generated message type with reflection information, may provide speed optimized methods
14522
- class CacheAPI_DeleteExpiredRecords_Response$Type extends MessageType<CacheAPI_DeleteExpiredRecords_Response> {
15362
+ class LocksAPI_LockFieldValues_Create$Type extends MessageType<LocksAPI_LockFieldValues_Create> {
14523
15363
  constructor() {
14524
- super("MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Response", []);
15364
+ super("MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create", []);
14525
15365
  }
14526
- create(value?: PartialMessage<CacheAPI_DeleteExpiredRecords_Response>): CacheAPI_DeleteExpiredRecords_Response {
15366
+ create(value?: PartialMessage<LocksAPI_LockFieldValues_Create>): LocksAPI_LockFieldValues_Create {
14527
15367
  const message = globalThis.Object.create((this.messagePrototype!));
14528
15368
  if (value !== undefined)
14529
- reflectionMergePartial<CacheAPI_DeleteExpiredRecords_Response>(this, message, value);
15369
+ reflectionMergePartial<LocksAPI_LockFieldValues_Create>(this, message, value);
14530
15370
  return message;
14531
15371
  }
14532
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CacheAPI_DeleteExpiredRecords_Response): CacheAPI_DeleteExpiredRecords_Response {
15372
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LocksAPI_LockFieldValues_Create): LocksAPI_LockFieldValues_Create {
14533
15373
  let message = target ?? this.create(), end = reader.pos + length;
14534
15374
  while (reader.pos < end) {
14535
15375
  let [fieldNo, wireType] = reader.tag();
@@ -14545,7 +15385,7 @@ class CacheAPI_DeleteExpiredRecords_Response$Type extends MessageType<CacheAPI_D
14545
15385
  }
14546
15386
  return message;
14547
15387
  }
14548
- internalBinaryWrite(message: CacheAPI_DeleteExpiredRecords_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15388
+ internalBinaryWrite(message: LocksAPI_LockFieldValues_Create, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
14549
15389
  let u = options.writeUnknownFields;
14550
15390
  if (u !== false)
14551
15391
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -14553,25 +15393,41 @@ class CacheAPI_DeleteExpiredRecords_Response$Type extends MessageType<CacheAPI_D
14553
15393
  }
14554
15394
  }
14555
15395
  /**
14556
- * @generated MessageType for protobuf message MiLaboratories.PL.API.CacheAPI.DeleteExpiredRecords.Response
15396
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create
14557
15397
  */
14558
- export const CacheAPI_DeleteExpiredRecords_Response = new CacheAPI_DeleteExpiredRecords_Response$Type();
15398
+ export const LocksAPI_LockFieldValues_Create = new LocksAPI_LockFieldValues_Create$Type();
14559
15399
  // @generated message type with reflection information, may provide speed optimized methods
14560
- class LocksAPI$Type extends MessageType<LocksAPI> {
15400
+ class LocksAPI_LockFieldValues_Create_Request$Type extends MessageType<LocksAPI_LockFieldValues_Create_Request> {
14561
15401
  constructor() {
14562
- super("MiLaboratories.PL.API.LocksAPI", []);
15402
+ super("MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Request", [
15403
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
15404
+ { no: 2, name: "lock_references_of", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
15405
+ { no: 3, name: "comment", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
15406
+ ]);
14563
15407
  }
14564
- create(value?: PartialMessage<LocksAPI>): LocksAPI {
15408
+ create(value?: PartialMessage<LocksAPI_LockFieldValues_Create_Request>): LocksAPI_LockFieldValues_Create_Request {
14565
15409
  const message = globalThis.Object.create((this.messagePrototype!));
15410
+ message.resourceId = 0n;
15411
+ message.lockReferencesOf = [];
15412
+ message.comment = "";
14566
15413
  if (value !== undefined)
14567
- reflectionMergePartial<LocksAPI>(this, message, value);
15414
+ reflectionMergePartial<LocksAPI_LockFieldValues_Create_Request>(this, message, value);
14568
15415
  return message;
14569
15416
  }
14570
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LocksAPI): LocksAPI {
15417
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LocksAPI_LockFieldValues_Create_Request): LocksAPI_LockFieldValues_Create_Request {
14571
15418
  let message = target ?? this.create(), end = reader.pos + length;
14572
15419
  while (reader.pos < end) {
14573
15420
  let [fieldNo, wireType] = reader.tag();
14574
15421
  switch (fieldNo) {
15422
+ case /* uint64 resource_id */ 1:
15423
+ message.resourceId = reader.uint64().toBigInt();
15424
+ break;
15425
+ case /* repeated string lock_references_of */ 2:
15426
+ message.lockReferencesOf.push(reader.string());
15427
+ break;
15428
+ case /* string comment */ 3:
15429
+ message.comment = reader.string();
15430
+ break;
14575
15431
  default:
14576
15432
  let u = options.readUnknownField;
14577
15433
  if (u === "throw")
@@ -14583,7 +15439,16 @@ class LocksAPI$Type extends MessageType<LocksAPI> {
14583
15439
  }
14584
15440
  return message;
14585
15441
  }
14586
- internalBinaryWrite(message: LocksAPI, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15442
+ internalBinaryWrite(message: LocksAPI_LockFieldValues_Create_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15443
+ /* uint64 resource_id = 1; */
15444
+ if (message.resourceId !== 0n)
15445
+ writer.tag(1, WireType.Varint).uint64(message.resourceId);
15446
+ /* repeated string lock_references_of = 2; */
15447
+ for (let i = 0; i < message.lockReferencesOf.length; i++)
15448
+ writer.tag(2, WireType.LengthDelimited).string(message.lockReferencesOf[i]);
15449
+ /* string comment = 3; */
15450
+ if (message.comment !== "")
15451
+ writer.tag(3, WireType.LengthDelimited).string(message.comment);
14587
15452
  let u = options.writeUnknownFields;
14588
15453
  if (u !== false)
14589
15454
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -14591,9 +15456,150 @@ class LocksAPI$Type extends MessageType<LocksAPI> {
14591
15456
  }
14592
15457
  }
14593
15458
  /**
14594
- * @generated MessageType for protobuf message MiLaboratories.PL.API.LocksAPI
15459
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Request
14595
15460
  */
14596
- export const LocksAPI = new LocksAPI$Type();
15461
+ export const LocksAPI_LockFieldValues_Create_Request = new LocksAPI_LockFieldValues_Create_Request$Type();
15462
+ // @generated message type with reflection information, may provide speed optimized methods
15463
+ class LocksAPI_LockFieldValues_Create_Response$Type extends MessageType<LocksAPI_LockFieldValues_Create_Response> {
15464
+ constructor() {
15465
+ super("MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response", [
15466
+ { no: 1, name: "acquired", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
15467
+ { no: 2, name: "conflicting_locks", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => LocksAPI_LockFieldValues_Create_Response_LockInfo },
15468
+ { no: 3, name: "conflicts_list_truncated", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
15469
+ ]);
15470
+ }
15471
+ create(value?: PartialMessage<LocksAPI_LockFieldValues_Create_Response>): LocksAPI_LockFieldValues_Create_Response {
15472
+ const message = globalThis.Object.create((this.messagePrototype!));
15473
+ message.acquired = false;
15474
+ message.conflictingLocks = [];
15475
+ message.conflictsListTruncated = false;
15476
+ if (value !== undefined)
15477
+ reflectionMergePartial<LocksAPI_LockFieldValues_Create_Response>(this, message, value);
15478
+ return message;
15479
+ }
15480
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LocksAPI_LockFieldValues_Create_Response): LocksAPI_LockFieldValues_Create_Response {
15481
+ let message = target ?? this.create(), end = reader.pos + length;
15482
+ while (reader.pos < end) {
15483
+ let [fieldNo, wireType] = reader.tag();
15484
+ switch (fieldNo) {
15485
+ case /* bool acquired */ 1:
15486
+ message.acquired = reader.bool();
15487
+ break;
15488
+ case /* repeated MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response.LockInfo conflicting_locks */ 2:
15489
+ message.conflictingLocks.push(LocksAPI_LockFieldValues_Create_Response_LockInfo.internalBinaryRead(reader, reader.uint32(), options));
15490
+ break;
15491
+ case /* bool conflicts_list_truncated */ 3:
15492
+ message.conflictsListTruncated = reader.bool();
15493
+ break;
15494
+ default:
15495
+ let u = options.readUnknownField;
15496
+ if (u === "throw")
15497
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
15498
+ let d = reader.skip(wireType);
15499
+ if (u !== false)
15500
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
15501
+ }
15502
+ }
15503
+ return message;
15504
+ }
15505
+ internalBinaryWrite(message: LocksAPI_LockFieldValues_Create_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15506
+ /* bool acquired = 1; */
15507
+ if (message.acquired !== false)
15508
+ writer.tag(1, WireType.Varint).bool(message.acquired);
15509
+ /* repeated MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response.LockInfo conflicting_locks = 2; */
15510
+ for (let i = 0; i < message.conflictingLocks.length; i++)
15511
+ LocksAPI_LockFieldValues_Create_Response_LockInfo.internalBinaryWrite(message.conflictingLocks[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
15512
+ /* bool conflicts_list_truncated = 3; */
15513
+ if (message.conflictsListTruncated !== false)
15514
+ writer.tag(3, WireType.Varint).bool(message.conflictsListTruncated);
15515
+ let u = options.writeUnknownFields;
15516
+ if (u !== false)
15517
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
15518
+ return writer;
15519
+ }
15520
+ }
15521
+ /**
15522
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response
15523
+ */
15524
+ export const LocksAPI_LockFieldValues_Create_Response = new LocksAPI_LockFieldValues_Create_Response$Type();
15525
+ // @generated message type with reflection information, may provide speed optimized methods
15526
+ class LocksAPI_LockFieldValues_Create_Response_LockInfo$Type extends MessageType<LocksAPI_LockFieldValues_Create_Response_LockInfo> {
15527
+ constructor() {
15528
+ super("MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response.LockInfo", [
15529
+ { no: 1, name: "target_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
15530
+ { no: 2, name: "field_name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
15531
+ { no: 3, name: "locked_by", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
15532
+ { no: 4, name: "locked_at", kind: "message", T: () => Timestamp },
15533
+ { no: 5, name: "comment", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
15534
+ ]);
15535
+ }
15536
+ create(value?: PartialMessage<LocksAPI_LockFieldValues_Create_Response_LockInfo>): LocksAPI_LockFieldValues_Create_Response_LockInfo {
15537
+ const message = globalThis.Object.create((this.messagePrototype!));
15538
+ message.targetId = 0n;
15539
+ message.fieldName = "";
15540
+ message.lockedBy = 0n;
15541
+ message.comment = "";
15542
+ if (value !== undefined)
15543
+ reflectionMergePartial<LocksAPI_LockFieldValues_Create_Response_LockInfo>(this, message, value);
15544
+ return message;
15545
+ }
15546
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LocksAPI_LockFieldValues_Create_Response_LockInfo): LocksAPI_LockFieldValues_Create_Response_LockInfo {
15547
+ let message = target ?? this.create(), end = reader.pos + length;
15548
+ while (reader.pos < end) {
15549
+ let [fieldNo, wireType] = reader.tag();
15550
+ switch (fieldNo) {
15551
+ case /* uint64 target_id */ 1:
15552
+ message.targetId = reader.uint64().toBigInt();
15553
+ break;
15554
+ case /* string field_name */ 2:
15555
+ message.fieldName = reader.string();
15556
+ break;
15557
+ case /* uint64 locked_by */ 3:
15558
+ message.lockedBy = reader.uint64().toBigInt();
15559
+ break;
15560
+ case /* google.protobuf.Timestamp locked_at */ 4:
15561
+ message.lockedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.lockedAt);
15562
+ break;
15563
+ case /* string comment */ 5:
15564
+ message.comment = reader.string();
15565
+ break;
15566
+ default:
15567
+ let u = options.readUnknownField;
15568
+ if (u === "throw")
15569
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
15570
+ let d = reader.skip(wireType);
15571
+ if (u !== false)
15572
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
15573
+ }
15574
+ }
15575
+ return message;
15576
+ }
15577
+ internalBinaryWrite(message: LocksAPI_LockFieldValues_Create_Response_LockInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15578
+ /* uint64 target_id = 1; */
15579
+ if (message.targetId !== 0n)
15580
+ writer.tag(1, WireType.Varint).uint64(message.targetId);
15581
+ /* string field_name = 2; */
15582
+ if (message.fieldName !== "")
15583
+ writer.tag(2, WireType.LengthDelimited).string(message.fieldName);
15584
+ /* uint64 locked_by = 3; */
15585
+ if (message.lockedBy !== 0n)
15586
+ writer.tag(3, WireType.Varint).uint64(message.lockedBy);
15587
+ /* google.protobuf.Timestamp locked_at = 4; */
15588
+ if (message.lockedAt)
15589
+ Timestamp.internalBinaryWrite(message.lockedAt, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
15590
+ /* string comment = 5; */
15591
+ if (message.comment !== "")
15592
+ writer.tag(5, WireType.LengthDelimited).string(message.comment);
15593
+ let u = options.writeUnknownFields;
15594
+ if (u !== false)
15595
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
15596
+ return writer;
15597
+ }
15598
+ }
15599
+ /**
15600
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.LocksAPI.LockFieldValues.Create.Response.LockInfo
15601
+ */
15602
+ export const LocksAPI_LockFieldValues_Create_Response_LockInfo = new LocksAPI_LockFieldValues_Create_Response_LockInfo$Type();
14597
15603
  // @generated message type with reflection information, may provide speed optimized methods
14598
15604
  class LocksAPI_Lease$Type extends MessageType<LocksAPI_Lease> {
14599
15605
  constructor() {
@@ -14675,6 +15681,7 @@ class LocksAPI_Lease_Create_Request$Type extends MessageType<LocksAPI_Lease_Crea
14675
15681
  constructor() {
14676
15682
  super("MiLaboratories.PL.API.LocksAPI.Lease.Create.Request", [
14677
15683
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
15684
+ { no: 5, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
14678
15685
  { no: 3, name: "timeout", kind: "message", T: () => Duration },
14679
15686
  { no: 4, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
14680
15687
  ]);
@@ -14695,6 +15702,9 @@ class LocksAPI_Lease_Create_Request$Type extends MessageType<LocksAPI_Lease_Crea
14695
15702
  case /* uint64 resource_id */ 1:
14696
15703
  message.resourceId = reader.uint64().toBigInt();
14697
15704
  break;
15705
+ case /* optional bytes resource_signature */ 5:
15706
+ message.resourceSignature = reader.bytes();
15707
+ break;
14698
15708
  case /* google.protobuf.Duration timeout */ 3:
14699
15709
  message.timeout = Duration.internalBinaryRead(reader, reader.uint32(), options, message.timeout);
14700
15710
  break;
@@ -14722,6 +15732,9 @@ class LocksAPI_Lease_Create_Request$Type extends MessageType<LocksAPI_Lease_Crea
14722
15732
  /* string name = 4; */
14723
15733
  if (message.name !== "")
14724
15734
  writer.tag(4, WireType.LengthDelimited).string(message.name);
15735
+ /* optional bytes resource_signature = 5; */
15736
+ if (message.resourceSignature !== undefined)
15737
+ writer.tag(5, WireType.LengthDelimited).bytes(message.resourceSignature);
14725
15738
  let u = options.writeUnknownFields;
14726
15739
  if (u !== false)
14727
15740
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -14822,6 +15835,7 @@ class LocksAPI_Lease_Update_Request$Type extends MessageType<LocksAPI_Lease_Upda
14822
15835
  constructor() {
14823
15836
  super("MiLaboratories.PL.API.LocksAPI.Lease.Update.Request", [
14824
15837
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
15838
+ { no: 5, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
14825
15839
  { no: 2, name: "lease_id", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
14826
15840
  { no: 3, name: "timeout", kind: "message", T: () => Duration },
14827
15841
  { no: 4, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
@@ -14844,6 +15858,9 @@ class LocksAPI_Lease_Update_Request$Type extends MessageType<LocksAPI_Lease_Upda
14844
15858
  case /* uint64 resource_id */ 1:
14845
15859
  message.resourceId = reader.uint64().toBigInt();
14846
15860
  break;
15861
+ case /* optional bytes resource_signature */ 5:
15862
+ message.resourceSignature = reader.bytes();
15863
+ break;
14847
15864
  case /* bytes lease_id */ 2:
14848
15865
  message.leaseId = reader.bytes();
14849
15866
  break;
@@ -14877,6 +15894,9 @@ class LocksAPI_Lease_Update_Request$Type extends MessageType<LocksAPI_Lease_Upda
14877
15894
  /* string name = 4; */
14878
15895
  if (message.name !== "")
14879
15896
  writer.tag(4, WireType.LengthDelimited).string(message.name);
15897
+ /* optional bytes resource_signature = 5; */
15898
+ if (message.resourceSignature !== undefined)
15899
+ writer.tag(5, WireType.LengthDelimited).bytes(message.resourceSignature);
14880
15900
  let u = options.writeUnknownFields;
14881
15901
  if (u !== false)
14882
15902
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -14968,6 +15988,7 @@ class LocksAPI_Lease_Release_Request$Type extends MessageType<LocksAPI_Lease_Rel
14968
15988
  constructor() {
14969
15989
  super("MiLaboratories.PL.API.LocksAPI.Lease.Release.Request", [
14970
15990
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
15991
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
14971
15992
  { no: 2, name: "lease_id", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
14972
15993
  ]);
14973
15994
  }
@@ -14987,6 +16008,9 @@ class LocksAPI_Lease_Release_Request$Type extends MessageType<LocksAPI_Lease_Rel
14987
16008
  case /* uint64 resource_id */ 1:
14988
16009
  message.resourceId = reader.uint64().toBigInt();
14989
16010
  break;
16011
+ case /* optional bytes resource_signature */ 3:
16012
+ message.resourceSignature = reader.bytes();
16013
+ break;
14990
16014
  case /* bytes lease_id */ 2:
14991
16015
  message.leaseId = reader.bytes();
14992
16016
  break;
@@ -15008,6 +16032,9 @@ class LocksAPI_Lease_Release_Request$Type extends MessageType<LocksAPI_Lease_Rel
15008
16032
  /* bytes lease_id = 2; */
15009
16033
  if (message.leaseId.length)
15010
16034
  writer.tag(2, WireType.LengthDelimited).bytes(message.leaseId);
16035
+ /* optional bytes resource_signature = 3; */
16036
+ if (message.resourceSignature !== undefined)
16037
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
15011
16038
  let u = options.writeUnknownFields;
15012
16039
  if (u !== false)
15013
16040
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15338,7 +16365,8 @@ export const AuthAPI_GetJWTToken = new AuthAPI_GetJWTToken$Type();
15338
16365
  class AuthAPI_GetJWTToken_Request$Type extends MessageType<AuthAPI_GetJWTToken_Request> {
15339
16366
  constructor() {
15340
16367
  super("MiLaboratories.PL.API.AuthAPI.GetJWTToken.Request", [
15341
- { no: 1, name: "expiration", kind: "message", T: () => Duration }
16368
+ { no: 1, name: "expiration", kind: "message", T: () => Duration },
16369
+ { no: 2, name: "requested_role", kind: "enum", opt: true, T: () => ["MiLaboratories.PL.API.AuthAPI.GetJWTToken.Role", AuthAPI_GetJWTToken_Role] }
15342
16370
  ]);
15343
16371
  }
15344
16372
  create(value?: PartialMessage<AuthAPI_GetJWTToken_Request>): AuthAPI_GetJWTToken_Request {
@@ -15355,6 +16383,9 @@ class AuthAPI_GetJWTToken_Request$Type extends MessageType<AuthAPI_GetJWTToken_R
15355
16383
  case /* google.protobuf.Duration expiration */ 1:
15356
16384
  message.expiration = Duration.internalBinaryRead(reader, reader.uint32(), options, message.expiration);
15357
16385
  break;
16386
+ case /* optional MiLaboratories.PL.API.AuthAPI.GetJWTToken.Role requested_role */ 2:
16387
+ message.requestedRole = reader.int32();
16388
+ break;
15358
16389
  default:
15359
16390
  let u = options.readUnknownField;
15360
16391
  if (u === "throw")
@@ -15370,6 +16401,9 @@ class AuthAPI_GetJWTToken_Request$Type extends MessageType<AuthAPI_GetJWTToken_R
15370
16401
  /* google.protobuf.Duration expiration = 1; */
15371
16402
  if (message.expiration)
15372
16403
  Duration.internalBinaryWrite(message.expiration, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
16404
+ /* optional MiLaboratories.PL.API.AuthAPI.GetJWTToken.Role requested_role = 2; */
16405
+ if (message.requestedRole !== undefined)
16406
+ writer.tag(2, WireType.Varint).int32(message.requestedRole);
15373
16407
  let u = options.writeUnknownFields;
15374
16408
  if (u !== false)
15375
16409
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15384,12 +16418,14 @@ export const AuthAPI_GetJWTToken_Request = new AuthAPI_GetJWTToken_Request$Type(
15384
16418
  class AuthAPI_GetJWTToken_Response$Type extends MessageType<AuthAPI_GetJWTToken_Response> {
15385
16419
  constructor() {
15386
16420
  super("MiLaboratories.PL.API.AuthAPI.GetJWTToken.Response", [
15387
- { no: 1, name: "token", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
16421
+ { no: 1, name: "token", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
16422
+ { no: 2, name: "session_id", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
15388
16423
  ]);
15389
16424
  }
15390
16425
  create(value?: PartialMessage<AuthAPI_GetJWTToken_Response>): AuthAPI_GetJWTToken_Response {
15391
16426
  const message = globalThis.Object.create((this.messagePrototype!));
15392
16427
  message.token = "";
16428
+ message.sessionId = new Uint8Array(0);
15393
16429
  if (value !== undefined)
15394
16430
  reflectionMergePartial<AuthAPI_GetJWTToken_Response>(this, message, value);
15395
16431
  return message;
@@ -15402,6 +16438,9 @@ class AuthAPI_GetJWTToken_Response$Type extends MessageType<AuthAPI_GetJWTToken_
15402
16438
  case /* string token */ 1:
15403
16439
  message.token = reader.string();
15404
16440
  break;
16441
+ case /* bytes session_id */ 2:
16442
+ message.sessionId = reader.bytes();
16443
+ break;
15405
16444
  default:
15406
16445
  let u = options.readUnknownField;
15407
16446
  if (u === "throw")
@@ -15417,6 +16456,9 @@ class AuthAPI_GetJWTToken_Response$Type extends MessageType<AuthAPI_GetJWTToken_
15417
16456
  /* string token = 1; */
15418
16457
  if (message.token !== "")
15419
16458
  writer.tag(1, WireType.LengthDelimited).string(message.token);
16459
+ /* bytes session_id = 2; */
16460
+ if (message.sessionId.length)
16461
+ writer.tag(2, WireType.LengthDelimited).bytes(message.sessionId);
15420
16462
  let u = options.writeUnknownFields;
15421
16463
  if (u !== false)
15422
16464
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15428,17 +16470,17 @@ class AuthAPI_GetJWTToken_Response$Type extends MessageType<AuthAPI_GetJWTToken_
15428
16470
  */
15429
16471
  export const AuthAPI_GetJWTToken_Response = new AuthAPI_GetJWTToken_Response$Type();
15430
16472
  // @generated message type with reflection information, may provide speed optimized methods
15431
- class MiscAPI$Type extends MessageType<MiscAPI> {
16473
+ class AuthAPI_GrantAccess$Type extends MessageType<AuthAPI_GrantAccess> {
15432
16474
  constructor() {
15433
- super("MiLaboratories.PL.API.MiscAPI", []);
16475
+ super("MiLaboratories.PL.API.AuthAPI.GrantAccess", []);
15434
16476
  }
15435
- create(value?: PartialMessage<MiscAPI>): MiscAPI {
16477
+ create(value?: PartialMessage<AuthAPI_GrantAccess>): AuthAPI_GrantAccess {
15436
16478
  const message = globalThis.Object.create((this.messagePrototype!));
15437
16479
  if (value !== undefined)
15438
- reflectionMergePartial<MiscAPI>(this, message, value);
16480
+ reflectionMergePartial<AuthAPI_GrantAccess>(this, message, value);
15439
16481
  return message;
15440
16482
  }
15441
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MiscAPI): MiscAPI {
16483
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_GrantAccess): AuthAPI_GrantAccess {
15442
16484
  let message = target ?? this.create(), end = reader.pos + length;
15443
16485
  while (reader.pos < end) {
15444
16486
  let [fieldNo, wireType] = reader.tag();
@@ -15454,7 +16496,7 @@ class MiscAPI$Type extends MessageType<MiscAPI> {
15454
16496
  }
15455
16497
  return message;
15456
16498
  }
15457
- internalBinaryWrite(message: MiscAPI, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16499
+ internalBinaryWrite(message: AuthAPI_GrantAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15458
16500
  let u = options.writeUnknownFields;
15459
16501
  if (u !== false)
15460
16502
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15462,25 +16504,44 @@ class MiscAPI$Type extends MessageType<MiscAPI> {
15462
16504
  }
15463
16505
  }
15464
16506
  /**
15465
- * @generated MessageType for protobuf message MiLaboratories.PL.API.MiscAPI
16507
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.GrantAccess
15466
16508
  */
15467
- export const MiscAPI = new MiscAPI$Type();
16509
+ export const AuthAPI_GrantAccess = new AuthAPI_GrantAccess$Type();
15468
16510
  // @generated message type with reflection information, may provide speed optimized methods
15469
- class MiscAPI_ListResourceTypes$Type extends MessageType<MiscAPI_ListResourceTypes> {
16511
+ class AuthAPI_GrantAccess_Request$Type extends MessageType<AuthAPI_GrantAccess_Request> {
15470
16512
  constructor() {
15471
- super("MiLaboratories.PL.API.MiscAPI.ListResourceTypes", []);
16513
+ super("MiLaboratories.PL.API.AuthAPI.GrantAccess.Request", [
16514
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
16515
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
16516
+ { no: 3, name: "target_user", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
16517
+ { no: 4, name: "permissions", kind: "message", T: () => AuthAPI_Grant_Permissions }
16518
+ ]);
15472
16519
  }
15473
- create(value?: PartialMessage<MiscAPI_ListResourceTypes>): MiscAPI_ListResourceTypes {
16520
+ create(value?: PartialMessage<AuthAPI_GrantAccess_Request>): AuthAPI_GrantAccess_Request {
15474
16521
  const message = globalThis.Object.create((this.messagePrototype!));
16522
+ message.resourceId = 0n;
16523
+ message.targetUser = "";
15475
16524
  if (value !== undefined)
15476
- reflectionMergePartial<MiscAPI_ListResourceTypes>(this, message, value);
16525
+ reflectionMergePartial<AuthAPI_GrantAccess_Request>(this, message, value);
15477
16526
  return message;
15478
16527
  }
15479
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MiscAPI_ListResourceTypes): MiscAPI_ListResourceTypes {
16528
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_GrantAccess_Request): AuthAPI_GrantAccess_Request {
15480
16529
  let message = target ?? this.create(), end = reader.pos + length;
15481
16530
  while (reader.pos < end) {
15482
16531
  let [fieldNo, wireType] = reader.tag();
15483
16532
  switch (fieldNo) {
16533
+ case /* uint64 resource_id */ 1:
16534
+ message.resourceId = reader.uint64().toBigInt();
16535
+ break;
16536
+ case /* optional bytes resource_signature */ 2:
16537
+ message.resourceSignature = reader.bytes();
16538
+ break;
16539
+ case /* string target_user */ 3:
16540
+ message.targetUser = reader.string();
16541
+ break;
16542
+ case /* MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions */ 4:
16543
+ message.permissions = AuthAPI_Grant_Permissions.internalBinaryRead(reader, reader.uint32(), options, message.permissions);
16544
+ break;
15484
16545
  default:
15485
16546
  let u = options.readUnknownField;
15486
16547
  if (u === "throw")
@@ -15492,7 +16553,19 @@ class MiscAPI_ListResourceTypes$Type extends MessageType<MiscAPI_ListResourceTyp
15492
16553
  }
15493
16554
  return message;
15494
16555
  }
15495
- internalBinaryWrite(message: MiscAPI_ListResourceTypes, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16556
+ internalBinaryWrite(message: AuthAPI_GrantAccess_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16557
+ /* uint64 resource_id = 1; */
16558
+ if (message.resourceId !== 0n)
16559
+ writer.tag(1, WireType.Varint).uint64(message.resourceId);
16560
+ /* optional bytes resource_signature = 2; */
16561
+ if (message.resourceSignature !== undefined)
16562
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
16563
+ /* string target_user = 3; */
16564
+ if (message.targetUser !== "")
16565
+ writer.tag(3, WireType.LengthDelimited).string(message.targetUser);
16566
+ /* MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions = 4; */
16567
+ if (message.permissions)
16568
+ AuthAPI_Grant_Permissions.internalBinaryWrite(message.permissions, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
15496
16569
  let u = options.writeUnknownFields;
15497
16570
  if (u !== false)
15498
16571
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15500,21 +16573,21 @@ class MiscAPI_ListResourceTypes$Type extends MessageType<MiscAPI_ListResourceTyp
15500
16573
  }
15501
16574
  }
15502
16575
  /**
15503
- * @generated MessageType for protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes
16576
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.GrantAccess.Request
15504
16577
  */
15505
- export const MiscAPI_ListResourceTypes = new MiscAPI_ListResourceTypes$Type();
16578
+ export const AuthAPI_GrantAccess_Request = new AuthAPI_GrantAccess_Request$Type();
15506
16579
  // @generated message type with reflection information, may provide speed optimized methods
15507
- class MiscAPI_ListResourceTypes_Request$Type extends MessageType<MiscAPI_ListResourceTypes_Request> {
16580
+ class AuthAPI_GrantAccess_Response$Type extends MessageType<AuthAPI_GrantAccess_Response> {
15508
16581
  constructor() {
15509
- super("MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Request", []);
16582
+ super("MiLaboratories.PL.API.AuthAPI.GrantAccess.Response", []);
15510
16583
  }
15511
- create(value?: PartialMessage<MiscAPI_ListResourceTypes_Request>): MiscAPI_ListResourceTypes_Request {
16584
+ create(value?: PartialMessage<AuthAPI_GrantAccess_Response>): AuthAPI_GrantAccess_Response {
15512
16585
  const message = globalThis.Object.create((this.messagePrototype!));
15513
16586
  if (value !== undefined)
15514
- reflectionMergePartial<MiscAPI_ListResourceTypes_Request>(this, message, value);
16587
+ reflectionMergePartial<AuthAPI_GrantAccess_Response>(this, message, value);
15515
16588
  return message;
15516
16589
  }
15517
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MiscAPI_ListResourceTypes_Request): MiscAPI_ListResourceTypes_Request {
16590
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_GrantAccess_Response): AuthAPI_GrantAccess_Response {
15518
16591
  let message = target ?? this.create(), end = reader.pos + length;
15519
16592
  while (reader.pos < end) {
15520
16593
  let [fieldNo, wireType] = reader.tag();
@@ -15530,7 +16603,7 @@ class MiscAPI_ListResourceTypes_Request$Type extends MessageType<MiscAPI_ListRes
15530
16603
  }
15531
16604
  return message;
15532
16605
  }
15533
- internalBinaryWrite(message: MiscAPI_ListResourceTypes_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16606
+ internalBinaryWrite(message: AuthAPI_GrantAccess_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15534
16607
  let u = options.writeUnknownFields;
15535
16608
  if (u !== false)
15536
16609
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15538,31 +16611,25 @@ class MiscAPI_ListResourceTypes_Request$Type extends MessageType<MiscAPI_ListRes
15538
16611
  }
15539
16612
  }
15540
16613
  /**
15541
- * @generated MessageType for protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Request
16614
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.GrantAccess.Response
15542
16615
  */
15543
- export const MiscAPI_ListResourceTypes_Request = new MiscAPI_ListResourceTypes_Request$Type();
16616
+ export const AuthAPI_GrantAccess_Response = new AuthAPI_GrantAccess_Response$Type();
15544
16617
  // @generated message type with reflection information, may provide speed optimized methods
15545
- class MiscAPI_ListResourceTypes_Response$Type extends MessageType<MiscAPI_ListResourceTypes_Response> {
16618
+ class AuthAPI_RevokeGrant$Type extends MessageType<AuthAPI_RevokeGrant> {
15546
16619
  constructor() {
15547
- super("MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Response", [
15548
- { no: 1, name: "types", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ResourceType }
15549
- ]);
16620
+ super("MiLaboratories.PL.API.AuthAPI.RevokeGrant", []);
15550
16621
  }
15551
- create(value?: PartialMessage<MiscAPI_ListResourceTypes_Response>): MiscAPI_ListResourceTypes_Response {
16622
+ create(value?: PartialMessage<AuthAPI_RevokeGrant>): AuthAPI_RevokeGrant {
15552
16623
  const message = globalThis.Object.create((this.messagePrototype!));
15553
- message.types = [];
15554
16624
  if (value !== undefined)
15555
- reflectionMergePartial<MiscAPI_ListResourceTypes_Response>(this, message, value);
16625
+ reflectionMergePartial<AuthAPI_RevokeGrant>(this, message, value);
15556
16626
  return message;
15557
16627
  }
15558
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MiscAPI_ListResourceTypes_Response): MiscAPI_ListResourceTypes_Response {
16628
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_RevokeGrant): AuthAPI_RevokeGrant {
15559
16629
  let message = target ?? this.create(), end = reader.pos + length;
15560
16630
  while (reader.pos < end) {
15561
16631
  let [fieldNo, wireType] = reader.tag();
15562
16632
  switch (fieldNo) {
15563
- case /* repeated MiLaboratories.PL.Base.ResourceType types */ 1:
15564
- message.types.push(ResourceType.internalBinaryRead(reader, reader.uint32(), options));
15565
- break;
15566
16633
  default:
15567
16634
  let u = options.readUnknownField;
15568
16635
  if (u === "throw")
@@ -15574,10 +16641,7 @@ class MiscAPI_ListResourceTypes_Response$Type extends MessageType<MiscAPI_ListRe
15574
16641
  }
15575
16642
  return message;
15576
16643
  }
15577
- internalBinaryWrite(message: MiscAPI_ListResourceTypes_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15578
- /* repeated MiLaboratories.PL.Base.ResourceType types = 1; */
15579
- for (let i = 0; i < message.types.length; i++)
15580
- ResourceType.internalBinaryWrite(message.types[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
16644
+ internalBinaryWrite(message: AuthAPI_RevokeGrant, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15581
16645
  let u = options.writeUnknownFields;
15582
16646
  if (u !== false)
15583
16647
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15585,25 +16649,40 @@ class MiscAPI_ListResourceTypes_Response$Type extends MessageType<MiscAPI_ListRe
15585
16649
  }
15586
16650
  }
15587
16651
  /**
15588
- * @generated MessageType for protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Response
16652
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.RevokeGrant
15589
16653
  */
15590
- export const MiscAPI_ListResourceTypes_Response = new MiscAPI_ListResourceTypes_Response$Type();
16654
+ export const AuthAPI_RevokeGrant = new AuthAPI_RevokeGrant$Type();
15591
16655
  // @generated message type with reflection information, may provide speed optimized methods
15592
- class MaintenanceAPI$Type extends MessageType<MaintenanceAPI> {
16656
+ class AuthAPI_RevokeGrant_Request$Type extends MessageType<AuthAPI_RevokeGrant_Request> {
15593
16657
  constructor() {
15594
- super("MiLaboratories.PL.API.MaintenanceAPI", []);
16658
+ super("MiLaboratories.PL.API.AuthAPI.RevokeGrant.Request", [
16659
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
16660
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
16661
+ { no: 3, name: "target_user", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
16662
+ ]);
15595
16663
  }
15596
- create(value?: PartialMessage<MaintenanceAPI>): MaintenanceAPI {
16664
+ create(value?: PartialMessage<AuthAPI_RevokeGrant_Request>): AuthAPI_RevokeGrant_Request {
15597
16665
  const message = globalThis.Object.create((this.messagePrototype!));
16666
+ message.resourceId = 0n;
16667
+ message.targetUser = "";
15598
16668
  if (value !== undefined)
15599
- reflectionMergePartial<MaintenanceAPI>(this, message, value);
16669
+ reflectionMergePartial<AuthAPI_RevokeGrant_Request>(this, message, value);
15600
16670
  return message;
15601
16671
  }
15602
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MaintenanceAPI): MaintenanceAPI {
16672
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_RevokeGrant_Request): AuthAPI_RevokeGrant_Request {
15603
16673
  let message = target ?? this.create(), end = reader.pos + length;
15604
16674
  while (reader.pos < end) {
15605
16675
  let [fieldNo, wireType] = reader.tag();
15606
16676
  switch (fieldNo) {
16677
+ case /* uint64 resource_id */ 1:
16678
+ message.resourceId = reader.uint64().toBigInt();
16679
+ break;
16680
+ case /* optional bytes resource_signature */ 2:
16681
+ message.resourceSignature = reader.bytes();
16682
+ break;
16683
+ case /* string target_user */ 3:
16684
+ message.targetUser = reader.string();
16685
+ break;
15607
16686
  default:
15608
16687
  let u = options.readUnknownField;
15609
16688
  if (u === "throw")
@@ -15615,7 +16694,16 @@ class MaintenanceAPI$Type extends MessageType<MaintenanceAPI> {
15615
16694
  }
15616
16695
  return message;
15617
16696
  }
15618
- internalBinaryWrite(message: MaintenanceAPI, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16697
+ internalBinaryWrite(message: AuthAPI_RevokeGrant_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16698
+ /* uint64 resource_id = 1; */
16699
+ if (message.resourceId !== 0n)
16700
+ writer.tag(1, WireType.Varint).uint64(message.resourceId);
16701
+ /* optional bytes resource_signature = 2; */
16702
+ if (message.resourceSignature !== undefined)
16703
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
16704
+ /* string target_user = 3; */
16705
+ if (message.targetUser !== "")
16706
+ writer.tag(3, WireType.LengthDelimited).string(message.targetUser);
15619
16707
  let u = options.writeUnknownFields;
15620
16708
  if (u !== false)
15621
16709
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15623,21 +16711,21 @@ class MaintenanceAPI$Type extends MessageType<MaintenanceAPI> {
15623
16711
  }
15624
16712
  }
15625
16713
  /**
15626
- * @generated MessageType for protobuf message MiLaboratories.PL.API.MaintenanceAPI
16714
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.RevokeGrant.Request
15627
16715
  */
15628
- export const MaintenanceAPI = new MaintenanceAPI$Type();
16716
+ export const AuthAPI_RevokeGrant_Request = new AuthAPI_RevokeGrant_Request$Type();
15629
16717
  // @generated message type with reflection information, may provide speed optimized methods
15630
- class MaintenanceAPI_Ping$Type extends MessageType<MaintenanceAPI_Ping> {
16718
+ class AuthAPI_RevokeGrant_Response$Type extends MessageType<AuthAPI_RevokeGrant_Response> {
15631
16719
  constructor() {
15632
- super("MiLaboratories.PL.API.MaintenanceAPI.Ping", []);
16720
+ super("MiLaboratories.PL.API.AuthAPI.RevokeGrant.Response", []);
15633
16721
  }
15634
- create(value?: PartialMessage<MaintenanceAPI_Ping>): MaintenanceAPI_Ping {
16722
+ create(value?: PartialMessage<AuthAPI_RevokeGrant_Response>): AuthAPI_RevokeGrant_Response {
15635
16723
  const message = globalThis.Object.create((this.messagePrototype!));
15636
16724
  if (value !== undefined)
15637
- reflectionMergePartial<MaintenanceAPI_Ping>(this, message, value);
16725
+ reflectionMergePartial<AuthAPI_RevokeGrant_Response>(this, message, value);
15638
16726
  return message;
15639
16727
  }
15640
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MaintenanceAPI_Ping): MaintenanceAPI_Ping {
16728
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_RevokeGrant_Response): AuthAPI_RevokeGrant_Response {
15641
16729
  let message = target ?? this.create(), end = reader.pos + length;
15642
16730
  while (reader.pos < end) {
15643
16731
  let [fieldNo, wireType] = reader.tag();
@@ -15653,7 +16741,7 @@ class MaintenanceAPI_Ping$Type extends MessageType<MaintenanceAPI_Ping> {
15653
16741
  }
15654
16742
  return message;
15655
16743
  }
15656
- internalBinaryWrite(message: MaintenanceAPI_Ping, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16744
+ internalBinaryWrite(message: AuthAPI_RevokeGrant_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15657
16745
  let u = options.writeUnknownFields;
15658
16746
  if (u !== false)
15659
16747
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15661,21 +16749,21 @@ class MaintenanceAPI_Ping$Type extends MessageType<MaintenanceAPI_Ping> {
15661
16749
  }
15662
16750
  }
15663
16751
  /**
15664
- * @generated MessageType for protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping
16752
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.RevokeGrant.Response
15665
16753
  */
15666
- export const MaintenanceAPI_Ping = new MaintenanceAPI_Ping$Type();
16754
+ export const AuthAPI_RevokeGrant_Response = new AuthAPI_RevokeGrant_Response$Type();
15667
16755
  // @generated message type with reflection information, may provide speed optimized methods
15668
- class MaintenanceAPI_Ping_Request$Type extends MessageType<MaintenanceAPI_Ping_Request> {
16756
+ class AuthAPI_ListGrants$Type extends MessageType<AuthAPI_ListGrants> {
15669
16757
  constructor() {
15670
- super("MiLaboratories.PL.API.MaintenanceAPI.Ping.Request", []);
16758
+ super("MiLaboratories.PL.API.AuthAPI.ListGrants", []);
15671
16759
  }
15672
- create(value?: PartialMessage<MaintenanceAPI_Ping_Request>): MaintenanceAPI_Ping_Request {
16760
+ create(value?: PartialMessage<AuthAPI_ListGrants>): AuthAPI_ListGrants {
15673
16761
  const message = globalThis.Object.create((this.messagePrototype!));
15674
16762
  if (value !== undefined)
15675
- reflectionMergePartial<MaintenanceAPI_Ping_Request>(this, message, value);
16763
+ reflectionMergePartial<AuthAPI_ListGrants>(this, message, value);
15676
16764
  return message;
15677
16765
  }
15678
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MaintenanceAPI_Ping_Request): MaintenanceAPI_Ping_Request {
16766
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_ListGrants): AuthAPI_ListGrants {
15679
16767
  let message = target ?? this.create(), end = reader.pos + length;
15680
16768
  while (reader.pos < end) {
15681
16769
  let [fieldNo, wireType] = reader.tag();
@@ -15691,7 +16779,7 @@ class MaintenanceAPI_Ping_Request$Type extends MessageType<MaintenanceAPI_Ping_R
15691
16779
  }
15692
16780
  return message;
15693
16781
  }
15694
- internalBinaryWrite(message: MaintenanceAPI_Ping_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16782
+ internalBinaryWrite(message: AuthAPI_ListGrants, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
15695
16783
  let u = options.writeUnknownFields;
15696
16784
  if (u !== false)
15697
16785
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -15699,16 +16787,806 @@ class MaintenanceAPI_Ping_Request$Type extends MessageType<MaintenanceAPI_Ping_R
15699
16787
  }
15700
16788
  }
15701
16789
  /**
15702
- * @generated MessageType for protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping.Request
16790
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.ListGrants
15703
16791
  */
15704
- export const MaintenanceAPI_Ping_Request = new MaintenanceAPI_Ping_Request$Type();
16792
+ export const AuthAPI_ListGrants = new AuthAPI_ListGrants$Type();
16793
+ // @generated message type with reflection information, may provide speed optimized methods
16794
+ class AuthAPI_ListGrants_Request$Type extends MessageType<AuthAPI_ListGrants_Request> {
16795
+ constructor() {
16796
+ super("MiLaboratories.PL.API.AuthAPI.ListGrants.Request", [
16797
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
16798
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
16799
+ ]);
16800
+ }
16801
+ create(value?: PartialMessage<AuthAPI_ListGrants_Request>): AuthAPI_ListGrants_Request {
16802
+ const message = globalThis.Object.create((this.messagePrototype!));
16803
+ message.resourceId = 0n;
16804
+ if (value !== undefined)
16805
+ reflectionMergePartial<AuthAPI_ListGrants_Request>(this, message, value);
16806
+ return message;
16807
+ }
16808
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_ListGrants_Request): AuthAPI_ListGrants_Request {
16809
+ let message = target ?? this.create(), end = reader.pos + length;
16810
+ while (reader.pos < end) {
16811
+ let [fieldNo, wireType] = reader.tag();
16812
+ switch (fieldNo) {
16813
+ case /* uint64 resource_id */ 1:
16814
+ message.resourceId = reader.uint64().toBigInt();
16815
+ break;
16816
+ case /* optional bytes resource_signature */ 2:
16817
+ message.resourceSignature = reader.bytes();
16818
+ break;
16819
+ default:
16820
+ let u = options.readUnknownField;
16821
+ if (u === "throw")
16822
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
16823
+ let d = reader.skip(wireType);
16824
+ if (u !== false)
16825
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
16826
+ }
16827
+ }
16828
+ return message;
16829
+ }
16830
+ internalBinaryWrite(message: AuthAPI_ListGrants_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16831
+ /* uint64 resource_id = 1; */
16832
+ if (message.resourceId !== 0n)
16833
+ writer.tag(1, WireType.Varint).uint64(message.resourceId);
16834
+ /* optional bytes resource_signature = 2; */
16835
+ if (message.resourceSignature !== undefined)
16836
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
16837
+ let u = options.writeUnknownFields;
16838
+ if (u !== false)
16839
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
16840
+ return writer;
16841
+ }
16842
+ }
16843
+ /**
16844
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.ListGrants.Request
16845
+ */
16846
+ export const AuthAPI_ListGrants_Request = new AuthAPI_ListGrants_Request$Type();
16847
+ // @generated message type with reflection information, may provide speed optimized methods
16848
+ class AuthAPI_ListGrants_Response$Type extends MessageType<AuthAPI_ListGrants_Response> {
16849
+ constructor() {
16850
+ super("MiLaboratories.PL.API.AuthAPI.ListGrants.Response", [
16851
+ { no: 1, name: "grant", kind: "message", T: () => AuthAPI_Grant }
16852
+ ]);
16853
+ }
16854
+ create(value?: PartialMessage<AuthAPI_ListGrants_Response>): AuthAPI_ListGrants_Response {
16855
+ const message = globalThis.Object.create((this.messagePrototype!));
16856
+ if (value !== undefined)
16857
+ reflectionMergePartial<AuthAPI_ListGrants_Response>(this, message, value);
16858
+ return message;
16859
+ }
16860
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_ListGrants_Response): AuthAPI_ListGrants_Response {
16861
+ let message = target ?? this.create(), end = reader.pos + length;
16862
+ while (reader.pos < end) {
16863
+ let [fieldNo, wireType] = reader.tag();
16864
+ switch (fieldNo) {
16865
+ case /* MiLaboratories.PL.API.AuthAPI.Grant grant */ 1:
16866
+ message.grant = AuthAPI_Grant.internalBinaryRead(reader, reader.uint32(), options, message.grant);
16867
+ break;
16868
+ default:
16869
+ let u = options.readUnknownField;
16870
+ if (u === "throw")
16871
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
16872
+ let d = reader.skip(wireType);
16873
+ if (u !== false)
16874
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
16875
+ }
16876
+ }
16877
+ return message;
16878
+ }
16879
+ internalBinaryWrite(message: AuthAPI_ListGrants_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16880
+ /* MiLaboratories.PL.API.AuthAPI.Grant grant = 1; */
16881
+ if (message.grant)
16882
+ AuthAPI_Grant.internalBinaryWrite(message.grant, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
16883
+ let u = options.writeUnknownFields;
16884
+ if (u !== false)
16885
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
16886
+ return writer;
16887
+ }
16888
+ }
16889
+ /**
16890
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.ListGrants.Response
16891
+ */
16892
+ export const AuthAPI_ListGrants_Response = new AuthAPI_ListGrants_Response$Type();
16893
+ // @generated message type with reflection information, may provide speed optimized methods
16894
+ class AuthAPI_Grant$Type extends MessageType<AuthAPI_Grant> {
16895
+ constructor() {
16896
+ super("MiLaboratories.PL.API.AuthAPI.Grant", [
16897
+ { no: 1, name: "user", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
16898
+ { no: 2, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
16899
+ { no: 3, name: "permissions", kind: "message", T: () => AuthAPI_Grant_Permissions },
16900
+ { no: 4, name: "granted_by", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
16901
+ { no: 5, name: "granted_at", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }
16902
+ ]);
16903
+ }
16904
+ create(value?: PartialMessage<AuthAPI_Grant>): AuthAPI_Grant {
16905
+ const message = globalThis.Object.create((this.messagePrototype!));
16906
+ message.user = "";
16907
+ message.resourceId = 0n;
16908
+ message.grantedBy = "";
16909
+ message.grantedAt = 0n;
16910
+ if (value !== undefined)
16911
+ reflectionMergePartial<AuthAPI_Grant>(this, message, value);
16912
+ return message;
16913
+ }
16914
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_Grant): AuthAPI_Grant {
16915
+ let message = target ?? this.create(), end = reader.pos + length;
16916
+ while (reader.pos < end) {
16917
+ let [fieldNo, wireType] = reader.tag();
16918
+ switch (fieldNo) {
16919
+ case /* string user */ 1:
16920
+ message.user = reader.string();
16921
+ break;
16922
+ case /* uint64 resource_id */ 2:
16923
+ message.resourceId = reader.uint64().toBigInt();
16924
+ break;
16925
+ case /* MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions */ 3:
16926
+ message.permissions = AuthAPI_Grant_Permissions.internalBinaryRead(reader, reader.uint32(), options, message.permissions);
16927
+ break;
16928
+ case /* string granted_by */ 4:
16929
+ message.grantedBy = reader.string();
16930
+ break;
16931
+ case /* int64 granted_at */ 5:
16932
+ message.grantedAt = reader.int64().toBigInt();
16933
+ break;
16934
+ default:
16935
+ let u = options.readUnknownField;
16936
+ if (u === "throw")
16937
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
16938
+ let d = reader.skip(wireType);
16939
+ if (u !== false)
16940
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
16941
+ }
16942
+ }
16943
+ return message;
16944
+ }
16945
+ internalBinaryWrite(message: AuthAPI_Grant, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
16946
+ /* string user = 1; */
16947
+ if (message.user !== "")
16948
+ writer.tag(1, WireType.LengthDelimited).string(message.user);
16949
+ /* uint64 resource_id = 2; */
16950
+ if (message.resourceId !== 0n)
16951
+ writer.tag(2, WireType.Varint).uint64(message.resourceId);
16952
+ /* MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions = 3; */
16953
+ if (message.permissions)
16954
+ AuthAPI_Grant_Permissions.internalBinaryWrite(message.permissions, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
16955
+ /* string granted_by = 4; */
16956
+ if (message.grantedBy !== "")
16957
+ writer.tag(4, WireType.LengthDelimited).string(message.grantedBy);
16958
+ /* int64 granted_at = 5; */
16959
+ if (message.grantedAt !== 0n)
16960
+ writer.tag(5, WireType.Varint).int64(message.grantedAt);
16961
+ let u = options.writeUnknownFields;
16962
+ if (u !== false)
16963
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
16964
+ return writer;
16965
+ }
16966
+ }
16967
+ /**
16968
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.Grant
16969
+ */
16970
+ export const AuthAPI_Grant = new AuthAPI_Grant$Type();
16971
+ // @generated message type with reflection information, may provide speed optimized methods
16972
+ class AuthAPI_Grant_Permissions$Type extends MessageType<AuthAPI_Grant_Permissions> {
16973
+ constructor() {
16974
+ super("MiLaboratories.PL.API.AuthAPI.Grant.Permissions", [
16975
+ { no: 1, name: "writable", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
16976
+ ]);
16977
+ }
16978
+ create(value?: PartialMessage<AuthAPI_Grant_Permissions>): AuthAPI_Grant_Permissions {
16979
+ const message = globalThis.Object.create((this.messagePrototype!));
16980
+ message.writable = false;
16981
+ if (value !== undefined)
16982
+ reflectionMergePartial<AuthAPI_Grant_Permissions>(this, message, value);
16983
+ return message;
16984
+ }
16985
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_Grant_Permissions): AuthAPI_Grant_Permissions {
16986
+ let message = target ?? this.create(), end = reader.pos + length;
16987
+ while (reader.pos < end) {
16988
+ let [fieldNo, wireType] = reader.tag();
16989
+ switch (fieldNo) {
16990
+ case /* bool writable */ 1:
16991
+ message.writable = reader.bool();
16992
+ break;
16993
+ default:
16994
+ let u = options.readUnknownField;
16995
+ if (u === "throw")
16996
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
16997
+ let d = reader.skip(wireType);
16998
+ if (u !== false)
16999
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17000
+ }
17001
+ }
17002
+ return message;
17003
+ }
17004
+ internalBinaryWrite(message: AuthAPI_Grant_Permissions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17005
+ /* bool writable = 1; */
17006
+ if (message.writable !== false)
17007
+ writer.tag(1, WireType.Varint).bool(message.writable);
17008
+ let u = options.writeUnknownFields;
17009
+ if (u !== false)
17010
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17011
+ return writer;
17012
+ }
17013
+ }
17014
+ /**
17015
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.Grant.Permissions
17016
+ */
17017
+ export const AuthAPI_Grant_Permissions = new AuthAPI_Grant_Permissions$Type();
17018
+ // @generated message type with reflection information, may provide speed optimized methods
17019
+ class AuthAPI_ListUserResources$Type extends MessageType<AuthAPI_ListUserResources> {
17020
+ constructor() {
17021
+ super("MiLaboratories.PL.API.AuthAPI.ListUserResources", []);
17022
+ }
17023
+ create(value?: PartialMessage<AuthAPI_ListUserResources>): AuthAPI_ListUserResources {
17024
+ const message = globalThis.Object.create((this.messagePrototype!));
17025
+ if (value !== undefined)
17026
+ reflectionMergePartial<AuthAPI_ListUserResources>(this, message, value);
17027
+ return message;
17028
+ }
17029
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_ListUserResources): AuthAPI_ListUserResources {
17030
+ let message = target ?? this.create(), end = reader.pos + length;
17031
+ while (reader.pos < end) {
17032
+ let [fieldNo, wireType] = reader.tag();
17033
+ switch (fieldNo) {
17034
+ default:
17035
+ let u = options.readUnknownField;
17036
+ if (u === "throw")
17037
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17038
+ let d = reader.skip(wireType);
17039
+ if (u !== false)
17040
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17041
+ }
17042
+ }
17043
+ return message;
17044
+ }
17045
+ internalBinaryWrite(message: AuthAPI_ListUserResources, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17046
+ let u = options.writeUnknownFields;
17047
+ if (u !== false)
17048
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17049
+ return writer;
17050
+ }
17051
+ }
17052
+ /**
17053
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources
17054
+ */
17055
+ export const AuthAPI_ListUserResources = new AuthAPI_ListUserResources$Type();
17056
+ // @generated message type with reflection information, may provide speed optimized methods
17057
+ class AuthAPI_ListUserResources_Request$Type extends MessageType<AuthAPI_ListUserResources_Request> {
17058
+ constructor() {
17059
+ super("MiLaboratories.PL.API.AuthAPI.ListUserResources.Request", [
17060
+ { no: 1, name: "login", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
17061
+ { no: 2, name: "start_from", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
17062
+ { no: 3, name: "limit", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
17063
+ ]);
17064
+ }
17065
+ create(value?: PartialMessage<AuthAPI_ListUserResources_Request>): AuthAPI_ListUserResources_Request {
17066
+ const message = globalThis.Object.create((this.messagePrototype!));
17067
+ message.login = "";
17068
+ message.startFrom = 0n;
17069
+ message.limit = 0;
17070
+ if (value !== undefined)
17071
+ reflectionMergePartial<AuthAPI_ListUserResources_Request>(this, message, value);
17072
+ return message;
17073
+ }
17074
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_ListUserResources_Request): AuthAPI_ListUserResources_Request {
17075
+ let message = target ?? this.create(), end = reader.pos + length;
17076
+ while (reader.pos < end) {
17077
+ let [fieldNo, wireType] = reader.tag();
17078
+ switch (fieldNo) {
17079
+ case /* string login */ 1:
17080
+ message.login = reader.string();
17081
+ break;
17082
+ case /* uint64 start_from */ 2:
17083
+ message.startFrom = reader.uint64().toBigInt();
17084
+ break;
17085
+ case /* uint32 limit */ 3:
17086
+ message.limit = reader.uint32();
17087
+ break;
17088
+ default:
17089
+ let u = options.readUnknownField;
17090
+ if (u === "throw")
17091
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17092
+ let d = reader.skip(wireType);
17093
+ if (u !== false)
17094
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17095
+ }
17096
+ }
17097
+ return message;
17098
+ }
17099
+ internalBinaryWrite(message: AuthAPI_ListUserResources_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17100
+ /* string login = 1; */
17101
+ if (message.login !== "")
17102
+ writer.tag(1, WireType.LengthDelimited).string(message.login);
17103
+ /* uint64 start_from = 2; */
17104
+ if (message.startFrom !== 0n)
17105
+ writer.tag(2, WireType.Varint).uint64(message.startFrom);
17106
+ /* uint32 limit = 3; */
17107
+ if (message.limit !== 0)
17108
+ writer.tag(3, WireType.Varint).uint32(message.limit);
17109
+ let u = options.writeUnknownFields;
17110
+ if (u !== false)
17111
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17112
+ return writer;
17113
+ }
17114
+ }
17115
+ /**
17116
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources.Request
17117
+ */
17118
+ export const AuthAPI_ListUserResources_Request = new AuthAPI_ListUserResources_Request$Type();
17119
+ // @generated message type with reflection information, may provide speed optimized methods
17120
+ class AuthAPI_ListUserResources_Response$Type extends MessageType<AuthAPI_ListUserResources_Response> {
17121
+ constructor() {
17122
+ super("MiLaboratories.PL.API.AuthAPI.ListUserResources.Response", [
17123
+ { no: 1, name: "user_root", kind: "message", oneof: "entry", T: () => AuthAPI_ListUserResources_UserRoot },
17124
+ { no: 2, name: "shared_resource", kind: "message", oneof: "entry", T: () => AuthAPI_ListUserResources_SharedResource },
17125
+ { no: 3, name: "next_resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
17126
+ ]);
17127
+ }
17128
+ create(value?: PartialMessage<AuthAPI_ListUserResources_Response>): AuthAPI_ListUserResources_Response {
17129
+ const message = globalThis.Object.create((this.messagePrototype!));
17130
+ message.entry = { oneofKind: undefined };
17131
+ message.nextResourceId = 0n;
17132
+ if (value !== undefined)
17133
+ reflectionMergePartial<AuthAPI_ListUserResources_Response>(this, message, value);
17134
+ return message;
17135
+ }
17136
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_ListUserResources_Response): AuthAPI_ListUserResources_Response {
17137
+ let message = target ?? this.create(), end = reader.pos + length;
17138
+ while (reader.pos < end) {
17139
+ let [fieldNo, wireType] = reader.tag();
17140
+ switch (fieldNo) {
17141
+ case /* MiLaboratories.PL.API.AuthAPI.ListUserResources.UserRoot user_root */ 1:
17142
+ message.entry = {
17143
+ oneofKind: "userRoot",
17144
+ userRoot: AuthAPI_ListUserResources_UserRoot.internalBinaryRead(reader, reader.uint32(), options, (message.entry as any).userRoot)
17145
+ };
17146
+ break;
17147
+ case /* MiLaboratories.PL.API.AuthAPI.ListUserResources.SharedResource shared_resource */ 2:
17148
+ message.entry = {
17149
+ oneofKind: "sharedResource",
17150
+ sharedResource: AuthAPI_ListUserResources_SharedResource.internalBinaryRead(reader, reader.uint32(), options, (message.entry as any).sharedResource)
17151
+ };
17152
+ break;
17153
+ case /* uint64 next_resource_id */ 3:
17154
+ message.nextResourceId = reader.uint64().toBigInt();
17155
+ break;
17156
+ default:
17157
+ let u = options.readUnknownField;
17158
+ if (u === "throw")
17159
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17160
+ let d = reader.skip(wireType);
17161
+ if (u !== false)
17162
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17163
+ }
17164
+ }
17165
+ return message;
17166
+ }
17167
+ internalBinaryWrite(message: AuthAPI_ListUserResources_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17168
+ /* MiLaboratories.PL.API.AuthAPI.ListUserResources.UserRoot user_root = 1; */
17169
+ if (message.entry.oneofKind === "userRoot")
17170
+ AuthAPI_ListUserResources_UserRoot.internalBinaryWrite(message.entry.userRoot, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
17171
+ /* MiLaboratories.PL.API.AuthAPI.ListUserResources.SharedResource shared_resource = 2; */
17172
+ if (message.entry.oneofKind === "sharedResource")
17173
+ AuthAPI_ListUserResources_SharedResource.internalBinaryWrite(message.entry.sharedResource, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
17174
+ /* uint64 next_resource_id = 3; */
17175
+ if (message.nextResourceId !== 0n)
17176
+ writer.tag(3, WireType.Varint).uint64(message.nextResourceId);
17177
+ let u = options.writeUnknownFields;
17178
+ if (u !== false)
17179
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17180
+ return writer;
17181
+ }
17182
+ }
17183
+ /**
17184
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources.Response
17185
+ */
17186
+ export const AuthAPI_ListUserResources_Response = new AuthAPI_ListUserResources_Response$Type();
17187
+ // @generated message type with reflection information, may provide speed optimized methods
17188
+ class AuthAPI_ListUserResources_UserRoot$Type extends MessageType<AuthAPI_ListUserResources_UserRoot> {
17189
+ constructor() {
17190
+ super("MiLaboratories.PL.API.AuthAPI.ListUserResources.UserRoot", [
17191
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
17192
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
17193
+ ]);
17194
+ }
17195
+ create(value?: PartialMessage<AuthAPI_ListUserResources_UserRoot>): AuthAPI_ListUserResources_UserRoot {
17196
+ const message = globalThis.Object.create((this.messagePrototype!));
17197
+ message.resourceId = 0n;
17198
+ if (value !== undefined)
17199
+ reflectionMergePartial<AuthAPI_ListUserResources_UserRoot>(this, message, value);
17200
+ return message;
17201
+ }
17202
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_ListUserResources_UserRoot): AuthAPI_ListUserResources_UserRoot {
17203
+ let message = target ?? this.create(), end = reader.pos + length;
17204
+ while (reader.pos < end) {
17205
+ let [fieldNo, wireType] = reader.tag();
17206
+ switch (fieldNo) {
17207
+ case /* uint64 resource_id */ 1:
17208
+ message.resourceId = reader.uint64().toBigInt();
17209
+ break;
17210
+ case /* optional bytes resource_signature */ 2:
17211
+ message.resourceSignature = reader.bytes();
17212
+ break;
17213
+ default:
17214
+ let u = options.readUnknownField;
17215
+ if (u === "throw")
17216
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17217
+ let d = reader.skip(wireType);
17218
+ if (u !== false)
17219
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17220
+ }
17221
+ }
17222
+ return message;
17223
+ }
17224
+ internalBinaryWrite(message: AuthAPI_ListUserResources_UserRoot, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17225
+ /* uint64 resource_id = 1; */
17226
+ if (message.resourceId !== 0n)
17227
+ writer.tag(1, WireType.Varint).uint64(message.resourceId);
17228
+ /* optional bytes resource_signature = 2; */
17229
+ if (message.resourceSignature !== undefined)
17230
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
17231
+ let u = options.writeUnknownFields;
17232
+ if (u !== false)
17233
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17234
+ return writer;
17235
+ }
17236
+ }
17237
+ /**
17238
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources.UserRoot
17239
+ */
17240
+ export const AuthAPI_ListUserResources_UserRoot = new AuthAPI_ListUserResources_UserRoot$Type();
17241
+ // @generated message type with reflection information, may provide speed optimized methods
17242
+ class AuthAPI_ListUserResources_SharedResource$Type extends MessageType<AuthAPI_ListUserResources_SharedResource> {
17243
+ constructor() {
17244
+ super("MiLaboratories.PL.API.AuthAPI.ListUserResources.SharedResource", [
17245
+ { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
17246
+ { no: 2, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
17247
+ { no: 3, name: "resource_type", kind: "message", T: () => ResourceType },
17248
+ { no: 4, name: "permissions", kind: "message", T: () => AuthAPI_Grant_Permissions }
17249
+ ]);
17250
+ }
17251
+ create(value?: PartialMessage<AuthAPI_ListUserResources_SharedResource>): AuthAPI_ListUserResources_SharedResource {
17252
+ const message = globalThis.Object.create((this.messagePrototype!));
17253
+ message.resourceId = 0n;
17254
+ if (value !== undefined)
17255
+ reflectionMergePartial<AuthAPI_ListUserResources_SharedResource>(this, message, value);
17256
+ return message;
17257
+ }
17258
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_ListUserResources_SharedResource): AuthAPI_ListUserResources_SharedResource {
17259
+ let message = target ?? this.create(), end = reader.pos + length;
17260
+ while (reader.pos < end) {
17261
+ let [fieldNo, wireType] = reader.tag();
17262
+ switch (fieldNo) {
17263
+ case /* uint64 resource_id */ 1:
17264
+ message.resourceId = reader.uint64().toBigInt();
17265
+ break;
17266
+ case /* optional bytes resource_signature */ 2:
17267
+ message.resourceSignature = reader.bytes();
17268
+ break;
17269
+ case /* MiLaboratories.PL.Base.ResourceType resource_type */ 3:
17270
+ message.resourceType = ResourceType.internalBinaryRead(reader, reader.uint32(), options, message.resourceType);
17271
+ break;
17272
+ case /* MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions */ 4:
17273
+ message.permissions = AuthAPI_Grant_Permissions.internalBinaryRead(reader, reader.uint32(), options, message.permissions);
17274
+ break;
17275
+ default:
17276
+ let u = options.readUnknownField;
17277
+ if (u === "throw")
17278
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17279
+ let d = reader.skip(wireType);
17280
+ if (u !== false)
17281
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17282
+ }
17283
+ }
17284
+ return message;
17285
+ }
17286
+ internalBinaryWrite(message: AuthAPI_ListUserResources_SharedResource, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17287
+ /* uint64 resource_id = 1; */
17288
+ if (message.resourceId !== 0n)
17289
+ writer.tag(1, WireType.Varint).uint64(message.resourceId);
17290
+ /* optional bytes resource_signature = 2; */
17291
+ if (message.resourceSignature !== undefined)
17292
+ writer.tag(2, WireType.LengthDelimited).bytes(message.resourceSignature);
17293
+ /* MiLaboratories.PL.Base.ResourceType resource_type = 3; */
17294
+ if (message.resourceType)
17295
+ ResourceType.internalBinaryWrite(message.resourceType, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
17296
+ /* MiLaboratories.PL.API.AuthAPI.Grant.Permissions permissions = 4; */
17297
+ if (message.permissions)
17298
+ AuthAPI_Grant_Permissions.internalBinaryWrite(message.permissions, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
17299
+ let u = options.writeUnknownFields;
17300
+ if (u !== false)
17301
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17302
+ return writer;
17303
+ }
17304
+ }
17305
+ /**
17306
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.ListUserResources.SharedResource
17307
+ */
17308
+ export const AuthAPI_ListUserResources_SharedResource = new AuthAPI_ListUserResources_SharedResource$Type();
17309
+ // @generated message type with reflection information, may provide speed optimized methods
17310
+ class MiscAPI$Type extends MessageType<MiscAPI> {
17311
+ constructor() {
17312
+ super("MiLaboratories.PL.API.MiscAPI", []);
17313
+ }
17314
+ create(value?: PartialMessage<MiscAPI>): MiscAPI {
17315
+ const message = globalThis.Object.create((this.messagePrototype!));
17316
+ if (value !== undefined)
17317
+ reflectionMergePartial<MiscAPI>(this, message, value);
17318
+ return message;
17319
+ }
17320
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MiscAPI): MiscAPI {
17321
+ let message = target ?? this.create(), end = reader.pos + length;
17322
+ while (reader.pos < end) {
17323
+ let [fieldNo, wireType] = reader.tag();
17324
+ switch (fieldNo) {
17325
+ default:
17326
+ let u = options.readUnknownField;
17327
+ if (u === "throw")
17328
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17329
+ let d = reader.skip(wireType);
17330
+ if (u !== false)
17331
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17332
+ }
17333
+ }
17334
+ return message;
17335
+ }
17336
+ internalBinaryWrite(message: MiscAPI, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17337
+ let u = options.writeUnknownFields;
17338
+ if (u !== false)
17339
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17340
+ return writer;
17341
+ }
17342
+ }
17343
+ /**
17344
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.MiscAPI
17345
+ */
17346
+ export const MiscAPI = new MiscAPI$Type();
17347
+ // @generated message type with reflection information, may provide speed optimized methods
17348
+ class MiscAPI_ListResourceTypes$Type extends MessageType<MiscAPI_ListResourceTypes> {
17349
+ constructor() {
17350
+ super("MiLaboratories.PL.API.MiscAPI.ListResourceTypes", []);
17351
+ }
17352
+ create(value?: PartialMessage<MiscAPI_ListResourceTypes>): MiscAPI_ListResourceTypes {
17353
+ const message = globalThis.Object.create((this.messagePrototype!));
17354
+ if (value !== undefined)
17355
+ reflectionMergePartial<MiscAPI_ListResourceTypes>(this, message, value);
17356
+ return message;
17357
+ }
17358
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MiscAPI_ListResourceTypes): MiscAPI_ListResourceTypes {
17359
+ let message = target ?? this.create(), end = reader.pos + length;
17360
+ while (reader.pos < end) {
17361
+ let [fieldNo, wireType] = reader.tag();
17362
+ switch (fieldNo) {
17363
+ default:
17364
+ let u = options.readUnknownField;
17365
+ if (u === "throw")
17366
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17367
+ let d = reader.skip(wireType);
17368
+ if (u !== false)
17369
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17370
+ }
17371
+ }
17372
+ return message;
17373
+ }
17374
+ internalBinaryWrite(message: MiscAPI_ListResourceTypes, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17375
+ let u = options.writeUnknownFields;
17376
+ if (u !== false)
17377
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17378
+ return writer;
17379
+ }
17380
+ }
17381
+ /**
17382
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes
17383
+ */
17384
+ export const MiscAPI_ListResourceTypes = new MiscAPI_ListResourceTypes$Type();
17385
+ // @generated message type with reflection information, may provide speed optimized methods
17386
+ class MiscAPI_ListResourceTypes_Request$Type extends MessageType<MiscAPI_ListResourceTypes_Request> {
17387
+ constructor() {
17388
+ super("MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Request", []);
17389
+ }
17390
+ create(value?: PartialMessage<MiscAPI_ListResourceTypes_Request>): MiscAPI_ListResourceTypes_Request {
17391
+ const message = globalThis.Object.create((this.messagePrototype!));
17392
+ if (value !== undefined)
17393
+ reflectionMergePartial<MiscAPI_ListResourceTypes_Request>(this, message, value);
17394
+ return message;
17395
+ }
17396
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MiscAPI_ListResourceTypes_Request): MiscAPI_ListResourceTypes_Request {
17397
+ let message = target ?? this.create(), end = reader.pos + length;
17398
+ while (reader.pos < end) {
17399
+ let [fieldNo, wireType] = reader.tag();
17400
+ switch (fieldNo) {
17401
+ default:
17402
+ let u = options.readUnknownField;
17403
+ if (u === "throw")
17404
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17405
+ let d = reader.skip(wireType);
17406
+ if (u !== false)
17407
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17408
+ }
17409
+ }
17410
+ return message;
17411
+ }
17412
+ internalBinaryWrite(message: MiscAPI_ListResourceTypes_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17413
+ let u = options.writeUnknownFields;
17414
+ if (u !== false)
17415
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17416
+ return writer;
17417
+ }
17418
+ }
17419
+ /**
17420
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Request
17421
+ */
17422
+ export const MiscAPI_ListResourceTypes_Request = new MiscAPI_ListResourceTypes_Request$Type();
17423
+ // @generated message type with reflection information, may provide speed optimized methods
17424
+ class MiscAPI_ListResourceTypes_Response$Type extends MessageType<MiscAPI_ListResourceTypes_Response> {
17425
+ constructor() {
17426
+ super("MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Response", [
17427
+ { no: 1, name: "types", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ResourceType }
17428
+ ]);
17429
+ }
17430
+ create(value?: PartialMessage<MiscAPI_ListResourceTypes_Response>): MiscAPI_ListResourceTypes_Response {
17431
+ const message = globalThis.Object.create((this.messagePrototype!));
17432
+ message.types = [];
17433
+ if (value !== undefined)
17434
+ reflectionMergePartial<MiscAPI_ListResourceTypes_Response>(this, message, value);
17435
+ return message;
17436
+ }
17437
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MiscAPI_ListResourceTypes_Response): MiscAPI_ListResourceTypes_Response {
17438
+ let message = target ?? this.create(), end = reader.pos + length;
17439
+ while (reader.pos < end) {
17440
+ let [fieldNo, wireType] = reader.tag();
17441
+ switch (fieldNo) {
17442
+ case /* repeated MiLaboratories.PL.Base.ResourceType types */ 1:
17443
+ message.types.push(ResourceType.internalBinaryRead(reader, reader.uint32(), options));
17444
+ break;
17445
+ default:
17446
+ let u = options.readUnknownField;
17447
+ if (u === "throw")
17448
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17449
+ let d = reader.skip(wireType);
17450
+ if (u !== false)
17451
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17452
+ }
17453
+ }
17454
+ return message;
17455
+ }
17456
+ internalBinaryWrite(message: MiscAPI_ListResourceTypes_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17457
+ /* repeated MiLaboratories.PL.Base.ResourceType types = 1; */
17458
+ for (let i = 0; i < message.types.length; i++)
17459
+ ResourceType.internalBinaryWrite(message.types[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
17460
+ let u = options.writeUnknownFields;
17461
+ if (u !== false)
17462
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17463
+ return writer;
17464
+ }
17465
+ }
17466
+ /**
17467
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.MiscAPI.ListResourceTypes.Response
17468
+ */
17469
+ export const MiscAPI_ListResourceTypes_Response = new MiscAPI_ListResourceTypes_Response$Type();
17470
+ // @generated message type with reflection information, may provide speed optimized methods
17471
+ class MaintenanceAPI$Type extends MessageType<MaintenanceAPI> {
17472
+ constructor() {
17473
+ super("MiLaboratories.PL.API.MaintenanceAPI", []);
17474
+ }
17475
+ create(value?: PartialMessage<MaintenanceAPI>): MaintenanceAPI {
17476
+ const message = globalThis.Object.create((this.messagePrototype!));
17477
+ if (value !== undefined)
17478
+ reflectionMergePartial<MaintenanceAPI>(this, message, value);
17479
+ return message;
17480
+ }
17481
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MaintenanceAPI): MaintenanceAPI {
17482
+ let message = target ?? this.create(), end = reader.pos + length;
17483
+ while (reader.pos < end) {
17484
+ let [fieldNo, wireType] = reader.tag();
17485
+ switch (fieldNo) {
17486
+ default:
17487
+ let u = options.readUnknownField;
17488
+ if (u === "throw")
17489
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17490
+ let d = reader.skip(wireType);
17491
+ if (u !== false)
17492
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17493
+ }
17494
+ }
17495
+ return message;
17496
+ }
17497
+ internalBinaryWrite(message: MaintenanceAPI, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17498
+ let u = options.writeUnknownFields;
17499
+ if (u !== false)
17500
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17501
+ return writer;
17502
+ }
17503
+ }
17504
+ /**
17505
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.MaintenanceAPI
17506
+ */
17507
+ export const MaintenanceAPI = new MaintenanceAPI$Type();
17508
+ // @generated message type with reflection information, may provide speed optimized methods
17509
+ class MaintenanceAPI_Ping$Type extends MessageType<MaintenanceAPI_Ping> {
17510
+ constructor() {
17511
+ super("MiLaboratories.PL.API.MaintenanceAPI.Ping", []);
17512
+ }
17513
+ create(value?: PartialMessage<MaintenanceAPI_Ping>): MaintenanceAPI_Ping {
17514
+ const message = globalThis.Object.create((this.messagePrototype!));
17515
+ if (value !== undefined)
17516
+ reflectionMergePartial<MaintenanceAPI_Ping>(this, message, value);
17517
+ return message;
17518
+ }
17519
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MaintenanceAPI_Ping): MaintenanceAPI_Ping {
17520
+ let message = target ?? this.create(), end = reader.pos + length;
17521
+ while (reader.pos < end) {
17522
+ let [fieldNo, wireType] = reader.tag();
17523
+ switch (fieldNo) {
17524
+ default:
17525
+ let u = options.readUnknownField;
17526
+ if (u === "throw")
17527
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17528
+ let d = reader.skip(wireType);
17529
+ if (u !== false)
17530
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17531
+ }
17532
+ }
17533
+ return message;
17534
+ }
17535
+ internalBinaryWrite(message: MaintenanceAPI_Ping, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17536
+ let u = options.writeUnknownFields;
17537
+ if (u !== false)
17538
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17539
+ return writer;
17540
+ }
17541
+ }
17542
+ /**
17543
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping
17544
+ */
17545
+ export const MaintenanceAPI_Ping = new MaintenanceAPI_Ping$Type();
17546
+ // @generated message type with reflection information, may provide speed optimized methods
17547
+ class MaintenanceAPI_Ping_Request$Type extends MessageType<MaintenanceAPI_Ping_Request> {
17548
+ constructor() {
17549
+ super("MiLaboratories.PL.API.MaintenanceAPI.Ping.Request", []);
17550
+ }
17551
+ create(value?: PartialMessage<MaintenanceAPI_Ping_Request>): MaintenanceAPI_Ping_Request {
17552
+ const message = globalThis.Object.create((this.messagePrototype!));
17553
+ if (value !== undefined)
17554
+ reflectionMergePartial<MaintenanceAPI_Ping_Request>(this, message, value);
17555
+ return message;
17556
+ }
17557
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MaintenanceAPI_Ping_Request): MaintenanceAPI_Ping_Request {
17558
+ let message = target ?? this.create(), end = reader.pos + length;
17559
+ while (reader.pos < end) {
17560
+ let [fieldNo, wireType] = reader.tag();
17561
+ switch (fieldNo) {
17562
+ default:
17563
+ let u = options.readUnknownField;
17564
+ if (u === "throw")
17565
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17566
+ let d = reader.skip(wireType);
17567
+ if (u !== false)
17568
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17569
+ }
17570
+ }
17571
+ return message;
17572
+ }
17573
+ internalBinaryWrite(message: MaintenanceAPI_Ping_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17574
+ let u = options.writeUnknownFields;
17575
+ if (u !== false)
17576
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17577
+ return writer;
17578
+ }
17579
+ }
17580
+ /**
17581
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.MaintenanceAPI.Ping.Request
17582
+ */
17583
+ export const MaintenanceAPI_Ping_Request = new MaintenanceAPI_Ping_Request$Type();
15705
17584
  // @generated message type with reflection information, may provide speed optimized methods
15706
17585
  class MaintenanceAPI_Ping_Response$Type extends MessageType<MaintenanceAPI_Ping_Response> {
15707
17586
  constructor() {
15708
17587
  super("MiLaboratories.PL.API.MaintenanceAPI.Ping.Response", [
15709
17588
  { no: 1, name: "core_version", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
15710
17589
  { no: 2, name: "core_full_version", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
15711
- { no: 3, name: "server_info", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
15712
17590
  { no: 4, name: "compression", kind: "enum", T: () => ["MiLaboratories.PL.API.MaintenanceAPI.Ping.Response.Compression", MaintenanceAPI_Ping_Response_Compression] },
15713
17591
  { no: 5, name: "instance_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
15714
17592
  { no: 6, name: "platform", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
@@ -15720,7 +17598,6 @@ class MaintenanceAPI_Ping_Response$Type extends MessageType<MaintenanceAPI_Ping_
15720
17598
  const message = globalThis.Object.create((this.messagePrototype!));
15721
17599
  message.coreVersion = "";
15722
17600
  message.coreFullVersion = "";
15723
- message.serverInfo = "";
15724
17601
  message.compression = 0;
15725
17602
  message.instanceId = "";
15726
17603
  message.platform = "";
@@ -15741,9 +17618,6 @@ class MaintenanceAPI_Ping_Response$Type extends MessageType<MaintenanceAPI_Ping_
15741
17618
  case /* string core_full_version */ 2:
15742
17619
  message.coreFullVersion = reader.string();
15743
17620
  break;
15744
- case /* string server_info */ 3:
15745
- message.serverInfo = reader.string();
15746
- break;
15747
17621
  case /* MiLaboratories.PL.API.MaintenanceAPI.Ping.Response.Compression compression */ 4:
15748
17622
  message.compression = reader.int32();
15749
17623
  break;
@@ -15777,9 +17651,6 @@ class MaintenanceAPI_Ping_Response$Type extends MessageType<MaintenanceAPI_Ping_
15777
17651
  /* string core_full_version = 2; */
15778
17652
  if (message.coreFullVersion !== "")
15779
17653
  writer.tag(2, WireType.LengthDelimited).string(message.coreFullVersion);
15780
- /* string server_info = 3; */
15781
- if (message.serverInfo !== "")
15782
- writer.tag(3, WireType.LengthDelimited).string(message.serverInfo);
15783
17654
  /* MiLaboratories.PL.API.MaintenanceAPI.Ping.Response.Compression compression = 4; */
15784
17655
  if (message.compression !== 0)
15785
17656
  writer.tag(4, WireType.Varint).int32(message.compression);
@@ -15944,6 +17815,82 @@ class MaintenanceAPI_License_Response$Type extends MessageType<MaintenanceAPI_Li
15944
17815
  * @generated MessageType for protobuf message MiLaboratories.PL.API.MaintenanceAPI.License.Response
15945
17816
  */
15946
17817
  export const MaintenanceAPI_License_Response = new MaintenanceAPI_License_Response$Type();
17818
+ // @generated message type with reflection information, may provide speed optimized methods
17819
+ class Util$Type extends MessageType<Util> {
17820
+ constructor() {
17821
+ super("MiLaboratories.PL.API.Util", []);
17822
+ }
17823
+ create(value?: PartialMessage<Util>): Util {
17824
+ const message = globalThis.Object.create((this.messagePrototype!));
17825
+ if (value !== undefined)
17826
+ reflectionMergePartial<Util>(this, message, value);
17827
+ return message;
17828
+ }
17829
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Util): Util {
17830
+ let message = target ?? this.create(), end = reader.pos + length;
17831
+ while (reader.pos < end) {
17832
+ let [fieldNo, wireType] = reader.tag();
17833
+ switch (fieldNo) {
17834
+ default:
17835
+ let u = options.readUnknownField;
17836
+ if (u === "throw")
17837
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17838
+ let d = reader.skip(wireType);
17839
+ if (u !== false)
17840
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17841
+ }
17842
+ }
17843
+ return message;
17844
+ }
17845
+ internalBinaryWrite(message: Util, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17846
+ let u = options.writeUnknownFields;
17847
+ if (u !== false)
17848
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17849
+ return writer;
17850
+ }
17851
+ }
17852
+ /**
17853
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.Util
17854
+ */
17855
+ export const Util = new Util$Type();
17856
+ // @generated message type with reflection information, may provide speed optimized methods
17857
+ class Util_Deprecated$Type extends MessageType<Util_Deprecated> {
17858
+ constructor() {
17859
+ super("MiLaboratories.PL.API.Util.Deprecated", []);
17860
+ }
17861
+ create(value?: PartialMessage<Util_Deprecated>): Util_Deprecated {
17862
+ const message = globalThis.Object.create((this.messagePrototype!));
17863
+ if (value !== undefined)
17864
+ reflectionMergePartial<Util_Deprecated>(this, message, value);
17865
+ return message;
17866
+ }
17867
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Util_Deprecated): Util_Deprecated {
17868
+ let message = target ?? this.create(), end = reader.pos + length;
17869
+ while (reader.pos < end) {
17870
+ let [fieldNo, wireType] = reader.tag();
17871
+ switch (fieldNo) {
17872
+ default:
17873
+ let u = options.readUnknownField;
17874
+ if (u === "throw")
17875
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
17876
+ let d = reader.skip(wireType);
17877
+ if (u !== false)
17878
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
17879
+ }
17880
+ }
17881
+ return message;
17882
+ }
17883
+ internalBinaryWrite(message: Util_Deprecated, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
17884
+ let u = options.writeUnknownFields;
17885
+ if (u !== false)
17886
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
17887
+ return writer;
17888
+ }
17889
+ }
17890
+ /**
17891
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.Util.Deprecated
17892
+ */
17893
+ export const Util_Deprecated = new Util_Deprecated$Type();
15947
17894
  /**
15948
17895
  * @generated ServiceType for protobuf service MiLaboratories.PL.API.Platform
15949
17896
  */
@@ -15966,11 +17913,16 @@ export const Platform = new ServiceType("MiLaboratories.PL.API.Platform", [
15966
17913
  { name: "GetControllerUrl", options: { "google.api.http": { post: "/v1/controller/url", body: "*" } }, I: ControllerAPI_GetUrl_Request, O: ControllerAPI_GetUrl_Response },
15967
17914
  { name: "ControllerSetFeatures", options: { "google.api.http": { post: "/v1/controller/features", body: "*" } }, I: ControllerAPI_SetFeatures_Request, O: ControllerAPI_SetFeatures_Response },
15968
17915
  { name: "ControllerClearFeatures", options: { "google.api.http": { delete: "/v1/controller/features", body: "*" } }, I: ControllerAPI_ClearFeatures_Request, O: ControllerAPI_ClearFeatures_Response },
15969
- { name: "LeaseResource", options: { "google.api.http": { post: "/v1/locks/lease", body: "*" } }, I: LocksAPI_Lease_Create_Request, O: LocksAPI_Lease_Create_Response },
15970
- { name: "UpdateLease", options: { "google.api.http": { put: "/v1/locks/lease", body: "*" } }, I: LocksAPI_Lease_Update_Request, O: LocksAPI_Lease_Update_Response },
15971
- { name: "ReleaseLease", options: { "google.api.http": { delete: "/v1/locks/lease", body: "*" } }, I: LocksAPI_Lease_Release_Request, O: LocksAPI_Lease_Release_Response },
17916
+ { name: "LockFieldValues", options: { "google.api.http": { post: "/v1/locks/lock/create", body: "*" } }, I: LocksAPI_LockFieldValues_Create_Request, O: LocksAPI_LockFieldValues_Create_Response },
17917
+ { name: "LeaseResource", options: { "google.api.http": { post: "/v1/locks/lease/create", body: "*" } }, I: LocksAPI_Lease_Create_Request, O: LocksAPI_Lease_Create_Response },
17918
+ { name: "UpdateLease", options: { "google.api.http": { post: "/v1/locks/lease/update", body: "*" } }, I: LocksAPI_Lease_Update_Request, O: LocksAPI_Lease_Update_Response },
17919
+ { name: "ReleaseLease", options: { "google.api.http": { post: "/v1/locks/lease/release", body: "*" } }, I: LocksAPI_Lease_Release_Request, O: LocksAPI_Lease_Release_Response },
15972
17920
  { name: "AuthMethods", options: { "google.api.http": { get: "/v1/auth/methods" } }, I: AuthAPI_ListMethods_Request, O: AuthAPI_ListMethods_Response },
15973
17921
  { name: "GetJWTToken", options: { "google.api.http": { post: "/v1/auth/jwt-token", body: "*" } }, I: AuthAPI_GetJWTToken_Request, O: AuthAPI_GetJWTToken_Response },
17922
+ { name: "GrantAccess", options: { "google.api.http": { post: "/v1/auth/grant-access", body: "*" } }, I: AuthAPI_GrantAccess_Request, O: AuthAPI_GrantAccess_Response },
17923
+ { name: "RevokeGrant", options: { "google.api.http": { post: "/v1/auth/revoke-grant", body: "*" } }, I: AuthAPI_RevokeGrant_Request, O: AuthAPI_RevokeGrant_Response },
17924
+ { name: "ListGrants", serverStreaming: true, options: {}, I: AuthAPI_ListGrants_Request, O: AuthAPI_ListGrants_Response },
17925
+ { name: "ListUserResources", serverStreaming: true, options: {}, I: AuthAPI_ListUserResources_Request, O: AuthAPI_ListUserResources_Response },
15974
17926
  { name: "ListResourceTypes", options: { "google.api.http": { get: "/v1/resource-types" } }, I: MiscAPI_ListResourceTypes_Request, O: MiscAPI_ListResourceTypes_Response },
15975
17927
  { name: "Ping", options: { "google.api.http": { get: "/v1/ping" } }, I: MaintenanceAPI_Ping_Request, O: MaintenanceAPI_Ping_Response },
15976
17928
  { name: "License", options: { "google.api.http": { get: "/v1/license" } }, I: MaintenanceAPI_License_Request, O: MaintenanceAPI_License_Response }