@milaboratories/pl-drivers 1.12.7 → 1.12.8

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 (92) hide show
  1. package/dist/clients/download.cjs +1 -0
  2. package/dist/clients/download.cjs.map +1 -1
  3. package/dist/clients/download.js +1 -0
  4. package/dist/clients/download.js.map +1 -1
  5. package/dist/clients/logs.cjs +2 -0
  6. package/dist/clients/logs.cjs.map +1 -1
  7. package/dist/clients/logs.js +2 -0
  8. package/dist/clients/logs.js.map +1 -1
  9. package/dist/clients/ls_api.cjs +1 -0
  10. package/dist/clients/ls_api.cjs.map +1 -1
  11. package/dist/clients/ls_api.js +1 -0
  12. package/dist/clients/ls_api.js.map +1 -1
  13. package/dist/clients/progress.cjs +4 -1
  14. package/dist/clients/progress.cjs.map +1 -1
  15. package/dist/clients/progress.js +4 -1
  16. package/dist/clients/progress.js.map +1 -1
  17. package/dist/clients/upload.cjs +17 -3
  18. package/dist/clients/upload.cjs.map +1 -1
  19. package/dist/clients/upload.js +17 -3
  20. package/dist/clients/upload.js.map +1 -1
  21. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs +28 -16
  22. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs.map +1 -1
  23. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.cjs +1 -1
  24. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.cjs.map +1 -1
  25. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.d.ts +2 -2
  26. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.js +1 -1
  27. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.js.map +1 -1
  28. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.d.ts +11 -5
  29. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js +28 -16
  30. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js.map +1 -1
  31. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs +26 -12
  32. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs.map +1 -1
  33. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.cjs +4 -4
  34. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.cjs.map +1 -1
  35. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.js +4 -4
  36. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.js.map +1 -1
  37. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts +16 -16
  38. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js +26 -12
  39. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js.map +1 -1
  40. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs +36 -12
  41. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs.map +1 -1
  42. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.cjs +1 -1
  43. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.cjs.map +1 -1
  44. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.d.ts +2 -2
  45. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.js +1 -1
  46. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.js.map +1 -1
  47. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.d.ts +8 -0
  48. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js +36 -12
  49. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js.map +1 -1
  50. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs +29 -189
  51. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs.map +1 -1
  52. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.cjs +20 -41
  53. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.cjs.map +1 -1
  54. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.d.ts +36 -66
  55. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.js +20 -41
  56. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.js.map +1 -1
  57. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts +52 -137
  58. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js +29 -189
  59. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js.map +1 -1
  60. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs +225 -24
  61. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs.map +1 -1
  62. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.cjs +21 -7
  63. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.cjs.map +1 -1
  64. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.js +21 -7
  65. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.js.map +1 -1
  66. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js +225 -24
  67. package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js.map +1 -1
  68. package/dist/proto-rest/downloadapi.d.ts +8 -3
  69. package/dist/proto-rest/progressapi.d.ts +4 -2
  70. package/dist/proto-rest/streamingapi.d.ts +64 -203
  71. package/package.json +5 -5
  72. package/src/clients/download.ts +1 -0
  73. package/src/clients/logs.ts +2 -0
  74. package/src/clients/ls_api.ts +1 -0
  75. package/src/clients/progress.ts +1 -1
  76. package/src/clients/upload.ts +14 -1
  77. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.ts +2 -2
  78. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.ts +24 -11
  79. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.ts +8 -8
  80. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.ts +31 -18
  81. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.ts +2 -2
  82. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.ts +23 -1
  83. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.ts +39 -78
  84. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.ts +72 -263
  85. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.ts +41 -14
  86. package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.ts +286 -44
  87. package/src/proto-grpc/google/protobuf/descriptor.ts +2 -5
  88. package/src/proto-rest/downloadapi.ts +8 -3
  89. package/src/proto-rest/lsapi.ts +23 -18
  90. package/src/proto-rest/progressapi.ts +4 -0
  91. package/src/proto-rest/streamingapi.ts +65 -211
  92. package/src/proto-rest/uploadapi.ts +141 -39
