@milaboratories/pl-client 2.7.14 → 2.8.1
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/core/client.d.ts +4 -1
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/ll_client.d.ts +12 -2
- package/dist/core/ll_client.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4341 -4316
- package/dist/index.mjs.map +1 -1
- package/dist/proto/github.com/googleapis/googleapis/google/rpc/status.d.ts +15 -15
- package/dist/proto/github.com/googleapis/googleapis/google/rpc/status.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.d.ts +4 -4
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts +59 -59
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.d.ts +72 -72
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts +152 -152
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts +156 -156
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts +790 -773
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts +163 -163
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts +22 -22
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/import.d.ts +32 -32
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/import.d.ts.map +1 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts +78 -78
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts.map +1 -1
- package/dist/proto/google/protobuf/any.d.ts +52 -52
- package/dist/proto/google/protobuf/any.d.ts.map +1 -1
- package/dist/proto/google/protobuf/duration.d.ts +19 -19
- package/dist/proto/google/protobuf/duration.d.ts.map +1 -1
- package/dist/proto/google/protobuf/empty.d.ts.map +1 -1
- package/dist/proto/google/protobuf/struct.d.ts +56 -56
- package/dist/proto/google/protobuf/struct.d.ts.map +1 -1
- package/dist/proto/google/protobuf/timestamp.d.ts +25 -25
- package/dist/proto/google/protobuf/timestamp.d.ts.map +1 -1
- package/dist/proto/google/protobuf/wrappers.d.ts +72 -72
- package/dist/proto/google/protobuf/wrappers.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/core/client.ts +31 -35
- package/src/core/ll_client.ts +48 -23
- package/src/proto/github.com/googleapis/googleapis/google/rpc/status.ts +72 -75
- package/src/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.ts +21 -22
- package/src/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.ts +276 -291
- package/src/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.ts +54 -59
- package/src/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.ts +470 -491
- package/src/proto/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts +238 -263
- package/src/proto/github.com/milaboratory/pl/plapi/plapiproto/api.ts +11058 -11752
- package/src/proto/github.com/milaboratory/pl/plapi/plapiproto/api_types.ts +1115 -1156
- package/src/proto/github.com/milaboratory/pl/plapi/plapiproto/base_types.ts +126 -132
- package/src/proto/github.com/milaboratory/pl/plapi/plapiproto/import.ts +201 -204
- package/src/proto/github.com/milaboratory/pl/plapi/plapiproto/resource_types.ts +541 -560
- package/src/proto/google/protobuf/any.ts +140 -150
- package/src/proto/google/protobuf/duration.ts +103 -108
- package/src/proto/google/protobuf/empty.ts +39 -42
- package/src/proto/google/protobuf/struct.ts +323 -337
- package/src/proto/google/protobuf/timestamp.ts +124 -132
- package/src/proto/google/protobuf/wrappers.ts +492 -537
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../../../src/proto/google/protobuf/wrappers.ts"],"names":[],"mappings":"AA8CA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;
|
|
1
|
+
{"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../../../src/proto/google/protobuf/wrappers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/pl-client",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.1",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=20.3.0"
|
|
6
6
|
},
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"undici": "~7.5.0",
|
|
33
33
|
"utility-types": "^3.11.0",
|
|
34
34
|
"yaml": "^2.7.0",
|
|
35
|
-
"@milaboratories/
|
|
36
|
-
"@milaboratories/
|
|
35
|
+
"@milaboratories/pl-http": "^1.1.2",
|
|
36
|
+
"@milaboratories/ts-helpers": "^1.1.6"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"typescript": "~5.5.4",
|
package/src/core/client.ts
CHANGED
|
@@ -4,26 +4,14 @@ import { LLPlClient } from './ll_client';
|
|
|
4
4
|
import type { AnyResourceRef } from './transaction';
|
|
5
5
|
import { PlTransaction, toGlobalResourceId, TxCommitConflict } from './transaction';
|
|
6
6
|
import { createHash } from 'node:crypto';
|
|
7
|
-
import type {
|
|
8
|
-
|
|
9
|
-
ResourceId,
|
|
10
|
-
} from './types';
|
|
11
|
-
import {
|
|
12
|
-
ensureResourceIdNotNull,
|
|
13
|
-
isNullResourceId,
|
|
14
|
-
NullResourceId,
|
|
15
|
-
} from './types';
|
|
7
|
+
import type { OptionalResourceId, ResourceId } from './types';
|
|
8
|
+
import { ensureResourceIdNotNull, isNullResourceId, NullResourceId } from './types';
|
|
16
9
|
import { ClientRoot } from '../helpers/pl';
|
|
17
|
-
import type {
|
|
18
|
-
|
|
19
|
-
} from '@milaboratories/ts-helpers';
|
|
20
|
-
import {
|
|
21
|
-
assertNever,
|
|
22
|
-
createRetryState,
|
|
23
|
-
nextRetryStateOrError,
|
|
24
|
-
} from '@milaboratories/ts-helpers';
|
|
10
|
+
import type { RetryOptions } from '@milaboratories/ts-helpers';
|
|
11
|
+
import { assertNever, createRetryState, nextRetryStateOrError } from '@milaboratories/ts-helpers';
|
|
25
12
|
import type { PlDriver, PlDriverDefinition } from './driver';
|
|
26
13
|
import type { MaintenanceAPI_Ping_Response } from '../proto/github.com/milaboratory/pl/plapi/plapiproto/api';
|
|
14
|
+
import { MaintenanceAPI_Ping_Response_Compression } from '../proto/github.com/milaboratory/pl/plapi/plapiproto/api';
|
|
27
15
|
import * as tp from 'node:timers/promises';
|
|
28
16
|
import type { Dispatcher } from 'undici';
|
|
29
17
|
import { LRUCache } from 'lru-cache';
|
|
@@ -32,6 +20,7 @@ import type { FinalResourceDataPredicate } from './final';
|
|
|
32
20
|
import { DefaultFinalResourceDataPredicate } from './final';
|
|
33
21
|
import type { AllTxStat, TxStat } from './stat';
|
|
34
22
|
import { addStat, initialTxStat } from './stat';
|
|
23
|
+
import type { GrpcTransport } from '@protobuf-ts/grpc-transport';
|
|
35
24
|
|
|
36
25
|
export type TxOps = PlCallOps & {
|
|
37
26
|
sync?: boolean;
|
|
@@ -50,7 +39,6 @@ function alternativeRootFieldName(alternativeRoot: string): string {
|
|
|
50
39
|
|
|
51
40
|
/** Client to access core PL API. */
|
|
52
41
|
export class PlClient {
|
|
53
|
-
private readonly ll: LLPlClient;
|
|
54
42
|
private readonly drivers = new Map<string, PlDriver>();
|
|
55
43
|
|
|
56
44
|
/** Artificial delay introduced after write transactions completion, to
|
|
@@ -63,6 +51,8 @@ export class PlClient {
|
|
|
63
51
|
/** Last resort measure to solve complicated race conditions in pl. */
|
|
64
52
|
private readonly defaultRetryOptions: RetryOptions;
|
|
65
53
|
|
|
54
|
+
private readonly buildLLPlClient: (shouldUseGzip: boolean) => LLPlClient;
|
|
55
|
+
private _ll: LLPlClient;
|
|
66
56
|
/** Stores client root (this abstraction is intended for future implementation of the security model) */
|
|
67
57
|
private _clientRoot: OptionalResourceId = NullResourceId;
|
|
68
58
|
|
|
@@ -90,8 +80,12 @@ export class PlClient {
|
|
|
90
80
|
finalPredicate?: FinalResourceDataPredicate;
|
|
91
81
|
} = {},
|
|
92
82
|
) {
|
|
93
|
-
|
|
94
|
-
|
|
83
|
+
// Will reinitialize client after getting available feature from server.
|
|
84
|
+
this.buildLLPlClient = (shouldUseGzip: boolean) => {
|
|
85
|
+
return new LLPlClient(configOrAddress, { auth, ...ops, shouldUseGzip });
|
|
86
|
+
};
|
|
87
|
+
this._ll = this.buildLLPlClient(false);
|
|
88
|
+
const conf = this._ll.conf;
|
|
95
89
|
this.txDelay = conf.txDelay;
|
|
96
90
|
this.forceSync = conf.forceSync;
|
|
97
91
|
this.finalPredicate = ops.finalPredicate ?? DefaultFinalResourceDataPredicate;
|
|
@@ -148,15 +142,19 @@ export class PlClient {
|
|
|
148
142
|
}
|
|
149
143
|
|
|
150
144
|
public async ping(): Promise<MaintenanceAPI_Ping_Response> {
|
|
151
|
-
return (await this.
|
|
145
|
+
return (await this._ll.grpcPl.ping({})).response;
|
|
152
146
|
}
|
|
153
147
|
|
|
154
148
|
public get conf(): PlClientConfig {
|
|
155
|
-
return this.
|
|
149
|
+
return this._ll.conf;
|
|
156
150
|
}
|
|
157
151
|
|
|
158
152
|
public get httpDispatcher(): Dispatcher {
|
|
159
|
-
return this.
|
|
153
|
+
return this._ll.httpDispatcher;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
public get grpcTransport(): GrpcTransport {
|
|
157
|
+
return this._ll.grpcTransport;
|
|
160
158
|
}
|
|
161
159
|
|
|
162
160
|
private get initialized() {
|
|
@@ -182,11 +180,15 @@ export class PlClient {
|
|
|
182
180
|
if (this.initialized) throw new Error('Already initialized');
|
|
183
181
|
|
|
184
182
|
// calculating reproducible root name from the username
|
|
185
|
-
const user = this.
|
|
183
|
+
const user = this._ll.authUser;
|
|
186
184
|
const mainRootName
|
|
187
185
|
= user === null ? AnonymousClientRoot : createHash('sha256').update(user).digest('hex');
|
|
188
186
|
|
|
189
187
|
this._serverInfo = await this.ping();
|
|
188
|
+
if (this._serverInfo.compression === MaintenanceAPI_Ping_Response_Compression.GZIP) {
|
|
189
|
+
await this._ll.close();
|
|
190
|
+
this._ll = this.buildLLPlClient(true);
|
|
191
|
+
}
|
|
190
192
|
|
|
191
193
|
this._clientRoot = await this._withTx('initialization', true, NullResourceId, async (tx) => {
|
|
192
194
|
let mainRoot: AnyResourceRef;
|
|
@@ -216,18 +218,12 @@ export class PlClient {
|
|
|
216
218
|
return await altRoot.globalId;
|
|
217
219
|
}
|
|
218
220
|
});
|
|
219
|
-
|
|
220
|
-
// try {
|
|
221
|
-
//
|
|
222
|
-
// } catch (error: unknown) {
|
|
223
|
-
// if(isUnauthenticated(error) && this.)
|
|
224
|
-
// }
|
|
225
221
|
}
|
|
226
222
|
|
|
227
223
|
/** Returns true if field existed */
|
|
228
224
|
public async deleteAlternativeRoot(alternativeRootName: string): Promise<boolean> {
|
|
229
225
|
this.checkInitialized();
|
|
230
|
-
if (this.
|
|
226
|
+
if (this._ll.conf.alternativeRoot !== undefined)
|
|
231
227
|
throw new Error('Initialized with alternative root.');
|
|
232
228
|
return await this.withWriteTx('delete-alternative-root', async (tx) => {
|
|
233
229
|
const fId = {
|
|
@@ -253,7 +249,7 @@ export class PlClient {
|
|
|
253
249
|
|
|
254
250
|
while (true) {
|
|
255
251
|
// opening low-level tx
|
|
256
|
-
const llTx = this.
|
|
252
|
+
const llTx = this._ll.createTx(writable, ops);
|
|
257
253
|
// wrapping it into high-level tx (this also asynchronously sends initialization message)
|
|
258
254
|
const tx = new PlTransaction(
|
|
259
255
|
llTx,
|
|
@@ -300,7 +296,7 @@ export class PlClient {
|
|
|
300
296
|
if (ok) {
|
|
301
297
|
// syncing on transaction if requested
|
|
302
298
|
if (ops?.sync === undefined ? this.forceSync : ops?.sync)
|
|
303
|
-
await this.
|
|
299
|
+
await this._ll.grpcPl.txSync({ txId });
|
|
304
300
|
|
|
305
301
|
// introducing artificial delay, if requested
|
|
306
302
|
if (writable && this.txDelay > 0)
|
|
@@ -346,14 +342,14 @@ export class PlClient {
|
|
|
346
342
|
public getDriver<Drv extends PlDriver>(definition: PlDriverDefinition<Drv>): Drv {
|
|
347
343
|
const attached = this.drivers.get(definition.name);
|
|
348
344
|
if (attached !== undefined) return attached as Drv;
|
|
349
|
-
const driver = definition.init(this, this.
|
|
345
|
+
const driver = definition.init(this, this.grpcTransport, this.httpDispatcher);
|
|
350
346
|
this.drivers.set(definition.name, driver);
|
|
351
347
|
return driver;
|
|
352
348
|
}
|
|
353
349
|
|
|
354
350
|
/** Closes underlying transport */
|
|
355
351
|
public async close() {
|
|
356
|
-
await this.
|
|
352
|
+
await this._ll.close();
|
|
357
353
|
}
|
|
358
354
|
|
|
359
355
|
public static async init(
|
package/src/core/ll_client.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PlatformClient } from '../proto/github.com/milaboratory/pl/plapi/plapiproto/api.client';
|
|
2
|
-
import type {
|
|
3
|
-
Interceptor } from '@grpc/grpc-js';
|
|
2
|
+
import type { ClientOptions, Interceptor } from '@grpc/grpc-js';
|
|
4
3
|
import {
|
|
5
4
|
ChannelCredentials,
|
|
6
5
|
InterceptingCall,
|
|
7
6
|
status as GrpcStatus,
|
|
7
|
+
compressionAlgorithms,
|
|
8
8
|
} from '@grpc/grpc-js';
|
|
9
9
|
import type {
|
|
10
10
|
AuthInformation,
|
|
@@ -13,9 +13,7 @@ import type {
|
|
|
13
13
|
PlConnectionStatus,
|
|
14
14
|
PlConnectionStatusListener,
|
|
15
15
|
} from './config';
|
|
16
|
-
import {
|
|
17
|
-
plAddressToConfig,
|
|
18
|
-
} from './config';
|
|
16
|
+
import { plAddressToConfig } from './config';
|
|
19
17
|
import type { GrpcOptions } from '@protobuf-ts/grpc-transport';
|
|
20
18
|
import { GrpcTransport } from '@protobuf-ts/grpc-transport';
|
|
21
19
|
import { LLPlTransaction } from './ll_transaction';
|
|
@@ -47,38 +45,63 @@ export class LLPlClient {
|
|
|
47
45
|
private _status: PlConnectionStatus = 'OK';
|
|
48
46
|
private readonly statusListener?: PlConnectionStatusListener;
|
|
49
47
|
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
private readonly grpcInterceptors: Interceptor[];
|
|
49
|
+
private _grpcTransport!: GrpcTransport;
|
|
50
|
+
private _grpcPl!: PlatformClient;
|
|
52
51
|
|
|
53
52
|
public readonly httpDispatcher: Dispatcher;
|
|
54
53
|
|
|
55
54
|
constructor(
|
|
56
55
|
configOrAddress: PlClientConfig | string,
|
|
57
|
-
ops: {
|
|
56
|
+
private readonly ops: {
|
|
58
57
|
auth?: AuthOps;
|
|
59
58
|
statusListener?: PlConnectionStatusListener;
|
|
59
|
+
shouldUseGzip?: boolean;
|
|
60
60
|
} = {},
|
|
61
61
|
) {
|
|
62
62
|
this.conf
|
|
63
63
|
= typeof configOrAddress === 'string' ? plAddressToConfig(configOrAddress) : configOrAddress;
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
this.grpcInterceptors = [];
|
|
66
66
|
|
|
67
|
-
const { auth, statusListener } = ops;
|
|
67
|
+
const { auth, statusListener, shouldUseGzip } = ops;
|
|
68
68
|
|
|
69
69
|
if (auth !== undefined) {
|
|
70
70
|
this.refreshTimestamp = inferAuthRefreshTime(
|
|
71
71
|
auth.authInformation,
|
|
72
72
|
this.conf.authMaxRefreshSeconds,
|
|
73
73
|
);
|
|
74
|
-
grpcInterceptors.push(this.createAuthInterceptor());
|
|
74
|
+
this.grpcInterceptors.push(this.createAuthInterceptor());
|
|
75
75
|
this.authInformation = auth.authInformation;
|
|
76
76
|
this.onAuthUpdate = auth.onUpdate;
|
|
77
77
|
this.onAuthRefreshProblem = auth.onUpdateError;
|
|
78
78
|
this.onAuthError = auth.onAuthError;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
grpcInterceptors.push(this.createErrorInterceptor());
|
|
81
|
+
this.grpcInterceptors.push(this.createErrorInterceptor());
|
|
82
|
+
|
|
83
|
+
// initialize _grpcTransport and _grpcPl
|
|
84
|
+
this.initGrpc(shouldUseGzip ?? false);
|
|
85
|
+
|
|
86
|
+
this.httpDispatcher = defaultHttpDispatcher(this.conf.httpProxy);
|
|
87
|
+
|
|
88
|
+
if (statusListener !== undefined) {
|
|
89
|
+
this.statusListener = statusListener;
|
|
90
|
+
statusListener(this._status);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Initializes (or reinitializes) _grpcTransport and _grpcPl
|
|
96
|
+
* @param gzip - whether to enable gzip compression
|
|
97
|
+
*/
|
|
98
|
+
private initGrpc(gzip: boolean) {
|
|
99
|
+
const clientOptions: ClientOptions = {
|
|
100
|
+
'grpc.keepalive_time_ms': 30_000, // 30 seconds
|
|
101
|
+
'interceptors': this.grpcInterceptors,
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
if (gzip) clientOptions['grpc.default_compression_algorithm'] = compressionAlgorithms.gzip;
|
|
82
105
|
|
|
83
106
|
//
|
|
84
107
|
// Leaving it here for now
|
|
@@ -93,24 +116,26 @@ export class LLPlClient {
|
|
|
93
116
|
channelCredentials: this.conf.ssl
|
|
94
117
|
? ChannelCredentials.createSsl()
|
|
95
118
|
: ChannelCredentials.createInsecure(),
|
|
96
|
-
clientOptions
|
|
97
|
-
'grpc.keepalive_time_ms': 30_000, // 30 seconds
|
|
98
|
-
'interceptors': grpcInterceptors,
|
|
99
|
-
},
|
|
119
|
+
clientOptions,
|
|
100
120
|
};
|
|
101
121
|
|
|
102
122
|
if (this.conf.grpcProxy) process.env.grpc_proxy = this.conf.grpcProxy;
|
|
103
123
|
else delete process.env.grpc_proxy;
|
|
104
124
|
|
|
105
|
-
|
|
106
|
-
this.grpcPl = new PlatformClient(this.grpcTransport);
|
|
125
|
+
const oldTransport = this._grpcTransport;
|
|
107
126
|
|
|
108
|
-
this.
|
|
127
|
+
this._grpcTransport = new GrpcTransport(grpcOptions);
|
|
128
|
+
this._grpcPl = new PlatformClient(this._grpcTransport);
|
|
109
129
|
|
|
110
|
-
if (
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
130
|
+
if (oldTransport !== undefined) oldTransport.close();
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
public get grpcTransport(): GrpcTransport {
|
|
134
|
+
return this._grpcTransport;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
public get grpcPl(): PlatformClient {
|
|
138
|
+
return this._grpcPl;
|
|
114
139
|
}
|
|
115
140
|
|
|
116
141
|
/** Returns true if client is authenticated. Even with anonymous auth information
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.6 with parameter client_generic,optimize_speed,generate_dependencies,force_server_none
|
|
2
2
|
// @generated from protobuf file "github.com/googleapis/googleapis/google/rpc/status.proto" (package "google.rpc", syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
4
|
//
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
// See the License for the specific language governing permissions and
|
|
17
17
|
// limitations under the License.
|
|
18
18
|
//
|
|
19
|
-
import type { BinaryWriteOptions } from
|
|
20
|
-
import type { IBinaryWriter } from
|
|
21
|
-
import { WireType } from
|
|
22
|
-
import type { BinaryReadOptions } from
|
|
23
|
-
import type { IBinaryReader } from
|
|
24
|
-
import { UnknownFieldHandler } from
|
|
25
|
-
import type { PartialMessage } from
|
|
26
|
-
import { reflectionMergePartial } from
|
|
27
|
-
import { MessageType } from
|
|
28
|
-
import { Any } from
|
|
19
|
+
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
|
|
20
|
+
import type { IBinaryWriter } from "@protobuf-ts/runtime";
|
|
21
|
+
import { WireType } from "@protobuf-ts/runtime";
|
|
22
|
+
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
|
|
23
|
+
import type { IBinaryReader } from "@protobuf-ts/runtime";
|
|
24
|
+
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
|
|
25
|
+
import type { PartialMessage } from "@protobuf-ts/runtime";
|
|
26
|
+
import { reflectionMergePartial } from "@protobuf-ts/runtime";
|
|
27
|
+
import { MessageType } from "@protobuf-ts/runtime";
|
|
28
|
+
import { Any } from "../../../../../google/protobuf/any";
|
|
29
29
|
/**
|
|
30
30
|
* The `Status` type defines a logical error model that is suitable for
|
|
31
31
|
* different programming environments, including REST APIs and RPC APIs. It is
|
|
@@ -38,89 +38,86 @@ import { Any } from '../../../../../google/protobuf/any';
|
|
|
38
38
|
* @generated from protobuf message google.rpc.Status
|
|
39
39
|
*/
|
|
40
40
|
export interface Status {
|
|
41
|
-
|
|
41
|
+
/**
|
|
42
42
|
* The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
|
|
43
43
|
*
|
|
44
44
|
* @generated from protobuf field: int32 code = 1;
|
|
45
45
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
code: number;
|
|
47
|
+
/**
|
|
48
48
|
* A developer-facing error message, which should be in English. Any
|
|
49
49
|
* user-facing error message should be localized and sent in the
|
|
50
50
|
* [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
|
|
51
51
|
*
|
|
52
52
|
* @generated from protobuf field: string message = 2;
|
|
53
53
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
message: string;
|
|
55
|
+
/**
|
|
56
56
|
* A list of messages that carry the error details. There is a common set of
|
|
57
57
|
* message types for APIs to use.
|
|
58
58
|
*
|
|
59
59
|
* @generated from protobuf field: repeated google.protobuf.Any details = 3;
|
|
60
60
|
*/
|
|
61
|
-
|
|
61
|
+
details: Any[];
|
|
62
62
|
}
|
|
63
63
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
64
64
|
class Status$Type extends MessageType<Status> {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
65
|
+
constructor() {
|
|
66
|
+
super("google.rpc.Status", [
|
|
67
|
+
{ no: 1, name: "code", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
68
|
+
{ no: 2, name: "message", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
69
|
+
{ no: 3, name: "details", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Any }
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
72
|
+
create(value?: PartialMessage<Status>): Status {
|
|
73
|
+
const message = globalThis.Object.create((this.messagePrototype!));
|
|
74
|
+
message.code = 0;
|
|
75
|
+
message.message = "";
|
|
76
|
+
message.details = [];
|
|
77
|
+
if (value !== undefined)
|
|
78
|
+
reflectionMergePartial<Status>(this, message, value);
|
|
79
|
+
return message;
|
|
80
|
+
}
|
|
81
|
+
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Status): Status {
|
|
82
|
+
let message = target ?? this.create(), end = reader.pos + length;
|
|
83
|
+
while (reader.pos < end) {
|
|
84
|
+
let [fieldNo, wireType] = reader.tag();
|
|
85
|
+
switch (fieldNo) {
|
|
86
|
+
case /* int32 code */ 1:
|
|
87
|
+
message.code = reader.int32();
|
|
88
|
+
break;
|
|
89
|
+
case /* string message */ 2:
|
|
90
|
+
message.message = reader.string();
|
|
91
|
+
break;
|
|
92
|
+
case /* repeated google.protobuf.Any details */ 3:
|
|
93
|
+
message.details.push(Any.internalBinaryRead(reader, reader.uint32(), options));
|
|
94
|
+
break;
|
|
95
|
+
default:
|
|
96
|
+
let u = options.readUnknownField;
|
|
97
|
+
if (u === "throw")
|
|
98
|
+
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
|
99
|
+
let d = reader.skip(wireType);
|
|
100
|
+
if (u !== false)
|
|
101
|
+
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return message;
|
|
105
|
+
}
|
|
106
|
+
internalBinaryWrite(message: Status, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
107
|
+
/* int32 code = 1; */
|
|
108
|
+
if (message.code !== 0)
|
|
109
|
+
writer.tag(1, WireType.Varint).int32(message.code);
|
|
110
|
+
/* string message = 2; */
|
|
111
|
+
if (message.message !== "")
|
|
112
|
+
writer.tag(2, WireType.LengthDelimited).string(message.message);
|
|
113
|
+
/* repeated google.protobuf.Any details = 3; */
|
|
114
|
+
for (let i = 0; i < message.details.length; i++)
|
|
115
|
+
Any.internalBinaryWrite(message.details[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
116
|
+
let u = options.writeUnknownFields;
|
|
117
|
+
if (u !== false)
|
|
118
|
+
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
119
|
+
return writer;
|
|
105
120
|
}
|
|
106
|
-
return message;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
internalBinaryWrite(message: Status, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
110
|
-
/* int32 code = 1; */
|
|
111
|
-
if (message.code !== 0)
|
|
112
|
-
writer.tag(1, WireType.Varint).int32(message.code);
|
|
113
|
-
/* string message = 2; */
|
|
114
|
-
if (message.message !== '')
|
|
115
|
-
writer.tag(2, WireType.LengthDelimited).string(message.message);
|
|
116
|
-
/* repeated google.protobuf.Any details = 3; */
|
|
117
|
-
for (let i = 0; i < message.details.length; i++)
|
|
118
|
-
Any.internalBinaryWrite(message.details[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
119
|
-
const u = options.writeUnknownFields;
|
|
120
|
-
if (u !== false)
|
|
121
|
-
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
122
|
-
return writer;
|
|
123
|
-
}
|
|
124
121
|
}
|
|
125
122
|
/**
|
|
126
123
|
* @generated MessageType for protobuf message google.rpc.Status
|
package/src/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.6 with parameter client_generic,optimize_speed,generate_dependencies,force_server_none
|
|
2
2
|
// @generated from protobuf file "github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.proto" (package "MiLaboratories.Controller.Shared", syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
|
-
import type { RpcTransport } from
|
|
5
|
-
import type { ServiceInfo } from
|
|
6
|
-
import { LS } from
|
|
7
|
-
import { stackIntercept } from
|
|
8
|
-
import type { LsAPI_List_Response } from
|
|
9
|
-
import type { LsAPI_List_Request } from
|
|
10
|
-
import type { UnaryCall } from
|
|
11
|
-
import type { RpcOptions } from
|
|
4
|
+
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
|
|
5
|
+
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
|
|
6
|
+
import { LS } from "./protocol";
|
|
7
|
+
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
|
|
8
|
+
import type { LsAPI_List_Response } from "./protocol";
|
|
9
|
+
import type { LsAPI_List_Request } from "./protocol";
|
|
10
|
+
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
|
|
11
|
+
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
14
|
* LS provides access to lists of blobs (files, S3 objects and so on) is some storage.
|
|
@@ -20,10 +20,10 @@ import type { RpcOptions } from '@protobuf-ts/runtime-rpc';
|
|
|
20
20
|
* @generated from protobuf service MiLaboratories.Controller.Shared.LS
|
|
21
21
|
*/
|
|
22
22
|
export interface ILSClient {
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
24
|
* @generated from protobuf rpc: List(MiLaboratories.Controller.Shared.LsAPI.List.Request) returns (MiLaboratories.Controller.Shared.LsAPI.List.Response);
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
list(input: LsAPI_List_Request, options?: RpcOptions): UnaryCall<LsAPI_List_Request, LsAPI_List_Response>;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
*
|
|
@@ -36,17 +36,16 @@ export interface ILSClient {
|
|
|
36
36
|
* @generated from protobuf service MiLaboratories.Controller.Shared.LS
|
|
37
37
|
*/
|
|
38
38
|
export class LSClient implements ILSClient, ServiceInfo {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
/**
|
|
39
|
+
typeName = LS.typeName;
|
|
40
|
+
methods = LS.methods;
|
|
41
|
+
options = LS.options;
|
|
42
|
+
constructor(private readonly _transport: RpcTransport) {
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
46
45
|
* @generated from protobuf rpc: List(MiLaboratories.Controller.Shared.LsAPI.List.Request) returns (MiLaboratories.Controller.Shared.LsAPI.List.Response);
|
|
47
46
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
list(input: LsAPI_List_Request, options?: RpcOptions): UnaryCall<LsAPI_List_Request, LsAPI_List_Response> {
|
|
48
|
+
const method = this.methods[0], opt = this._transport.mergeOptions(options);
|
|
49
|
+
return stackIntercept<LsAPI_List_Request, LsAPI_List_Response>("unary", this._transport, method, opt, input);
|
|
50
|
+
}
|
|
52
51
|
}
|