@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.
- package/dist/clients/download.cjs +1 -0
- package/dist/clients/download.cjs.map +1 -1
- package/dist/clients/download.js +1 -0
- package/dist/clients/download.js.map +1 -1
- package/dist/clients/logs.cjs +2 -0
- package/dist/clients/logs.cjs.map +1 -1
- package/dist/clients/logs.js +2 -0
- package/dist/clients/logs.js.map +1 -1
- package/dist/clients/ls_api.cjs +1 -0
- package/dist/clients/ls_api.cjs.map +1 -1
- package/dist/clients/ls_api.js +1 -0
- package/dist/clients/ls_api.js.map +1 -1
- package/dist/clients/progress.cjs +4 -1
- package/dist/clients/progress.cjs.map +1 -1
- package/dist/clients/progress.js +4 -1
- package/dist/clients/progress.js.map +1 -1
- package/dist/clients/upload.cjs +17 -3
- package/dist/clients/upload.cjs.map +1 -1
- package/dist/clients/upload.js +17 -3
- package/dist/clients/upload.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs +28 -16
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.cjs +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.d.ts +2 -2
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.js +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.d.ts +11 -5
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js +28 -16
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs +26 -12
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.cjs +4 -4
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.js +4 -4
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts +16 -16
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js +26 -12
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs +36 -12
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.cjs +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.d.ts +2 -2
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.js +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.d.ts +8 -0
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js +36 -12
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs +29 -189
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.cjs +20 -41
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.d.ts +36 -66
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.js +20 -41
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts +52 -137
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js +29 -189
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs +225 -24
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.cjs +21 -7
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.cjs.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.js +21 -7
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.js.map +1 -1
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js +225 -24
- package/dist/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js.map +1 -1
- package/dist/proto-rest/downloadapi.d.ts +8 -3
- package/dist/proto-rest/progressapi.d.ts +4 -2
- package/dist/proto-rest/streamingapi.d.ts +64 -203
- package/package.json +5 -5
- package/src/clients/download.ts +1 -0
- package/src/clients/logs.ts +2 -0
- package/src/clients/ls_api.ts +1 -0
- package/src/clients/progress.ts +1 -1
- package/src/clients/upload.ts +14 -1
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.ts +2 -2
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.ts +24 -11
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.ts +8 -8
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.ts +31 -18
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.ts +2 -2
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.ts +23 -1
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.ts +39 -78
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.ts +72 -263
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.ts +41 -14
- package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.ts +286 -44
- package/src/proto-grpc/google/protobuf/descriptor.ts +2 -5
- package/src/proto-rest/downloadapi.ts +8 -3
- package/src/proto-rest/lsapi.ts +23 -18
- package/src/proto-rest/progressapi.ts +4 -0
- package/src/proto-rest/streamingapi.ts +65 -211
- 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
|
|
20
|
-
* Consider it
|
|
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
|
|
24
|
-
* returned
|
|
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
|
|
44
|
-
* The
|
|
45
|
-
*
|
|
46
|
-
* Each response (each chunk from server)
|
|
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
|
|
66
|
-
* The
|
|
67
|
-
*
|
|
68
|
-
* Each response (each chunk from server)
|
|
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
|
|
95
|
+
/** @description <resource_id> of Stream resource that keeps info on item to be streamed. */resourceId: string;
|
|
137
96
|
/**
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
|
|
141
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
179
|
-
* This offset is taken in BYTES, as it eases streaming recovery after client reconnection or controller restart.
|
|
180
|
-
*
|
|
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
|
-
*
|
|
189
|
-
* At most 3.9 MiB (3900
|
|
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
|
|
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
|
|
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
|
|
216
|
-
* by
|
|
217
|
-
* This field in combination with <new_offset> shows
|
|
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
|
-
*
|
|
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.
|
|
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"
|
package/src/clients/download.ts
CHANGED
package/src/clients/logs.ts
CHANGED
|
@@ -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 ?? "",
|
package/src/clients/ls_api.ts
CHANGED
package/src/clients/progress.ts
CHANGED
|
@@ -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;
|
package/src/clients/upload.ts
CHANGED
|
@@ -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(
|
|
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
|
|
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
|
|
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
|
package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.ts
CHANGED
|
@@ -30,9 +30,15 @@ export interface DownloadAPI_GetDownloadURL_Request {
|
|
|
30
30
|
*/
|
|
31
31
|
resourceId: bigint;
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
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
|
|
52
|
+
* @generated from protobuf field: string name = 1
|
|
47
53
|
*/
|
|
48
54
|
name: string;
|
|
49
55
|
/**
|
|
50
|
-
* @generated from protobuf field: string
|
|
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: "
|
|
203
|
-
{ no: 2, name: "
|
|
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
|
|
232
|
+
case /* string name */ 1:
|
|
220
233
|
message.name = reader.string();
|
|
221
234
|
break;
|
|
222
|
-
case /* string
|
|
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
|
|
250
|
+
/* string name = 1; */
|
|
238
251
|
if (message.name !== "")
|
|
239
252
|
writer.tag(1, WireType.LengthDelimited).string(message.name);
|
|
240
|
-
/* string
|
|
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;
|
package/src/proto-grpc/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.ts
CHANGED
|
@@ -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)
|
|
15
|
-
* This API allows clients to know
|
|
16
|
-
* the
|
|
17
|
-
*
|
|
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)
|
|
31
|
-
* This API allows clients to know
|
|
32
|
-
* the
|
|
33
|
-
*
|
|
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
|