@@ -14,14 +14,14 @@ interface paths {
14
14
  get?: never;
15
15
  put?: never;
16
16
  /**
17
- * @description LastLines provides single message with the last lines from data source.
18
- * When search pattern is specified, the last lines matching the given pattern are returned.
19
- * The lines are returned in reversed order, as server reads data source from the end.
20
- * Consider it as equivalent to 'tac <file> | grep <search> | head -n <line_count>'
17
+ * @description LastLines provides a single message with the last lines from the data source.
18
+ * When a search pattern is specified, the last lines matching the given pattern are returned.
19
+ * The lines are returned in reverse order, as the server reads the data source from the end.
20
+ * Consider it equivalent to 'tac <file> | grep <search> | head -n <line_count>'
21
21
  * The <new_offset> returned in the response points to the _beginning_ of the last
22
- * line found, so client can continue reading the file backwards in subsequent calls.
23
- * This means, that use of this <new_offset> in ReadText() will return you the same line
24
- * returned last in LastLines() data.
22
+ * line found, so the client can continue reading the file backwards in subsequent calls.
23
+ * This means that the use of this <new_offset> in ReadText() will return the last line
24
+ * returned in the LastLines() response.
25
25
  */
26
26
  post: operations["Streaming_LastLines"];
27
27
  delete?: never;
@@ -40,10 +40,10 @@ interface paths {
40
40
  get?: never;
41
41
  put?: never;
42
42
  /**
43
- * @description ReadBinary allows to read remote item in chunks using stream-like API.
44
- * The difference to StreamBinary is that the client receives single response for each
45
- * call and has to send new calls to the server to get fresh data from remote item.
46
- * Each response (each chunk from server) keeps not more than 3.9MiB of data.
43
+ * @description ReadBinary allows reading a remote item in chunks using a stream-like API.
44
+ * The client receives a single response for each call and has to send new calls
45
+ * to the server to get fresh data from the remote item.
46
+ * Each response (each chunk from the server) contains no more than 3.9MiB of data.
47
47
  */
48
48
  post: operations["Streaming_ReadBinary"];
49
49
  delete?: never;
@@ -62,10 +62,10 @@ interface paths {
62
62
  get?: never;
63
63
  put?: never;
64
64
  /**
65
- * @description ReadBinary allows to read remote item in chunks using stream-like API.
66
- * The difference to StreamBinary is that the client receives single response for each
67
- * call and has to send new calls to the server to get fresh data from remote item.
68
- * Each response (each chunk from server) keeps not more than 3.9MiB of data.
65
+ * @description ReadText allows reading a remote item in chunks using a stream-like API.
66
+ * The client receives a single response for each call and has to send new calls
67
+ * to the server to get fresh data from the remote item.
68
+ * Each response (each chunk from the server) contains no more than 3.9MiB of data.
69
69
  */
70
70
  post: operations["Streaming_ReadText"];
71
71
  delete?: never;
@@ -74,47 +74,6 @@ interface paths {
74
74
  patch?: never;
75
75
  trace?: never;
76
76
  };
77
- "/v1/stream/binary": {
78
- parameters: {
79
- query?: never;
80
- header?: never;
81
- path?: never;
82
- cookie?: never;
83
- };
84
- get?: never;
85
- put?: never;
86
- /**
87
- * @description StreamBinary provides stream of binary file. Each response message keeps
88
- * one single chunk of binary data from data source. See StreamingAPI.Binary message
89
- * for more info on available options.
90
- */
91
- post: operations["Streaming_StreamBinary"];
92
- delete?: never;
93
- options?: never;
94
- head?: never;
95
- patch?: never;
96
- trace?: never;
97
- };
98
- "/v1/stream/text": {
99
- parameters: {
100
- query?: never;
101
- header?: never;
102
- path?: never;
103
- cookie?: never;
104
- };
105
- get?: never;
106
- put?: never;
107
- /**
108
- * @description StreamText provides stream of textual file, splitting the data by newline symbol.
109
- * Each response message keeps one single line of text from data source.
110
- */
111
- post: operations["Streaming_StreamText"];
112
- delete?: never;
113
- options?: never;
114
- head?: never;
115
- patch?: never;
116
- trace?: never;
117
- };
118
77
  }
119
78
  interface components {
120
79
  schemas: {
@@ -133,35 +92,45 @@ interface components {
133
92
  details: components["schemas"]["GoogleProtobufAny"][];
134
93
  };
135
94
  StreamingAPI_LastLines: {
136
- /** @description <resource_id> of Stream resource, that keeps info on item to be streamed. */resourceId: string;
95
+ /** @description <resource_id> of Stream resource that keeps info on item to be streamed. */resourceId: string;
137
96
  /**
138
- * @description <offset> makes streamer to perform seek operation to given offset before sending the contents.
139
- * This offset is taken in BYTES, as it eases streaming recovery after client reconnection or controller restart.
140
- * By default, LastLines starts to treat the data source from the very last byte available in data stream
141
- * at the moment of call, but client can set the server to start from earlier position.
97
+ * Format: bytes
98
+ * @description Signature proving the caller is authorized to access this resource.
99
+ */
100
+ resourceSignature: string;
101
+ /**
102
+ * @description <offset> makes the streamer perform a seek operation to the given offset before sending the contents.
103
+ * This offset is taken in BYTES, as it eases streaming recovery after a client reconnection or controller restart.
104
+ * By default, LastLines starts reading the data source from the very last byte available in the data stream
105
+ * at the moment of the call, but the client can set the server to start from an earlier position.
142
106
  */
143
107
  offset: string;
144
108
  /**
145
109
  * Format: int32
146
- * @description <line_count> makes streamer to return up to <line_count> lines to the client.
110
+ * @description <line_count> makes the streamer return up to <line_count> lines to the client.
147
111
  * Default value: 1
148
112
  */
149
113
  lineCount: number;
150
114
  /**
151
- * @description <search> is substring for line search pattern.
152
- * This option makes controller to send to the client only lines, that
153
- * have given substring.
115
+ * @description <search> is a substring for the line search pattern.
116
+ * This option makes the controller send to the client only lines that
117
+ * have the given substring.
154
118
  */
155
119
  search: string;
156
120
  /**
157
- * @description <search_re> is regular expression for line search pattern.
158
- * This option makes controller to send to the client only lines, that
159
- * match given regular expression.
121
+ * @description <search_re> is a regular expression for the line search pattern.
122
+ * This option makes the controller send to the client only lines that
123
+ * match the given regular expression.
160
124
  */
161
125
  searchRe: string;
162
126
  };
163
127
  StreamingAPI_ReadBinary: {
164
- /** @description <resource_id> of Stream resource, that keeps info on item to be streamed. */resourceId: string; /** @description <offset> makes streamer to perform seek operation to given offset before sending the data. */
128
+ /** @description <resource_id> of Stream resource that keeps info on item to be streamed. */resourceId: string;
129
+ /**
130
+ * Format: bytes
131
+ * @description Signature proving the caller is authorized to access this resource.
132
+ */
133
+ resourceSignature: string; /** @description <offset> makes the streamer perform a seek operation to the given offset before sending the data. */
165
134
  offset: string;
166
135
  /**
167
136
  * Format: uint32
@@ -173,112 +142,66 @@ interface components {
173
142
  chunkSize: number;
174
143
  };
175
144
  StreamingAPI_ReadText: {
176
- /** @description <resource_id> of Stream resource, that keeps info on item to be streamed. */resourceId: string;
145
+ /** @description <resource_id> of Stream resource that keeps info on item to be streamed. */resourceId: string;
146
+ /**
147
+ * Format: bytes
148
+ * @description Signature proving the caller is authorized to access this resource.
149
+ */
150
+ resourceSignature: string;
177
151
  /**
178
- * @description <offset> makes streamer to perform seek operation to given offset before sending the contents.
179
- * This offset is taken in BYTES, as it eases streaming recovery after client reconnection or controller restart.
180
- * Client can just use the <new_offset> value of the last response from server to continue streaming after reconnection.
152
+ * @description <offset> makes the streamer perform a seek operation to the given offset before sending the contents.
153
+ * This offset is taken in BYTES, as it eases streaming recovery after a client reconnection or controller restart.
154
+ * The client can just use the <new_offset> value of the last response from the server to continue streaming after reconnection.
181
155
  */
182
156
  offset: string;
183
157
  /**
184
- * @description <read_limit> allows client to limit total data sent from server.
158
+ * @description <read_limit> allows the client to limit total data sent from the server.
185
159
  * Measured in lines of text.
186
160
  * E.g. to read top 1000 lines from stream source, use <read_limit> = 1000.
187
161
  * When both <read_limit> and <search>/<search_re> are set, the <read_limit> is applied first.
188
- * this is equivalent to 'head -n <read_limit> | grep <search>'.
189
- * At most 3.9 MiB (3900 * 1024 KiB) of data is returned in single read regardless of <read_limit> option
162
+ * This is equivalent to 'head -n <read_limit> | grep <search>'.
163
+ * At most 3.9 MiB (3900 KiB) of data is returned in a single read regardless of the <read_limit> option
190
164
  * Only full lines of text are returned except for the last line from the completed source
191
- * (the one that is not expected to have new data, like blob in storage)
165
+ * (the one that is not expected to have new data, like a blob in storage)
192
166
  */
193
167
  readLimit: string;
194
168
  /**
195
- * @description <search> is substring for line search pattern.
196
- * This option makes controller to send to the client only lines, that
197
- * have given substring.
169
+ * @description <search> is a substring for the line search pattern.
170
+ * This option makes the controller send to the client only lines that
171
+ * have the given substring.
198
172
  */
199
173
  search: string;
200
174
  /**
201
- * @description <search_re> is regular expression for line search pattern.
202
- * This option makes controller to send to the client only lines, that
203
- * match given regular expression.
175
+ * @description <search_re> is a regular expression for the line search pattern.
176
+ * This option makes the controller send to the client only lines that
177
+ * match the given regular expression.
204
178
  */
205
179
  searchRe: string;
206
180
  };
207
181
  StreamingAPI_Response: {
208
182
  /**
209
183
  * Format: bytes
210
- * @description data chunk from item, starting from the <new_offset> of the previous message in the same stream.
184
+ * @description data chunk from the item, starting from the <new_offset> of the previous message in the same stream.
211
185
  */
212
186
  data: string;
213
187
  /**
214
188
  * @description <size> is the actual size of the streamed item at the moment of this message.
215
- * This might be not a final amount of streamed data, as stream source can be updated
216
- * by other independent process (e.g., data is written to log file).
217
- * This field in combination with <new_offset> shows, how far the client is from the end
189
+ * This might not be the final amount of streamed data, as the stream source can be updated
190
+ * by another independent process (e.g., data is written to a log file).
191
+ * This field in combination with <new_offset> shows how far the client is from the end
218
192
  * of the data right now.
219
193
  */
220
194
  size: string;
221
195
  /**
222
196
  * @description <new_offset> is the new offset in bytes from the start of the streamed item,
223
- * including size of <data> in current response.
224
- * Call to Stream rpc with <offset> = <new_offset> will continue
225
- * streaming from the place of last received message
197
+ * including the size of <data> in the current response.
198
+ * A call to the Stream RPC with <offset> = <new_offset> will continue
199
+ * streaming from the place of the last received message
226
200
  * (e.g. <offset> = <new_offset> - 1 will repeat the last byte of
227
201
  * previously received <data>)
228
202
  */
229
203
  newOffset: string;
230
204
  };
231
- StreamingAPI_StreamBinary: {
232
- /** @description <resource_id> of Stream resource, that keeps info on item to be streamed. */resourceId: string; /** @description <offset> makes streamer to perform seek operation to given offset before sending the data. */
233
- offset: string;
234
- /**
235
- * Format: uint32
236
- * @description <chunk_size> limits the maximum size of <data> for each response message in stream.
237
- *
238
- * Default value: 32 768 (32 KiB)
239
- * Max value: 3900 * 1024 (3.9 MiB)
240
- */
241
- chunkSize: number;
242
- /**
243
- * @description <read_limit> allows client to limit total data sent from server.
244
- * This limit is aggregation of all data, sent in all chunks.
245
- * E.g. to read 2000 bytes of data in chunks of at most
246
- * 130 bytes, use <chunk_size> = 130; <read_limit> = 2000.
247
- * For storage item of appropriate size this settings will result in
248
- * 16 messages from server: 15 of 130 bytes and one of 50 bytes.
249
- */
250
- readLimit: string;
251
- };
252
- StreamingAPI_StreamText: {
253
- /** @description <resource_id> of Stream resource, that keeps info on item to be streamed. */resourceId: string;
254
- /**
255
- * @description <offset> makes streamer to perform seek operation to given offset before sending the contents.
256
- * This offset is taken in BYTES, as it eases streaming recovery after client reconnection or controller restart.
257
- * Client can just use the <new_offset> value of the last response from server to continue streaming after reconnection.
258
- */
259
- offset: string;
260
- /**
261
- * @description <read_limit> allows client to limit total data sent from server.
262
- * This limit is aggregation of all data, sent in all chunks, measured
263
- * in lines of text.
264
- * E.g. to read top 1000 lines from stream source, use <read_limit> = 1000.
265
- * When both <read_limit> and <search>/<search_re> are set, the <read_limit> is applied first.
266
- * this is equivalent to 'head -n <read_limit> | grep <search>'.
267
- */
268
- readLimit: string;
269
- /**
270
- * @description <search> is substring for line search pattern.
271
- * This option makes controller to send to the client only lines, that
272
- * have given substring.
273
- */
274
- search: string;
275
- /**
276
- * @description <search_re> is regular expression for line search pattern.
277
- * This option makes controller to send to the client only lines, that
278
- * match given regular expression.
279
- */
280
- searchRe: string;
281
- };
282
205
  };
283
206
  responses: never;
284
207
  parameters: never;
@@ -380,68 +303,6 @@ interface operations {
380
303
  };
381
304
  };
382
305
  };
383
- Streaming_StreamBinary: {
384
- parameters: {
385
- query?: never;
386
- header?: never;
387
- path?: never;
388
- cookie?: never;
389
- };
390
- requestBody: {
391
- content: {
392
- "application/json": components["schemas"]["StreamingAPI_StreamBinary"];
393
- };
394
- };
395
- responses: {
396
- /** @description OK */200: {
397
- headers: {
398
- [name: string]: unknown;
399
- };
400
- content: {
401
- "application/json": components["schemas"]["StreamingAPI_Response"];
402
- };
403
- }; /** @description Default error response */
404
- default: {
405
- headers: {
406
- [name: string]: unknown;
407
- };
408
- content: {
409
- "application/json": components["schemas"]["Status"];
410
- };
411
- };
412
- };
413
- };
414
- Streaming_StreamText: {
415
- parameters: {
416
- query?: never;
417
- header?: never;
418
- path?: never;
419
- cookie?: never;
420
- };
421
- requestBody: {
422
- content: {
423
- "application/json": components["schemas"]["StreamingAPI_StreamText"];
424
- };
425
- };
426
- responses: {
427
- /** @description OK */200: {
428
- headers: {
429
- [name: string]: unknown;
430
- };
431
- content: {
432
- "application/json": components["schemas"]["StreamingAPI_Response"];
433
- };
434
- }; /** @description Default error response */
435
- default: {
436
- headers: {
437
- [name: string]: unknown;
438
- };
439
- content: {
440
- "application/json": components["schemas"]["Status"];
441
- };
442
- };
443
- };
444
- };
445
306
  }
