@milaboratories/pl-middle-layer 1.40.15 → 1.41.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/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +354 -349
- package/dist/index.mjs.map +1 -1
- package/dist/middle_layer/driver_kit.d.ts +3 -2
- package/dist/middle_layer/driver_kit.d.ts.map +1 -1
- package/dist/middle_layer/middle_layer.d.ts.map +1 -1
- package/dist/middle_layer/ops.d.ts +4 -2
- package/dist/middle_layer/ops.d.ts.map +1 -1
- package/dist/model/frontend.d.ts +2 -2
- package/dist/model/frontend.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/middle_layer/driver_kit.ts +13 -0
- package/src/middle_layer/frontend_path.ts +6 -6
- package/src/middle_layer/middle_layer.ts +3 -9
- package/src/middle_layer/ops.ts +14 -0
- package/src/model/frontend.ts +2 -2
- package/src/pool/driver.ts +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PlClient } from '@milaboratories/pl-client';
|
|
2
|
-
import { InternalLsDriver, DownloadDriver, DownloadBlobToURLDriver, LogsDriver, UploadDriver } from '@milaboratories/pl-drivers';
|
|
2
|
+
import { InternalLsDriver, DownloadDriver, DownloadBlobToURLDriver, LogsDriver, UploadDriver, DownloadUrlDriver } from '@milaboratories/pl-drivers';
|
|
3
3
|
import { Signer } from '@milaboratories/ts-helpers';
|
|
4
4
|
import { InternalPFrameDriver } from '../pool';
|
|
5
5
|
import { DriverKitOpsConstructor } from './ops';
|
|
@@ -17,6 +17,7 @@ export interface MiddleLayerDriverKit extends Sdk.DriverKit {
|
|
|
17
17
|
readonly logDriver: LogsDriver;
|
|
18
18
|
readonly lsDriver: InternalLsDriver;
|
|
19
19
|
readonly pFrameDriver: InternalPFrameDriver;
|
|
20
|
+
readonly frontendDriver: DownloadUrlDriver;
|
|
20
21
|
/**
|
|
21
22
|
* Signer is initialized from local secret in drivers initialization routine,
|
|
22
23
|
* so constitutes a part of the driver kit
|
|
@@ -28,5 +29,5 @@ export interface MiddleLayerDriverKit extends Sdk.DriverKit {
|
|
|
28
29
|
* */
|
|
29
30
|
readonly uploadDriver: UploadDriver;
|
|
30
31
|
}
|
|
31
|
-
export declare function initDriverKit(pl: PlClient, workdir: string, _ops: DriverKitOpsConstructor): Promise<MiddleLayerDriverKit>;
|
|
32
|
+
export declare function initDriverKit(pl: PlClient, workdir: string, frontendDownloadPath: string, _ops: DriverKitOpsConstructor): Promise<MiddleLayerDriverKit>;
|
|
32
33
|
//# sourceMappingURL=driver_kit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver_kit.d.ts","sourceRoot":"","sources":["../../src/middle_layer/driver_kit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EACV,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAKL,cAAc,EACd,uBAAuB,EACvB,UAAU,EAGV,YAAY,
|
|
1
|
+
{"version":3,"file":"driver_kit.d.ts","sourceRoot":"","sources":["../../src/middle_layer/driver_kit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EACV,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAKL,cAAc,EACd,uBAAuB,EACvB,UAAU,EAGV,YAAY,EACZ,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,KAAK,GAAG,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAMf;;;;;;KAMK;AACL,MAAM,WAAW,oBAAqB,SAAQ,GAAG,CAAC,SAAS;IAEzD,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAEpC,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAElD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAE/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAE5C,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAE3C;;;SAGK;IACL,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;SAGK;IACL,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,EAC5B,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CA2E/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middle_layer.d.ts","sourceRoot":"","sources":["../../src/middle_layer/middle_layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAShD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EAC1B,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"middle_layer.d.ts","sourceRoot":"","sources":["../../src/middle_layer/middle_layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TemporalSynchronizedTreeOps } from './types';
|
|
2
|
-
import { DownloadBlobToURLDriverOps, DownloadDriverOps, OpenFileDialogCallback, VirtualLocalStorageSpec, UploadDriverOps, LogsStreamDriverOps, LocalStorageProjection } from '@milaboratories/pl-drivers';
|
|
2
|
+
import { DownloadBlobToURLDriverOps, DownloadDriverOps, DownloadUrlDriverOps, OpenFileDialogCallback, VirtualLocalStorageSpec, UploadDriverOps, LogsStreamDriverOps, LocalStorageProjection } from '@milaboratories/pl-drivers';
|
|
3
3
|
import { MiLogger } from '@milaboratories/ts-helpers';
|
|
4
4
|
import { PFrameDriverOps } from '../pool/driver';
|
|
5
5
|
/** Paths part of {@link DriverKitOps}. */
|
|
@@ -46,6 +46,8 @@ export type DriverKitOpsSettings = {
|
|
|
46
46
|
* to download logs when source process terminates and log terns into a blob
|
|
47
47
|
*/
|
|
48
48
|
readonly blobDriverOps: DownloadDriverOps;
|
|
49
|
+
/** Settings related to the frontend driver that downloads frontends. */
|
|
50
|
+
readonly frontendDownloadDriverOps: DownloadUrlDriverOps;
|
|
49
51
|
readonly downloadBlobToURLDriverOps: DownloadBlobToURLDriverOps;
|
|
50
52
|
/**
|
|
51
53
|
* Settings related to the upload driver that actually performs upload and helps render upload
|
|
@@ -65,7 +67,7 @@ export type DriverKitOpsSettings = {
|
|
|
65
67
|
};
|
|
66
68
|
export type DriverKitOps = DriverKitOpsPaths & DriverKitOpsSettings;
|
|
67
69
|
/** Some defaults fot MiddleLayerOps. */
|
|
68
|
-
export declare const DefaultDriverKitOpsSettings: Pick<DriverKitOpsSettings, 'logger' | 'blobDriverOps' | 'downloadBlobToURLDriverOps' | 'uploadDriverOps' | 'logStreamDriverOps' | 'pFrameDriverOps'>;
|
|
70
|
+
export declare const DefaultDriverKitOpsSettings: Pick<DriverKitOpsSettings, 'logger' | 'blobDriverOps' | 'frontendDownloadDriverOps' | 'downloadBlobToURLDriverOps' | 'uploadDriverOps' | 'logStreamDriverOps' | 'pFrameDriverOps'>;
|
|
69
71
|
export declare function DefaultDriverKitOpsPaths(workDir: string): Pick<DriverKitOpsPaths, 'blobDownloadPath' | 'blobDownloadRangesCachePath' | 'downloadBlobToURLPath' | 'pframesSpillPath'>;
|
|
70
72
|
/** Fields with default values are marked as optional here. */
|
|
71
73
|
export type DriverKitOpsConstructor = Omit<DriverKitOpsSettings, keyof typeof DefaultDriverKitOpsSettings> & Partial<typeof DefaultDriverKitOpsSettings> & Omit<DriverKitOpsPaths, keyof ReturnType<typeof DefaultDriverKitOpsPaths>> & Partial<ReturnType<typeof DefaultDriverKitOpsPaths>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/middle_layer/ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,0CAA0C;AAC1C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,iDAAiD;IACjD,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAE7C,qDAAqD;IACrD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC;;;;;;;;;;;SAWK;IACL,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;IAEpD;;;SAGK;IACL,QAAQ,CAAC,4BAA4B,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAElE,kGAAkG;IAClG,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,oBAAoB,GAAG;IAKjC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAM1B;;;;;SAKK;IACL,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAM7B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAM1C,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAMhE;;;SAGK;IACL,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAO1C,mDAAmD;IACnD,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IAMjD;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAMxD,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAEpE,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,EAAE,IAAI,CAC5C,oBAAoB,EAClB,QAAQ,GACR,eAAe,GACf,4BAA4B,GAC5B,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../src/middle_layer/ops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,0CAA0C;AAC1C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAElC,iDAAiD;IACjD,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAE7C,qDAAqD;IACrD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC;;;;;;;;;;;SAWK;IACL,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;IAEpD;;;SAGK;IACL,QAAQ,CAAC,4BAA4B,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAElE,kGAAkG;IAClG,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,oBAAoB,GAAG;IAKjC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAM1B;;;;;SAKK;IACL,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAM7B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAM1C,wEAAwE;IACxE,QAAQ,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;IAMzD,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAMhE;;;SAGK;IACL,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAO1C,mDAAmD;IACnD,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IAMjD;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAMxD,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAEpE,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,EAAE,IAAI,CAC5C,oBAAoB,EAClB,QAAQ,GACR,eAAe,GACf,2BAA2B,GAC3B,4BAA4B,GAC5B,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,CAkCpB,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GACd,IAAI,CAAC,iBAAiB,EACvB,kBAAkB,GAClB,6BAA6B,GAC7B,uBAAuB,GACvB,kBAAkB,CAAC,CAOpB;AAED,8DAA8D;AAE9D,MAAM,MAAM,uBAAuB,GACjC,IAAI,CAAC,oBAAoB,EAAE,MAAM,OAAO,2BAA2B,CAAC,GAClE,OAAO,CAAC,OAAO,2BAA2B,CAAC,GAC3C,IAAI,CAAC,iBAAiB,EAAE,MAAM,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,GAC1E,OAAO,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,8CAA8C;IAC9C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,uBAAuB,GAAG;IACpC,uFAAuF;IACvF,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG;IAC1D,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAE3C;0CACsC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;IAEzD;4FACwF;IACxF,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAExC;0DACsD;IACtD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAEtC,+CAA+C;IAC/C,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAE/C,mEAAmE;IACnE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAE1E,wCAAwC;AACxC,eAAO,MAAM,6BAA6B,EAAE,IAAI,CAC9C,cAAc,EACZ,MAAM,OAAO,2BAA2B,GACxC,oBAAoB,GACpB,wBAAwB,GACxB,sBAAsB,GACtB,+BAA+B,GAC/B,UAAU,CAcb,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,IAAI,CACH,mBAAmB,EACrB,MAAM,UAAU,CAAC,OAAO,wBAAwB,CAAC,GAAG,sBAAsB,CACzE,CAKF;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,sBAAsB,EACtB,MAAM,OAAO,6BAA6B,CAC3C,GACD,OAAO,CAAC,OAAO,6BAA6B,CAAC,GAC7C,IAAI,CAAC,mBAAmB,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,GACvF,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/model/frontend.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* was unpacked and basic meta information about the enclosed UI
|
|
3
3
|
* (i.e. SDK version). */
|
|
4
4
|
export interface FrontendData {
|
|
5
|
-
/**
|
|
6
|
-
readonly
|
|
5
|
+
/** URL of the frontend */
|
|
6
|
+
readonly url: string;
|
|
7
7
|
/** SDK version used by the UI */
|
|
8
8
|
readonly sdkVersion: string;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend.d.ts","sourceRoot":"","sources":["../../src/model/frontend.ts"],"names":[],"mappings":"AAAA;;yBAEyB;AACzB,MAAM,WAAW,YAAY;IAC3B,
|
|
1
|
+
{"version":3,"file":"frontend.d.ts","sourceRoot":"","sources":["../../src/model/frontend.ts"],"names":[],"mappings":"AAAA;;yBAEyB;AACzB,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/pl-middle-layer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.41.1",
|
|
4
4
|
"description": "Pl Middle Layer",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.16.0"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"keywords": [],
|
|
23
23
|
"license": "UNLICENSED",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@milaboratories/pframes-rs-node": "1.0.
|
|
25
|
+
"@milaboratories/pframes-rs-node": "1.0.54",
|
|
26
26
|
"canonicalize": "~2.1.0",
|
|
27
27
|
"denque": "^2.1.0",
|
|
28
28
|
"lru-cache": "^11.1.0",
|
|
@@ -35,19 +35,19 @@
|
|
|
35
35
|
"@milaboratories/pl-http": "^1.1.4",
|
|
36
36
|
"@milaboratories/resolve-helper": "^1.1.0",
|
|
37
37
|
"@milaboratories/computable": "^2.6.2",
|
|
38
|
-
"@milaboratories/pl-drivers": "^1.6.13",
|
|
39
|
-
"@platforma-sdk/block-tools": "^2.5.75",
|
|
40
|
-
"@milaboratories/pl-model-common": "~1.18.0",
|
|
41
|
-
"@milaboratories/pl-model-backend": "~1.1.2",
|
|
42
38
|
"@milaboratories/pl-client": "^2.11.5",
|
|
43
|
-
"@platforma-sdk/
|
|
44
|
-
"@milaboratories/pl-model-
|
|
39
|
+
"@platforma-sdk/block-tools": "^2.5.77",
|
|
40
|
+
"@milaboratories/pl-model-common": "~1.19.1",
|
|
41
|
+
"@milaboratories/pl-model-middle-layer": "~1.8.4",
|
|
42
|
+
"@milaboratories/pl-drivers": "^1.7.1",
|
|
45
43
|
"@milaboratories/pl-tree": "~1.7.4",
|
|
44
|
+
"@milaboratories/pl-model-backend": "~1.1.2",
|
|
46
45
|
"@milaboratories/ts-helpers": "^1.4.2",
|
|
47
|
-
"@
|
|
46
|
+
"@platforma-sdk/model": "~1.42.4",
|
|
48
47
|
"@platforma-sdk/workflow-tengo": "4.14.1",
|
|
48
|
+
"@milaboratories/pl-config": "^1.6.2",
|
|
49
49
|
"@milaboratories/pl-deployments": "^2.4.6",
|
|
50
|
-
"@milaboratories/pl-
|
|
50
|
+
"@milaboratories/pl-errors": "^1.1.12"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"semver": "^7.7.2",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"jest": "^29.7.0",
|
|
61
61
|
"@jest/globals": "^29.7.0",
|
|
62
62
|
"ts-jest": "^29.2.6",
|
|
63
|
-
"@milaboratories/
|
|
64
|
-
"@milaboratories/
|
|
63
|
+
"@milaboratories/eslint-config": "^1.0.4",
|
|
64
|
+
"@milaboratories/build-configs": "1.0.5"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
67
|
"type-check": "tsc --noEmit --composite false",
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
LogsStreamDriver,
|
|
13
13
|
LsDriver,
|
|
14
14
|
UploadDriver,
|
|
15
|
+
DownloadUrlDriver,
|
|
15
16
|
} from '@milaboratories/pl-drivers';
|
|
16
17
|
import type * as Sdk from '@milaboratories/pl-model-common';
|
|
17
18
|
import type { Signer } from '@milaboratories/ts-helpers';
|
|
@@ -45,6 +46,8 @@ export interface MiddleLayerDriverKit extends Sdk.DriverKit {
|
|
|
45
46
|
readonly lsDriver: InternalLsDriver;
|
|
46
47
|
// override with wider interface
|
|
47
48
|
readonly pFrameDriver: InternalPFrameDriver;
|
|
49
|
+
// override with wider interface
|
|
50
|
+
readonly frontendDriver: DownloadUrlDriver;
|
|
48
51
|
|
|
49
52
|
/**
|
|
50
53
|
* Signer is initialized from local secret in drivers initialization routine,
|
|
@@ -62,6 +65,7 @@ export interface MiddleLayerDriverKit extends Sdk.DriverKit {
|
|
|
62
65
|
export async function initDriverKit(
|
|
63
66
|
pl: PlClient,
|
|
64
67
|
workdir: string,
|
|
68
|
+
frontendDownloadPath: string,
|
|
65
69
|
_ops: DriverKitOpsConstructor,
|
|
66
70
|
): Promise<MiddleLayerDriverKit> {
|
|
67
71
|
const ops: DriverKitOps = {
|
|
@@ -120,6 +124,14 @@ export async function initDriverKit(
|
|
|
120
124
|
ops.pFrameDriverOps,
|
|
121
125
|
);
|
|
122
126
|
|
|
127
|
+
const frontendDownloadDriver = new DownloadUrlDriver(
|
|
128
|
+
ops.logger,
|
|
129
|
+
pl.httpDispatcher,
|
|
130
|
+
frontendDownloadPath,
|
|
131
|
+
signer,
|
|
132
|
+
ops.frontendDownloadDriverOps,
|
|
133
|
+
);
|
|
134
|
+
|
|
123
135
|
return {
|
|
124
136
|
blobDriver,
|
|
125
137
|
blobToURLDriver: blobToURLDriver,
|
|
@@ -128,5 +140,6 @@ export async function initDriverKit(
|
|
|
128
140
|
signer,
|
|
129
141
|
uploadDriver,
|
|
130
142
|
pFrameDriver,
|
|
143
|
+
frontendDriver: frontendDownloadDriver,
|
|
131
144
|
};
|
|
132
145
|
}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
FrontendFromFolderResourceType,
|
|
11
11
|
FrontendFromUrlResourceType,
|
|
12
12
|
} from '../model';
|
|
13
|
-
import type {
|
|
13
|
+
import type { UrlResult } from '@milaboratories/pl-drivers';
|
|
14
14
|
import { projectFieldName } from '../model/project_model';
|
|
15
15
|
import { BlockPackFrontendField } from '../mutator/block-pack/block_pack';
|
|
16
16
|
import { getBlockPackInfo } from './util';
|
|
@@ -19,12 +19,12 @@ import type { FrontendData } from '../model/frontend';
|
|
|
19
19
|
function kernel(
|
|
20
20
|
frontendRes: PlTreeEntryAccessor,
|
|
21
21
|
env: MiddleLayerEnvironment,
|
|
22
|
-
): undefined | string | ComputableStableDefined<
|
|
22
|
+
): undefined | string | ComputableStableDefined<UrlResult> {
|
|
23
23
|
const node = frontendRes.node();
|
|
24
24
|
if (resourceTypesEqual(node.resourceType, FrontendFromUrlResourceType)) {
|
|
25
25
|
const data = node.getDataAsJson<FrontendFromUrlData>();
|
|
26
26
|
if (data === undefined) throw new Error(`No resource data.`);
|
|
27
|
-
return env.frontendDownloadDriver.
|
|
27
|
+
return env.frontendDownloadDriver.getUrl(new URL(data.url)).withStableType();
|
|
28
28
|
} else if (resourceTypesEqual(node.resourceType, FrontendFromFolderResourceType)) {
|
|
29
29
|
const data = node.getDataAsJson<FrontendFromFolderData>();
|
|
30
30
|
if (data === undefined) throw new Error(`No resource data.`);
|
|
@@ -39,7 +39,7 @@ function kernel(
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
function
|
|
42
|
+
function frontendUrlComputable(
|
|
43
43
|
entry: PlTreeEntry | undefined,
|
|
44
44
|
env: MiddleLayerEnvironment,
|
|
45
45
|
): ComputableStableDefined<string> | undefined {
|
|
@@ -53,7 +53,7 @@ function frontendPathComputable(
|
|
|
53
53
|
if (v === undefined) return undefined;
|
|
54
54
|
if (typeof v === 'string') return v;
|
|
55
55
|
if (v.error !== undefined) throw new Error(v.error);
|
|
56
|
-
return v.
|
|
56
|
+
return v.url;
|
|
57
57
|
},
|
|
58
58
|
},
|
|
59
59
|
).withStableType();
|
|
@@ -79,7 +79,7 @@ export function frontendData(
|
|
|
79
79
|
)
|
|
80
80
|
?.persist();
|
|
81
81
|
return {
|
|
82
|
-
|
|
82
|
+
url: frontendUrlComputable(frontendEntry, env),
|
|
83
83
|
sdkVersion: bp?.cfg.sdkVersion,
|
|
84
84
|
};
|
|
85
85
|
},
|
|
@@ -34,7 +34,7 @@ import type { MiddleLayerDriverKit } from './driver_kit';
|
|
|
34
34
|
import { initDriverKit } from './driver_kit';
|
|
35
35
|
import type { DriverKit, SupportedRequirement } from '@platforma-sdk/model';
|
|
36
36
|
import { RuntimeCapabilities } from '@platforma-sdk/model';
|
|
37
|
-
import { DownloadUrlDriver } from '@milaboratories/pl-drivers';
|
|
37
|
+
import type { DownloadUrlDriver } from '@milaboratories/pl-drivers';
|
|
38
38
|
import { V2RegistryProvider } from '../block_registry';
|
|
39
39
|
import type { Dispatcher } from 'undici';
|
|
40
40
|
import { RetryAgent } from 'undici';
|
|
@@ -245,7 +245,7 @@ export class MiddleLayer {
|
|
|
245
245
|
|
|
246
246
|
const logger = ops.logger;
|
|
247
247
|
|
|
248
|
-
const driverKit = await initDriverKit(pl, workdir, ops);
|
|
248
|
+
const driverKit = await initDriverKit(pl, workdir, ops.frontendDownloadPath, ops);
|
|
249
249
|
|
|
250
250
|
// passed to components having no own retry logic
|
|
251
251
|
const retryHttpDispatcher = new RetryAgent(pl.httpDispatcher);
|
|
@@ -258,12 +258,6 @@ export class MiddleLayer {
|
|
|
258
258
|
retryHttpDispatcher,
|
|
259
259
|
);
|
|
260
260
|
|
|
261
|
-
const frontendDownloadDriver = new DownloadUrlDriver(
|
|
262
|
-
logger,
|
|
263
|
-
pl.httpDispatcher,
|
|
264
|
-
ops.frontendDownloadPath,
|
|
265
|
-
);
|
|
266
|
-
|
|
267
261
|
const quickJs = await getQuickJS();
|
|
268
262
|
|
|
269
263
|
const runtimeCapabilities = new RuntimeCapabilities();
|
|
@@ -280,7 +274,7 @@ export class MiddleLayer {
|
|
|
280
274
|
retryHttpDispatcher: retryHttpDispatcher,
|
|
281
275
|
ops,
|
|
282
276
|
bpPreparer,
|
|
283
|
-
frontendDownloadDriver,
|
|
277
|
+
frontendDownloadDriver: driverKit.frontendDriver,
|
|
284
278
|
driverKit,
|
|
285
279
|
blockUpdateWatcher: new BlockUpdateWatcher(v2RegistryProvider, logger, {
|
|
286
280
|
minDelay: ops.devBlockUpdateRecheckInterval,
|
package/src/middle_layer/ops.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { TemporalSynchronizedTreeOps } from './types';
|
|
|
2
2
|
import type {
|
|
3
3
|
DownloadBlobToURLDriverOps,
|
|
4
4
|
DownloadDriverOps,
|
|
5
|
+
DownloadUrlDriverOps,
|
|
5
6
|
OpenFileDialogCallback,
|
|
6
7
|
VirtualLocalStorageSpec,
|
|
7
8
|
} from '@milaboratories/pl-drivers';
|
|
@@ -78,6 +79,13 @@ export type DriverKitOpsSettings = {
|
|
|
78
79
|
*/
|
|
79
80
|
readonly blobDriverOps: DownloadDriverOps;
|
|
80
81
|
|
|
82
|
+
//
|
|
83
|
+
// Frontend Driver
|
|
84
|
+
//
|
|
85
|
+
|
|
86
|
+
/** Settings related to the frontend driver that downloads frontends. */
|
|
87
|
+
readonly frontendDownloadDriverOps: DownloadUrlDriverOps;
|
|
88
|
+
|
|
81
89
|
//
|
|
82
90
|
// Blob To URL Driver
|
|
83
91
|
//
|
|
@@ -128,6 +136,7 @@ export const DefaultDriverKitOpsSettings: Pick<
|
|
|
128
136
|
DriverKitOpsSettings,
|
|
129
137
|
| 'logger'
|
|
130
138
|
| 'blobDriverOps'
|
|
139
|
+
| 'frontendDownloadDriverOps'
|
|
131
140
|
| 'downloadBlobToURLDriverOps'
|
|
132
141
|
| 'uploadDriverOps'
|
|
133
142
|
| 'logStreamDriverOps'
|
|
@@ -139,6 +148,11 @@ export const DefaultDriverKitOpsSettings: Pick<
|
|
|
139
148
|
rangesCacheMaxSizeBytes: 8 * 1024 * 1024 * 1024, // 8 GB
|
|
140
149
|
nConcurrentDownloads: 10,
|
|
141
150
|
},
|
|
151
|
+
frontendDownloadDriverOps: {
|
|
152
|
+
cacheSoftSizeBytes: 1 * 1024 * 1024 * 1024, // 1 GB
|
|
153
|
+
withGunzip: true,
|
|
154
|
+
nConcurrentDownloads: 50,
|
|
155
|
+
},
|
|
142
156
|
downloadBlobToURLDriverOps: {
|
|
143
157
|
cacheSoftSizeBytes: 1 * 1024 * 1024 * 1024, // 1 GB
|
|
144
158
|
nConcurrentDownloads: 10,
|
package/src/model/frontend.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* was unpacked and basic meta information about the enclosed UI
|
|
3
3
|
* (i.e. SDK version). */
|
|
4
4
|
export interface FrontendData {
|
|
5
|
-
/**
|
|
6
|
-
readonly
|
|
5
|
+
/** URL of the frontend */
|
|
6
|
+
readonly url: string;
|
|
7
7
|
|
|
8
8
|
/** SDK version used by the UI */
|
|
9
9
|
readonly sdkVersion: string;
|
package/src/pool/driver.ts
CHANGED
|
@@ -173,7 +173,7 @@ class PTableCache {
|
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
class PFrameHolder implements PFrameInternal.PFrameDataSource, AsyncDisposable {
|
|
176
|
-
public readonly pFramePromise: Promise<PFrameInternal.
|
|
176
|
+
public readonly pFramePromise: Promise<PFrameInternal.PFrameV9>;
|
|
177
177
|
private readonly abortController = new AbortController();
|
|
178
178
|
private readonly blobIdToResource = new Map<string, ResourceInfo>();
|
|
179
179
|
private readonly blobHandleComputables = new Map<
|
|
@@ -209,7 +209,7 @@ class PFrameHolder implements PFrameInternal.PFrameDataSource, AsyncDisposable {
|
|
|
209
209
|
const promises: Promise<void>[] = [];
|
|
210
210
|
for (const column of distinctСolumns) {
|
|
211
211
|
pFrame.addColumnSpec(column.id, column.spec);
|
|
212
|
-
promises.push(
|
|
212
|
+
promises.push(pFrame.setColumnData(column.id, column.data, { signal: this.disposeSignal }));
|
|
213
213
|
}
|
|
214
214
|
this.pFramePromise = Promise.all(promises)
|
|
215
215
|
.then(() => pFrame)
|