@milaboratories/pl-middle-layer 1.48.21 → 1.48.23

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.
@@ -37,7 +37,7 @@ async function initDriverKit(pl, workdir, frontendDownloadPath, _ops) {
37
37
  frontendDriver: new _milaboratories_pl_drivers.DownloadUrlDriver(ops.logger, pl.httpDispatcher, frontendDownloadPath, signer, ops.frontendDownloadDriverOps)
38
38
  };
39
39
  const dispose = async () => {
40
- const disposePromises = Object.values(driverKit).flatMap((driver) => (0, _milaboratories_ts_helpers.isAsyncDisposable)(driver) ? [driver[Symbol.asyncDispose]] : []);
40
+ const disposePromises = Object.values(driverKit).flatMap((driver) => (0, _milaboratories_ts_helpers.isAsyncDisposable)(driver) ? [driver[Symbol.asyncDispose]()] : []);
41
41
  await Promise.all(disposePromises);
42
42
  };
43
43
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"driver_kit.cjs","names":["DefaultDriverKitOpsSettings","DefaultDriverKitOpsPaths","HmacSha256Signer","DownloadDriver","DownloadBlobToURLDriver","UploadDriver","LogsStreamDriver","LogsDriver","LsDriver","createPFrameDriver","DownloadUrlDriver"],"sources":["../../src/middle_layer/driver_kit.ts"],"sourcesContent":["import type { PlClient } from \"@milaboratories/pl-client\";\nimport type { InternalLsDriver } from \"@milaboratories/pl-drivers\";\nimport {\n createDownloadClient,\n createLogsClient,\n createUploadBlobClient,\n createUploadProgressClient,\n DownloadDriver,\n DownloadBlobToURLDriver,\n LogsDriver,\n LogsStreamDriver,\n LsDriver,\n UploadDriver,\n DownloadUrlDriver,\n} from \"@milaboratories/pl-drivers\";\nimport type * as Sdk from \"@milaboratories/pl-model-common\";\nimport type { Signer } from \"@milaboratories/ts-helpers\";\nimport { HmacSha256Signer, isAsyncDisposable } from \"@milaboratories/ts-helpers\";\nimport type { InternalPFrameDriver } from \"../pool\";\nimport { createPFrameDriver } from \"../pool\";\nimport type { DriverKitOps, DriverKitOpsConstructor } from \"./ops\";\nimport { DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings } from \"./ops\";\n\n/**\n * Drivers offered by the middle-layer for internal consumers,\n * like configuration rendering routines.\n *\n * This intertface is basically a version of the DriverKit from\n * UI SDK with extended API.\n * */\nexport interface MiddleLayerDriverKit extends Sdk.DriverKit, AsyncDisposable {\n /** Dispose the driver kit and all its resources. */\n dispose(): Promise<void>;\n\n // override with wider interface\n readonly blobDriver: DownloadDriver;\n // override with wider interface\n readonly blobToURLDriver: DownloadBlobToURLDriver;\n // override with wider interface\n readonly logDriver: LogsDriver;\n // override with wider interface\n readonly lsDriver: InternalLsDriver;\n // override with wider interface\n readonly pFrameDriver: InternalPFrameDriver;\n // override with wider interface\n readonly frontendDriver: DownloadUrlDriver;\n\n /**\n * Signer is initialized from local secret in drivers initialization routine,\n * so constitutes a part of the driver kit\n * */\n readonly signer: Signer;\n\n /**\n * Used to retrieve upload progress, and initiate upload porecesses driven by\n * upload requests from block outputs.\n * */\n readonly uploadDriver: UploadDriver;\n}\n\nexport async function initDriverKit(\n pl: PlClient,\n workdir: string,\n frontendDownloadPath: string,\n _ops: DriverKitOpsConstructor,\n): Promise<MiddleLayerDriverKit> {\n const ops: DriverKitOps = {\n ...DefaultDriverKitOpsSettings,\n ...DefaultDriverKitOpsPaths(workdir),\n ..._ops,\n };\n\n const signer = new HmacSha256Signer(ops.localSecret);\n\n const downloadClient = createDownloadClient(ops.logger, pl, ops.localProjections);\n const logsClient = createLogsClient(pl, ops.logger);\n const uploadBlobClient = createUploadBlobClient(pl, ops.logger);\n const uploadProgressClient = createUploadProgressClient(pl, ops.logger);\n\n const blobDriver = await DownloadDriver.init(\n ops.logger,\n downloadClient,\n logsClient,\n ops.blobDownloadPath,\n ops.blobDownloadRangesCachePath,\n signer,\n ops.blobDriverOps,\n );\n\n const blobToURLDriver = new DownloadBlobToURLDriver(\n ops.logger,\n signer,\n downloadClient,\n ops.downloadBlobToURLPath,\n ops.downloadBlobToURLDriverOps,\n );\n\n const uploadDriver = new UploadDriver(\n ops.logger,\n signer,\n uploadBlobClient,\n uploadProgressClient,\n ops.uploadDriverOps,\n );\n const logsStreamDriver = new LogsStreamDriver(ops.logger, logsClient, ops.logStreamDriverOps);\n const logDriver = new LogsDriver(ops.logger, logsStreamDriver, blobDriver);\n const lsDriver = await LsDriver.init(\n ops.logger,\n pl,\n signer,\n ops.localProjections,\n ops.openFileDialogCallback,\n ops.virtualLocalStoragesOverride,\n );\n\n const pFrameDriver = await createPFrameDriver({\n blobDriver,\n logger: ops.logger,\n spillPath: ops.pframesSpillPath,\n options: ops.pFrameDriverOps,\n });\n\n const frontendDownloadDriver = new DownloadUrlDriver(\n ops.logger,\n pl.httpDispatcher,\n frontendDownloadPath,\n signer,\n ops.frontendDownloadDriverOps,\n );\n\n const driverKit = {\n blobDriver,\n blobToURLDriver: blobToURLDriver,\n logDriver,\n lsDriver,\n signer,\n uploadDriver,\n pFrameDriver,\n frontendDriver: frontendDownloadDriver,\n };\n\n const dispose = async () => {\n const disposePromises = Object.values(driverKit).flatMap((driver) =>\n isAsyncDisposable(driver) ? [driver[Symbol.asyncDispose]] : [],\n );\n await Promise.all(disposePromises);\n };\n\n return {\n ...driverKit,\n dispose,\n [Symbol.asyncDispose]: dispose,\n };\n}\n"],"mappings":";;;;;;;;AA4DA,eAAsB,cACpB,IACA,SACA,sBACA,MAC+B;CAC/B,MAAM,MAAoB;EACxB,GAAGA;EACH,GAAGC,qCAAyB,QAAQ;EACpC,GAAG;EACJ;CAED,MAAM,SAAS,IAAIC,4CAAiB,IAAI,YAAY;CAEpD,MAAM,sEAAsC,IAAI,QAAQ,IAAI,IAAI,iBAAiB;CACjF,MAAM,8DAA8B,IAAI,IAAI,OAAO;CACnD,MAAM,0EAA0C,IAAI,IAAI,OAAO;CAC/D,MAAM,kFAAkD,IAAI,IAAI,OAAO;CAEvE,MAAM,aAAa,MAAMC,0CAAe,KACtC,IAAI,QACJ,gBACA,YACA,IAAI,kBACJ,IAAI,6BACJ,QACA,IAAI,cACL;CAED,MAAM,kBAAkB,IAAIC,mDAC1B,IAAI,QACJ,QACA,gBACA,IAAI,uBACJ,IAAI,2BACL;CAED,MAAM,eAAe,IAAIC,wCACvB,IAAI,QACJ,QACA,kBACA,sBACA,IAAI,gBACL;CACD,MAAM,mBAAmB,IAAIC,4CAAiB,IAAI,QAAQ,YAAY,IAAI,mBAAmB;CA0B7F,MAAM,YAAY;EAChB;EACiB;EACjB,WA5BgB,IAAIC,sCAAW,IAAI,QAAQ,kBAAkB,WAAW;EA6BxE,UA5Be,MAAMC,oCAAS,KAC9B,IAAI,QACJ,IACA,QACA,IAAI,kBACJ,IAAI,wBACJ,IAAI,6BACL;EAsBC;EACA;EACA,cAtBmB,MAAMC,kCAAmB;GAC5C;GACA,QAAQ,IAAI;GACZ,WAAW,IAAI;GACf,SAAS,IAAI;GACd,CAAC;EAkBA,gBAhB6B,IAAIC,6CACjC,IAAI,QACJ,GAAG,gBACH,sBACA,QACA,IAAI,0BACL;EAWA;CAED,MAAM,UAAU,YAAY;EAC1B,MAAM,kBAAkB,OAAO,OAAO,UAAU,CAAC,SAAS,6DACtC,OAAO,GAAG,CAAC,OAAO,OAAO,cAAc,GAAG,EAAE,CAC/D;AACD,QAAM,QAAQ,IAAI,gBAAgB;;AAGpC,QAAO;EACL,GAAG;EACH;GACC,OAAO,eAAe;EACxB"}
1
+ {"version":3,"file":"driver_kit.cjs","names":["DefaultDriverKitOpsSettings","DefaultDriverKitOpsPaths","HmacSha256Signer","DownloadDriver","DownloadBlobToURLDriver","UploadDriver","LogsStreamDriver","LogsDriver","LsDriver","createPFrameDriver","DownloadUrlDriver"],"sources":["../../src/middle_layer/driver_kit.ts"],"sourcesContent":["import type { PlClient } from \"@milaboratories/pl-client\";\nimport type { InternalLsDriver } from \"@milaboratories/pl-drivers\";\nimport {\n createDownloadClient,\n createLogsClient,\n createUploadBlobClient,\n createUploadProgressClient,\n DownloadDriver,\n DownloadBlobToURLDriver,\n LogsDriver,\n LogsStreamDriver,\n LsDriver,\n UploadDriver,\n DownloadUrlDriver,\n} from \"@milaboratories/pl-drivers\";\nimport type * as Sdk from \"@milaboratories/pl-model-common\";\nimport type { Signer } from \"@milaboratories/ts-helpers\";\nimport { HmacSha256Signer, isAsyncDisposable } from \"@milaboratories/ts-helpers\";\nimport type { InternalPFrameDriver } from \"../pool\";\nimport { createPFrameDriver } from \"../pool\";\nimport type { DriverKitOps, DriverKitOpsConstructor } from \"./ops\";\nimport { DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings } from \"./ops\";\n\n/**\n * Drivers offered by the middle-layer for internal consumers,\n * like configuration rendering routines.\n *\n * This intertface is basically a version of the DriverKit from\n * UI SDK with extended API.\n * */\nexport interface MiddleLayerDriverKit extends Sdk.DriverKit, AsyncDisposable {\n /** Dispose the driver kit and all its resources. */\n dispose(): Promise<void>;\n\n // override with wider interface\n readonly blobDriver: DownloadDriver;\n // override with wider interface\n readonly blobToURLDriver: DownloadBlobToURLDriver;\n // override with wider interface\n readonly logDriver: LogsDriver;\n // override with wider interface\n readonly lsDriver: InternalLsDriver;\n // override with wider interface\n readonly pFrameDriver: InternalPFrameDriver;\n // override with wider interface\n readonly frontendDriver: DownloadUrlDriver;\n\n /**\n * Signer is initialized from local secret in drivers initialization routine,\n * so constitutes a part of the driver kit\n * */\n readonly signer: Signer;\n\n /**\n * Used to retrieve upload progress, and initiate upload porecesses driven by\n * upload requests from block outputs.\n * */\n readonly uploadDriver: UploadDriver;\n}\n\nexport async function initDriverKit(\n pl: PlClient,\n workdir: string,\n frontendDownloadPath: string,\n _ops: DriverKitOpsConstructor,\n): Promise<MiddleLayerDriverKit> {\n const ops: DriverKitOps = {\n ...DefaultDriverKitOpsSettings,\n ...DefaultDriverKitOpsPaths(workdir),\n ..._ops,\n };\n\n const signer = new HmacSha256Signer(ops.localSecret);\n\n const downloadClient = createDownloadClient(ops.logger, pl, ops.localProjections);\n const logsClient = createLogsClient(pl, ops.logger);\n const uploadBlobClient = createUploadBlobClient(pl, ops.logger);\n const uploadProgressClient = createUploadProgressClient(pl, ops.logger);\n\n const blobDriver = await DownloadDriver.init(\n ops.logger,\n downloadClient,\n logsClient,\n ops.blobDownloadPath,\n ops.blobDownloadRangesCachePath,\n signer,\n ops.blobDriverOps,\n );\n\n const blobToURLDriver = new DownloadBlobToURLDriver(\n ops.logger,\n signer,\n downloadClient,\n ops.downloadBlobToURLPath,\n ops.downloadBlobToURLDriverOps,\n );\n\n const uploadDriver = new UploadDriver(\n ops.logger,\n signer,\n uploadBlobClient,\n uploadProgressClient,\n ops.uploadDriverOps,\n );\n const logsStreamDriver = new LogsStreamDriver(ops.logger, logsClient, ops.logStreamDriverOps);\n const logDriver = new LogsDriver(ops.logger, logsStreamDriver, blobDriver);\n const lsDriver = await LsDriver.init(\n ops.logger,\n pl,\n signer,\n ops.localProjections,\n ops.openFileDialogCallback,\n ops.virtualLocalStoragesOverride,\n );\n\n const pFrameDriver = await createPFrameDriver({\n blobDriver,\n logger: ops.logger,\n spillPath: ops.pframesSpillPath,\n options: ops.pFrameDriverOps,\n });\n\n const frontendDownloadDriver = new DownloadUrlDriver(\n ops.logger,\n pl.httpDispatcher,\n frontendDownloadPath,\n signer,\n ops.frontendDownloadDriverOps,\n );\n\n const driverKit = {\n blobDriver,\n blobToURLDriver: blobToURLDriver,\n logDriver,\n lsDriver,\n signer,\n uploadDriver,\n pFrameDriver,\n frontendDriver: frontendDownloadDriver,\n };\n\n const dispose = async () => {\n const disposePromises = Object.values(driverKit).flatMap((driver) =>\n isAsyncDisposable(driver) ? [driver[Symbol.asyncDispose]()] : [],\n );\n await Promise.all(disposePromises);\n };\n\n return {\n ...driverKit,\n dispose,\n [Symbol.asyncDispose]: dispose,\n };\n}\n"],"mappings":";;;;;;;;AA4DA,eAAsB,cACpB,IACA,SACA,sBACA,MAC+B;CAC/B,MAAM,MAAoB;EACxB,GAAGA;EACH,GAAGC,qCAAyB,QAAQ;EACpC,GAAG;EACJ;CAED,MAAM,SAAS,IAAIC,4CAAiB,IAAI,YAAY;CAEpD,MAAM,sEAAsC,IAAI,QAAQ,IAAI,IAAI,iBAAiB;CACjF,MAAM,8DAA8B,IAAI,IAAI,OAAO;CACnD,MAAM,0EAA0C,IAAI,IAAI,OAAO;CAC/D,MAAM,kFAAkD,IAAI,IAAI,OAAO;CAEvE,MAAM,aAAa,MAAMC,0CAAe,KACtC,IAAI,QACJ,gBACA,YACA,IAAI,kBACJ,IAAI,6BACJ,QACA,IAAI,cACL;CAED,MAAM,kBAAkB,IAAIC,mDAC1B,IAAI,QACJ,QACA,gBACA,IAAI,uBACJ,IAAI,2BACL;CAED,MAAM,eAAe,IAAIC,wCACvB,IAAI,QACJ,QACA,kBACA,sBACA,IAAI,gBACL;CACD,MAAM,mBAAmB,IAAIC,4CAAiB,IAAI,QAAQ,YAAY,IAAI,mBAAmB;CA0B7F,MAAM,YAAY;EAChB;EACiB;EACjB,WA5BgB,IAAIC,sCAAW,IAAI,QAAQ,kBAAkB,WAAW;EA6BxE,UA5Be,MAAMC,oCAAS,KAC9B,IAAI,QACJ,IACA,QACA,IAAI,kBACJ,IAAI,wBACJ,IAAI,6BACL;EAsBC;EACA;EACA,cAtBmB,MAAMC,kCAAmB;GAC5C;GACA,QAAQ,IAAI;GACZ,WAAW,IAAI;GACf,SAAS,IAAI;GACd,CAAC;EAkBA,gBAhB6B,IAAIC,6CACjC,IAAI,QACJ,GAAG,gBACH,sBACA,QACA,IAAI,0BACL;EAWA;CAED,MAAM,UAAU,YAAY;EAC1B,MAAM,kBAAkB,OAAO,OAAO,UAAU,CAAC,SAAS,6DACtC,OAAO,GAAG,CAAC,OAAO,OAAO,eAAe,CAAC,GAAG,EAAE,CACjE;AACD,QAAM,QAAQ,IAAI,gBAAgB;;AAGpC,QAAO;EACL,GAAG;EACH;GACC,OAAO,eAAe;EACxB"}
@@ -36,7 +36,7 @@ async function initDriverKit(pl, workdir, frontendDownloadPath, _ops) {
36
36
  frontendDriver: new DownloadUrlDriver(ops.logger, pl.httpDispatcher, frontendDownloadPath, signer, ops.frontendDownloadDriverOps)
37
37
  };