446
307
  //#endregion
447
308
  export { paths };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-drivers",
3
- "version": "1.12.7",
3
+ "version": "1.12.8",
4
4
  "description": "Drivers and a low-level clients for log streaming, downloading and uploading files from and to pl",
5
5
  "files": [
6
6
  "dist/**/*",
@@ -29,10 +29,10 @@
29
29
  "undici": "~7.16.0",
30
30
  "zod": "~3.23.8",
31
31
  "@milaboratories/computable": "2.9.2",
32
- "@milaboratories/pl-client": "2.18.5",
33
- "@milaboratories/pl-tree": "1.9.6",
34
32
  "@milaboratories/pl-model-common": "1.31.1",
35
33
  "@milaboratories/helpers": "1.14.1",
34
+ "@milaboratories/pl-client": "3.0.0",
35
+ "@milaboratories/pl-tree": "1.9.7",
36
36
  "@milaboratories/ts-helpers": "1.8.1"
37
37
  },
38
38
  "devDependencies": {
@@ -43,10 +43,10 @@
43
43
  "openapi-typescript": "^7.10.0",
44
44
  "typescript": "~5.9.3",
45
45
  "vitest": "^4.0.18",
46
- "@milaboratories/build-configs": "1.5.2",
47
46
  "@milaboratories/test-helpers": "1.2.1",
48
47
  "@milaboratories/ts-builder": "1.3.0",
49
- "@milaboratories/ts-configs": "1.2.2"
48
+ "@milaboratories/ts-configs": "1.2.2",
49
+ "@milaboratories/build-configs": "1.5.2"
50
50
  },
51
51
  "engines": {
52
52
  "node": ">=22"
@@ -147,6 +147,7 @@ export class ClientDownload {
147
147
  await client.POST("/v1/get-download-url", {
148
148
  body: {
149
149
  resourceId: id.toString(),
150
+ resourceSignature: "",
150
151
  isInternalUse: false,
151
152
  },
152
153
  headers: { ...createRTypeRoutingHeader(type) },
@@ -57,6 +57,7 @@ export class ClientLogs {
57
57
  await client.POST("/v1/last-lines", {
58
58
  body: {
59
59
  resourceId: rId.toString(),
60
+ resourceSignature: "",
60
61
  lineCount: lineCount,
61
62
  offset: offsetBytes.toString(),
62
63
  search: searchStr ?? "",
@@ -103,6 +104,7 @@ export class ClientLogs {
103
104
  await client.POST("/v1/read/text", {
104
105
  body: {
105
106
  resourceId: rId.toString(),
107
+ resourceSignature: "",
106
108
  readLimit: lineCount.toString(),
107
109
  offset: offsetBytes.toString(),
108
110
  search: searchStr ?? "",
@@ -55,6 +55,7 @@ export class ClientLs {
55
55
  await client.POST("/v1/list", {
56
56
  body: {
57
57
  resourceId: rInfo.id.toString(),
58
+ resourceSignature: "",
58
59
  location: path,
59
60
  },
60
61
  headers: { ...createRTypeRoutingHeader(rInfo.type) },
@@ -62,7 +62,7 @@ export class ClientProgress {
62
62
  } else {
63
63
  const resp = (
64
64
  await client.POST("/v1/get-progress", {
65
- body: { resourceId: id.toString() },
65
+ body: { resourceId: id.toString(), resourceSignature: "" },
66
66
  headers: { ...createRTypeRoutingHeader(type) },
67
67
  })
68
68
  ).data!.report;
@@ -96,6 +96,7 @@ export class ClientUpload {
96
96
  await client.POST("/v1/upload/init", {
97
97
  body: {
98
98
  resourceId: id.toString(),
99
+ resourceSignature: "",
99
100
  },
100
101
  headers: { ...createRTypeRoutingHeader(type) },
101
102
  })
@@ -140,6 +141,7 @@ export class ClientUpload {
140
141
  await client.POST("/v1/upload/get-part-url", {
141
142
  body: {
142
143
  resourceId: id.toString(),
144
+ resourceSignature: "",
143
145
  partNumber: partNumber.toString(),
144
146
  uploadedPartSize: "0",
145
147
  isInternalUse: false,
@@ -217,11 +219,21 @@ export class ClientUpload {
217
219
  const client = this.wire.get();
218
220
 
219
221
  if (client instanceof UploadClient) {
220
- await client.finalize({ resourceId: info.id }, addRTypeToMetadata(info.type, options));
222
+ await client.finalize(
223
+ {
224
+ resourceId: info.id,
225
+ checksumAlgorithm: UploadAPI_ChecksumAlgorithm.UNSPECIFIED,
226
+ checksum: new Uint8Array(0),
227
+ },
228
+ addRTypeToMetadata(info.type, options),
229
+ );
221
230
  } else {
222
231
  await client.POST("/v1/upload/finalize", {
223
232
  body: {
224
233
  resourceId: info.id.toString(),
234
+ resourceSignature: "",
235
+ checksumAlgorithm: 0,
236
+ checksum: "",
225
237
  },
226
238
  headers: { ...createRTypeRoutingHeader(info.type) },
227
239
  });
@@ -262,6 +274,7 @@ export class ClientUpload {
262
274
  await client.POST("/v1/upload/update-progress", {
263
275
  body: {
264
276
  resourceId: id.toString(),
277
+ resourceSignature: "",
265
278
  bytesProcessed: bytesProcessed.toString(),
266
279
  },
267
280
  headers: { ...createRTypeRoutingHeader(type) },
@@ -11,7 +11,7 @@ import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
11
11
  import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
12
12
  /**
13
13
  *
14
- * Download provides access to any data, that can be downloaded via network.
14
+ * Download provides access to any data that can be downloaded over the network.
15
15
  *
16
16
  *
17
17
  * @generated from protobuf service MiLaboratories.Controller.Shared.Download
@@ -24,7 +24,7 @@ export interface IDownloadClient {
24
24
  }
25
25
  /**
26
26
  *
27
- * Download provides access to any data, that can be downloaded via network.
27
+ * Download provides access to any data that can be downloaded over the network.
28
28
  *
29
29
  *
30
30
  * @generated from protobuf service MiLaboratories.Controller.Shared.Download
@@ -30,9 +30,15 @@ export interface DownloadAPI_GetDownloadURL_Request {
30
30
  */
31
31
  resourceId: bigint;
32
32
  /**
33
- * Pass `true` here if the blob will be downloaded from internal network,
34
- * e.g. controllers could use this if they are trying to download something from internal network.
35
- * For backward compatibility, by default pl treats all requests as from external network.
33
+ * Signature proving the caller is authorized to access this resource.
34
+ *
35
+ * @generated from protobuf field: optional bytes resource_signature = 3
36
+ */
37
+ resourceSignature?: Uint8Array;
38
+ /**
39
+ * Pass `true` here if the blob will be downloaded from the internal network,
40
+ * e.g. controllers could use this if they are trying to download something from the internal network.
41
+ * For backward compatibility, by default pl treats all requests as from the external network.
36
42
  *
37
43
  * @generated from protobuf field: bool is_internal_use = 2
38
44
  */
@@ -43,11 +49,11 @@ export interface DownloadAPI_GetDownloadURL_Request {
43
49
  */
44
50
  export interface DownloadAPI_GetDownloadURL_HTTPHeader {
45
51
  /**
46
- * @generated from protobuf field: string Name = 1
52
+ * @generated from protobuf field: string name = 1
47
53
  */
48
54
  name: string;
49
55
  /**
50
- * @generated from protobuf field: string Value = 2
56
+ * @generated from protobuf field: string value = 2
51
57
  */
52
58
  value: string;
53
59
  }
@@ -145,6 +151,7 @@ class DownloadAPI_GetDownloadURL_Request$Type extends MessageType<DownloadAPI_Ge
145
151
  constructor() {
146
152
  super("MiLaboratories.Controller.Shared.DownloadAPI.GetDownloadURL.Request", [
147
153
  { no: 1, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
154
+ { no: 3, name: "resource_signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
148
155
  { no: 2, name: "is_internal_use", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
149
156
  ]);
150
157
  }
@@ -164,6 +171,9 @@ class DownloadAPI_GetDownloadURL_Request$Type extends MessageType<DownloadAPI_Ge
164
171
  case /* uint64 resource_id */ 1:
165
172
  message.resourceId = reader.uint64().toBigInt();
166
173
  break;
174
+ case /* optional bytes resource_signature */ 3:
175
+ message.resourceSignature = reader.bytes();
176
+ break;
167
177
  case /* bool is_internal_use */ 2:
168
178
  message.isInternalUse = reader.bool();
169
179
  break;
@@ -185,6 +195,9 @@ class DownloadAPI_GetDownloadURL_Request$Type extends MessageType<DownloadAPI_Ge
185
195
  /* bool is_internal_use = 2; */
186
196
  if (message.isInternalUse !== false)
187
197
  writer.tag(2, WireType.Varint).bool(message.isInternalUse);
198
+ /* optional bytes resource_signature = 3; */
199
+ if (message.resourceSignature !== undefined)
200
+ writer.tag(3, WireType.LengthDelimited).bytes(message.resourceSignature);
188
201
  let u = options.writeUnknownFields;
189
202
  if (u !== false)
190
203
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -199,8 +212,8 @@ export const DownloadAPI_GetDownloadURL_Request = new DownloadAPI_GetDownloadURL
199
212
  class DownloadAPI_GetDownloadURL_HTTPHeader$Type extends MessageType<DownloadAPI_GetDownloadURL_HTTPHeader> {
200
213
  constructor() {
201
214
  super("MiLaboratories.Controller.Shared.DownloadAPI.GetDownloadURL.HTTPHeader", [
202
- { no: 1, name: "Name", kind: "scalar", jsonName: "Name", T: 9 /*ScalarType.STRING*/ },
203
- { no: 2, name: "Value", kind: "scalar", jsonName: "Value", T: 9 /*ScalarType.STRING*/ }
215
+ { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
216
+ { no: 2, name: "value", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
204
217
  ]);
205
218
  }
206
219
  create(value?: PartialMessage<DownloadAPI_GetDownloadURL_HTTPHeader>): DownloadAPI_GetDownloadURL_HTTPHeader {
@@ -216,10 +229,10 @@ class DownloadAPI_GetDownloadURL_HTTPHeader$Type extends MessageType<DownloadAPI
216
229
  while (reader.pos < end) {
217
230
  let [fieldNo, wireType] = reader.tag();
218
231
  switch (fieldNo) {
219
- case /* string Name */ 1:
232
+ case /* string name */ 1:
220
233
  message.name = reader.string();
221
234
  break;
222
- case /* string Value */ 2:
235
+ case /* string value */ 2:
223
236
  message.value = reader.string();
224
237
  break;
225
238
  default:
@@ -234,10 +247,10 @@ class DownloadAPI_GetDownloadURL_HTTPHeader$Type extends MessageType<DownloadAPI
234
247
  return message;
235
248
  }
236
249
  internalBinaryWrite(message: DownloadAPI_GetDownloadURL_HTTPHeader, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
237
- /* string Name = 1; */
250
+ /* string name = 1; */
238
251
  if (message.name !== "")
239
252
  writer.tag(1, WireType.LengthDelimited).string(message.name);
240
- /* string Value = 2; */
253
+ /* string value = 2; */
241
254
  if (message.value !== "")
242
255
  writer.tag(2, WireType.LengthDelimited).string(message.value);
243
256
  let u = options.writeUnknownFields;
@@ -11,10 +11,10 @@ import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
11
11
  import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
12
12
  /**
13
13
  *
14
- * LS provides access to lists of blobs (files, S3 objects and so on) is some storage.
15
- * This API allows clients to know, whan items are available in storages, that
16
- * the contorllers can access, providing clients with the ability to start indexation
17
- * on, say, existing sequence files from the corporate storage.
14
+ * LS provides access to lists of blobs (files, S3 objects and so on) in some storage.
15
+ * This API allows clients to know what items are available in storages that
16
+ * the controllers can access, providing clients with the ability to start indexing,
17
+ * say, existing sequence files from the corporate storage.
18
18
  *
19
19
  *
20
20
  * @generated from protobuf service MiLaboratories.Controller.Shared.LS
@@ -27,10 +27,10 @@ export interface ILSClient {
27
27
  }
28
28
  /**
29
29
  *
30
- * LS provides access to lists of blobs (files, S3 objects and so on) is some storage.
31
- * This API allows clients to know, whan items are available in storages, that
32
- * the contorllers can access, providing clients with the ability to start indexation
33
- * on, say, existing sequence files from the corporate storage.
30
+ * LS provides access to lists of blobs (files, S3 objects and so on) in some storage.
31
+ * This API allows clients to know what items are available in storages that
32
+ * the controllers can access, providing clients with the ability to start indexing,
33
+ * say, existing sequence files from the corporate storage.
34
34
  *
35
35
  *
36
36
  * @generated from protobuf service MiLaboratories.Controller.Shared.LS