38
38
  const dispose = async () => {
39
- const disposePromises = Object.values(driverKit).flatMap((driver) => isAsyncDisposable(driver) ? [driver[Symbol.asyncDispose]] : []);
39
+ const disposePromises = Object.values(driverKit).flatMap((driver) => isAsyncDisposable(driver) ? [driver[Symbol.asyncDispose]()] : []);
40
40
  await Promise.all(disposePromises);
41
41
  };
42
42
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"driver_kit.js","names":[],"sources":["../../src/middle_layer/driver_kit.ts"],"sourcesContent":["import type { PlClient } from \"@milaboratories/pl-client\";\nimport type { InternalLsDriver } from \"@milaboratories/pl-drivers\";\nimport {\n createDownloadClient,\n createLogsClient,\n createUploadBlobClient,\n createUploadProgressClient,\n DownloadDriver,\n DownloadBlobToURLDriver,\n LogsDriver,\n LogsStreamDriver,\n LsDriver,\n UploadDriver,\n DownloadUrlDriver,\n} from \"@milaboratories/pl-drivers\";\nimport type * as Sdk from \"@milaboratories/pl-model-common\";\nimport type { Signer } from \"@milaboratories/ts-helpers\";\nimport { HmacSha256Signer, isAsyncDisposable } from \"@milaboratories/ts-helpers\";\nimport type { InternalPFrameDriver } from \"../pool\";\nimport { createPFrameDriver } from \"../pool\";\nimport type { DriverKitOps, DriverKitOpsConstructor } from \"./ops\";\nimport { DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings } from \"./ops\";\n\n/**\n * Drivers offered by the middle-layer for internal consumers,\n * like configuration rendering routines.\n *\n * This intertface is basically a version of the DriverKit from\n * UI SDK with extended API.\n * */\nexport interface MiddleLayerDriverKit extends Sdk.DriverKit, AsyncDisposable {\n /** Dispose the driver kit and all its resources. */\n dispose(): Promise<void>;\n\n // override with wider interface\n readonly blobDriver: DownloadDriver;\n // override with wider interface\n readonly blobToURLDriver: DownloadBlobToURLDriver;\n // override with wider interface\n readonly logDriver: LogsDriver;\n // override with wider interface\n readonly lsDriver: InternalLsDriver;\n // override with wider interface\n readonly pFrameDriver: InternalPFrameDriver;\n // override with wider interface\n readonly frontendDriver: DownloadUrlDriver;\n\n /**\n * Signer is initialized from local secret in drivers initialization routine,\n * so constitutes a part of the driver kit\n * */\n readonly signer: Signer;\n\n /**\n * Used to retrieve upload progress, and initiate upload porecesses driven by\n * upload requests from block outputs.\n * */\n readonly uploadDriver: UploadDriver;\n}\n\nexport async function initDriverKit(\n pl: PlClient,\n workdir: string,\n frontendDownloadPath: string,\n _ops: DriverKitOpsConstructor,\n): Promise<MiddleLayerDriverKit> {\n const ops: DriverKitOps = {\n ...DefaultDriverKitOpsSettings,\n ...DefaultDriverKitOpsPaths(workdir),\n ..._ops,\n };\n\n const signer = new HmacSha256Signer(ops.localSecret);\n\n const downloadClient = createDownloadClient(ops.logger, pl, ops.localProjections);\n const logsClient = createLogsClient(pl, ops.logger);\n const uploadBlobClient = createUploadBlobClient(pl, ops.logger);\n const uploadProgressClient = createUploadProgressClient(pl, ops.logger);\n\n const blobDriver = await DownloadDriver.init(\n ops.logger,\n downloadClient,\n logsClient,\n ops.blobDownloadPath,\n ops.blobDownloadRangesCachePath,\n signer,\n ops.blobDriverOps,\n );\n\n const blobToURLDriver = new DownloadBlobToURLDriver(\n ops.logger,\n signer,\n downloadClient,\n ops.downloadBlobToURLPath,\n ops.downloadBlobToURLDriverOps,\n );\n\n const uploadDriver = new UploadDriver(\n ops.logger,\n signer,\n uploadBlobClient,\n uploadProgressClient,\n ops.uploadDriverOps,\n );\n const logsStreamDriver = new LogsStreamDriver(ops.logger, logsClient, ops.logStreamDriverOps);\n const logDriver = new LogsDriver(ops.logger, logsStreamDriver, blobDriver);\n const lsDriver = await LsDriver.init(\n ops.logger,\n pl,\n signer,\n ops.localProjections,\n ops.openFileDialogCallback,\n ops.virtualLocalStoragesOverride,\n );\n\n const pFrameDriver = await createPFrameDriver({\n blobDriver,\n logger: ops.logger,\n spillPath: ops.pframesSpillPath,\n options: ops.pFrameDriverOps,\n });\n\n const frontendDownloadDriver = new DownloadUrlDriver(\n ops.logger,\n pl.httpDispatcher,\n frontendDownloadPath,\n signer,\n ops.frontendDownloadDriverOps,\n );\n\n const driverKit = {\n blobDriver,\n blobToURLDriver: blobToURLDriver,\n logDriver,\n lsDriver,\n signer,\n uploadDriver,\n pFrameDriver,\n frontendDriver: frontendDownloadDriver,\n };\n\n const dispose = async () => {\n const disposePromises = Object.values(driverKit).flatMap((driver) =>\n isAsyncDisposable(driver) ? [driver[Symbol.asyncDispose]] : [],\n );\n await Promise.all(disposePromises);\n };\n\n return {\n ...driverKit,\n dispose,\n [Symbol.asyncDispose]: dispose,\n };\n}\n"],"mappings":";;;;;;;AA4DA,eAAsB,cACpB,IACA,SACA,sBACA,MAC+B;CAC/B,MAAM,MAAoB;EACxB,GAAG;EACH,GAAG,yBAAyB,QAAQ;EACpC,GAAG;EACJ;CAED,MAAM,SAAS,IAAI,iBAAiB,IAAI,YAAY;CAEpD,MAAM,iBAAiB,qBAAqB,IAAI,QAAQ,IAAI,IAAI,iBAAiB;CACjF,MAAM,aAAa,iBAAiB,IAAI,IAAI,OAAO;CACnD,MAAM,mBAAmB,uBAAuB,IAAI,IAAI,OAAO;CAC/D,MAAM,uBAAuB,2BAA2B,IAAI,IAAI,OAAO;CAEvE,MAAM,aAAa,MAAM,eAAe,KACtC,IAAI,QACJ,gBACA,YACA,IAAI,kBACJ,IAAI,6BACJ,QACA,IAAI,cACL;CAED,MAAM,kBAAkB,IAAI,wBAC1B,IAAI,QACJ,QACA,gBACA,IAAI,uBACJ,IAAI,2BACL;CAED,MAAM,eAAe,IAAI,aACvB,IAAI,QACJ,QACA,kBACA,sBACA,IAAI,gBACL;CACD,MAAM,mBAAmB,IAAI,iBAAiB,IAAI,QAAQ,YAAY,IAAI,mBAAmB;CA0B7F,MAAM,YAAY;EAChB;EACiB;EACjB,WA5BgB,IAAI,WAAW,IAAI,QAAQ,kBAAkB,WAAW;EA6BxE,UA5Be,MAAM,SAAS,KAC9B,IAAI,QACJ,IACA,QACA,IAAI,kBACJ,IAAI,wBACJ,IAAI,6BACL;EAsBC;EACA;EACA,cAtBmB,MAAM,mBAAmB;GAC5C;GACA,QAAQ,IAAI;GACZ,WAAW,IAAI;GACf,SAAS,IAAI;GACd,CAAC;EAkBA,gBAhB6B,IAAI,kBACjC,IAAI,QACJ,GAAG,gBACH,sBACA,QACA,IAAI,0BACL;EAWA;CAED,MAAM,UAAU,YAAY;EAC1B,MAAM,kBAAkB,OAAO,OAAO,UAAU,CAAC,SAAS,WACxD,kBAAkB,OAAO,GAAG,CAAC,OAAO,OAAO,cAAc,GAAG,EAAE,CAC/D;AACD,QAAM,QAAQ,IAAI,gBAAgB;;AAGpC,QAAO;EACL,GAAG;EACH;GACC,OAAO,eAAe;EACxB"}
1
+ {"version":3,"file":"driver_kit.js","names":[],"sources":["../../src/middle_layer/driver_kit.ts"],"sourcesContent":["import type { PlClient } from \"@milaboratories/pl-client\";\nimport type { InternalLsDriver } from \"@milaboratories/pl-drivers\";\nimport {\n createDownloadClient,\n createLogsClient,\n createUploadBlobClient,\n createUploadProgressClient,\n DownloadDriver,\n DownloadBlobToURLDriver,\n LogsDriver,\n LogsStreamDriver,\n LsDriver,\n UploadDriver,\n DownloadUrlDriver,\n} from \"@milaboratories/pl-drivers\";\nimport type * as Sdk from \"@milaboratories/pl-model-common\";\nimport type { Signer } from \"@milaboratories/ts-helpers\";\nimport { HmacSha256Signer, isAsyncDisposable } from \"@milaboratories/ts-helpers\";\nimport type { InternalPFrameDriver } from \"../pool\";\nimport { createPFrameDriver } from \"../pool\";\nimport type { DriverKitOps, DriverKitOpsConstructor } from \"./ops\";\nimport { DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings } from \"./ops\";\n\n/**\n * Drivers offered by the middle-layer for internal consumers,\n * like configuration rendering routines.\n *\n * This intertface is basically a version of the DriverKit from\n * UI SDK with extended API.\n * */\nexport interface MiddleLayerDriverKit extends Sdk.DriverKit, AsyncDisposable {\n /** Dispose the driver kit and all its resources. */\n dispose(): Promise<void>;\n\n // override with wider interface\n readonly blobDriver: DownloadDriver;\n // override with wider interface\n readonly blobToURLDriver: DownloadBlobToURLDriver;\n // override with wider interface\n readonly logDriver: LogsDriver;\n // override with wider interface\n readonly lsDriver: InternalLsDriver;\n // override with wider interface\n readonly pFrameDriver: InternalPFrameDriver;\n // override with wider interface\n readonly frontendDriver: DownloadUrlDriver;\n\n /**\n * Signer is initialized from local secret in drivers initialization routine,\n * so constitutes a part of the driver kit\n * */\n readonly signer: Signer;\n\n /**\n * Used to retrieve upload progress, and initiate upload porecesses driven by\n * upload requests from block outputs.\n * */\n readonly uploadDriver: UploadDriver;\n}\n\nexport async function initDriverKit(\n pl: PlClient,\n workdir: string,\n frontendDownloadPath: string,\n _ops: DriverKitOpsConstructor,\n): Promise<MiddleLayerDriverKit> {\n const ops: DriverKitOps = {\n ...DefaultDriverKitOpsSettings,\n ...DefaultDriverKitOpsPaths(workdir),\n ..._ops,\n };\n\n const signer = new HmacSha256Signer(ops.localSecret);\n\n const downloadClient = createDownloadClient(ops.logger, pl, ops.localProjections);\n const logsClient = createLogsClient(pl, ops.logger);\n const uploadBlobClient = createUploadBlobClient(pl, ops.logger);\n const uploadProgressClient = createUploadProgressClient(pl, ops.logger);\n\n const blobDriver = await DownloadDriver.init(\n ops.logger,\n downloadClient,\n logsClient,\n ops.blobDownloadPath,\n ops.blobDownloadRangesCachePath,\n signer,\n ops.blobDriverOps,\n );\n\n const blobToURLDriver = new DownloadBlobToURLDriver(\n ops.logger,\n signer,\n downloadClient,\n ops.downloadBlobToURLPath,\n ops.downloadBlobToURLDriverOps,\n );\n\n const uploadDriver = new UploadDriver(\n ops.logger,\n signer,\n uploadBlobClient,\n uploadProgressClient,\n ops.uploadDriverOps,\n );\n const logsStreamDriver = new LogsStreamDriver(ops.logger, logsClient, ops.logStreamDriverOps);\n const logDriver = new LogsDriver(ops.logger, logsStreamDriver, blobDriver);\n const lsDriver = await LsDriver.init(\n ops.logger,\n pl,\n signer,\n ops.localProjections,\n ops.openFileDialogCallback,\n ops.virtualLocalStoragesOverride,\n );\n\n const pFrameDriver = await createPFrameDriver({\n blobDriver,\n logger: ops.logger,\n spillPath: ops.pframesSpillPath,\n options: ops.pFrameDriverOps,\n });\n\n const frontendDownloadDriver = new DownloadUrlDriver(\n ops.logger,\n pl.httpDispatcher,\n frontendDownloadPath,\n signer,\n ops.frontendDownloadDriverOps,\n );\n\n const driverKit = {\n blobDriver,\n blobToURLDriver: blobToURLDriver,\n logDriver,\n lsDriver,\n signer,\n uploadDriver,\n pFrameDriver,\n frontendDriver: frontendDownloadDriver,\n };\n\n const dispose = async () => {\n const disposePromises = Object.values(driverKit).flatMap((driver) =>\n isAsyncDisposable(driver) ? [driver[Symbol.asyncDispose]()] : [],\n );\n await Promise.all(disposePromises);\n };\n\n return {\n ...driverKit,\n dispose,\n [Symbol.asyncDispose]: dispose,\n };\n}\n"],"mappings":";;;;;;;AA4DA,eAAsB,cACpB,IACA,SACA,sBACA,MAC+B;CAC/B,MAAM,MAAoB;EACxB,GAAG;EACH,GAAG,yBAAyB,QAAQ;EACpC,GAAG;EACJ;CAED,MAAM,SAAS,IAAI,iBAAiB,IAAI,YAAY;CAEpD,MAAM,iBAAiB,qBAAqB,IAAI,QAAQ,IAAI,IAAI,iBAAiB;CACjF,MAAM,aAAa,iBAAiB,IAAI,IAAI,OAAO;CACnD,MAAM,mBAAmB,uBAAuB,IAAI,IAAI,OAAO;CAC/D,MAAM,uBAAuB,2BAA2B,IAAI,IAAI,OAAO;CAEvE,MAAM,aAAa,MAAM,eAAe,KACtC,IAAI,QACJ,gBACA,YACA,IAAI,kBACJ,IAAI,6BACJ,QACA,IAAI,cACL;CAED,MAAM,kBAAkB,IAAI,wBAC1B,IAAI,QACJ,QACA,gBACA,IAAI,uBACJ,IAAI,2BACL;CAED,MAAM,eAAe,IAAI,aACvB,IAAI,QACJ,QACA,kBACA,sBACA,IAAI,gBACL;CACD,MAAM,mBAAmB,IAAI,iBAAiB,IAAI,QAAQ,YAAY,IAAI,mBAAmB;CA0B7F,MAAM,YAAY;EAChB;EACiB;EACjB,WA5BgB,IAAI,WAAW,IAAI,QAAQ,kBAAkB,WAAW;EA6BxE,UA5Be,MAAM,SAAS,KAC9B,IAAI,QACJ,IACA,QACA,IAAI,kBACJ,IAAI,wBACJ,IAAI,6BACL;EAsBC;EACA;EACA,cAtBmB,MAAM,mBAAmB;GAC5C;GACA,QAAQ,IAAI;GACZ,WAAW,IAAI;GACf,SAAS,IAAI;GACd,CAAC;EAkBA,gBAhB6B,IAAI,kBACjC,IAAI,QACJ,GAAG,gBACH,sBACA,QACA,IAAI,0BACL;EAWA;CAED,MAAM,UAAU,YAAY;EAC1B,MAAM,kBAAkB,OAAO,OAAO,UAAU,CAAC,SAAS,WACxD,kBAAkB,OAAO,GAAG,CAAC,OAAO,OAAO,eAAe,CAAC,GAAG,EAAE,CACjE;AACD,QAAM,QAAQ,IAAI,gBAAgB;;AAGpC,QAAO;EACL,GAAG;EACH;GACC,OAAO,eAAe;EACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-middle-layer",
3
- "version": "1.48.21",
3
+ "version": "1.48.23",
4
4
  "description": "Pl Middle Layer",
5
5
  "keywords": [],
6
6
  "license": "UNLICENSED",
@@ -19,7 +19,7 @@
19
19
  }
20
20
  },
21
21
  "dependencies": {
22
- "@milaboratories/pframes-rs-node": "1.1.11",
22
+ "@milaboratories/pframes-rs-node": "1.1.13",
23
23
  "canonicalize": "~2.1.0",
24
24
  "denque": "^2.1.0",
25
25
  "es-toolkit": "^1.39.10",
@@ -29,21 +29,21 @@
29
29
  "utility-types": "^3.11.0",
30
30
  "yaml": "^2.8.0",
31
31
  "zod": "~3.23.8",
32
- "@milaboratories/pf-driver": "1.0.64",
33
- "@milaboratories/pl-deployments": "2.15.21",
34
- "@milaboratories/pl-errors": "1.1.71",
35
- "@milaboratories/pl-drivers": "1.11.63",
36
- "@milaboratories/pl-client": "2.17.9",
37
32
  "@milaboratories/computable": "2.8.6",
33
+ "@milaboratories/pf-driver": "1.0.65",
34
+ "@milaboratories/pl-deployments": "2.15.22",
35
+ "@milaboratories/pl-errors": "1.1.72",
36
+ "@milaboratories/pl-client": "2.17.10",
37
+ "@milaboratories/pl-drivers": "1.11.64",
38
38
  "@milaboratories/pl-http": "1.2.4",
39
- "@milaboratories/pl-model-common": "1.25.2",
40
- "@milaboratories/pl-tree": "1.8.49",
41
- "@milaboratories/pl-model-middle-layer": "1.12.11",
39
+ "@milaboratories/pl-model-backend": "1.1.57",
40
+ "@milaboratories/pl-model-middle-layer": "1.12.12",
41
+ "@milaboratories/pl-model-common": "1.25.3",
42
42
  "@milaboratories/resolve-helper": "1.1.3",
43
43
  "@milaboratories/ts-helpers": "1.7.3",
44
- "@platforma-sdk/model": "1.58.19",
45
- "@milaboratories/pl-model-backend": "1.1.56",
46
- "@platforma-sdk/block-tools": "2.6.67",
44
+ "@milaboratories/pl-tree": "1.8.50",
45
+ "@platforma-sdk/model": "1.58.22",
46
+ "@platforma-sdk/block-tools": "2.6.68",
47
47
  "@platforma-sdk/workflow-tengo": "5.9.1"
48
48
  },
49
49
  "devDependencies": {
@@ -54,8 +54,8 @@
54
54
  "typescript": "~5.9.3",
55
55
  "vitest": "^4.0.18",
56
56
  "@milaboratories/build-configs": "1.5.2",
57
- "@milaboratories/ts-builder": "1.3.0",
58
- "@milaboratories/ts-configs": "1.2.2"
57
+ "@milaboratories/ts-configs": "1.2.2",
58
+ "@milaboratories/ts-builder": "1.3.0"
59
59
  },
60
60
  "engines": {
61
61
  "node": ">=22.19.0"
@@ -141,7 +141,7 @@ export async function initDriverKit(
141
141
 
142
142
  const dispose = async () => {
143
143
  const disposePromises = Object.values(driverKit).flatMap((driver) =>
144
- isAsyncDisposable(driver) ? [driver[Symbol.asyncDispose]] : [],
144
+ isAsyncDisposable(driver) ? [driver[Symbol.asyncDispose]()] : [],
145
145
  );
146
146
  await Promise.all(disposePromises);
147
147
  };