@milaboratories/pl-middle-layer 1.45.5 → 1.46.0
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.cjs +58 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/js_render/computable_context.cjs +37 -7
- package/dist/js_render/computable_context.cjs.map +1 -1
- package/dist/js_render/computable_context.d.ts.map +1 -1
- package/dist/js_render/computable_context.js +37 -7
- package/dist/js_render/computable_context.js.map +1 -1
- package/dist/js_render/context.cjs +12 -4
- package/dist/js_render/context.cjs.map +1 -1
- package/dist/js_render/context.d.ts +9 -0
- package/dist/js_render/context.d.ts.map +1 -1
- package/dist/js_render/context.js +12 -4
- package/dist/js_render/context.js.map +1 -1
- package/dist/js_render/index.cjs +1 -1
- package/dist/js_render/index.cjs.map +1 -1
- package/dist/js_render/index.js +1 -1
- package/dist/js_render/index.js.map +1 -1
- package/dist/middle_layer/block.cjs +7 -8
- package/dist/middle_layer/block.cjs.map +1 -1
- package/dist/middle_layer/block.d.ts +4 -4
- package/dist/middle_layer/block.d.ts.map +1 -1
- package/dist/middle_layer/block.js +7 -8
- package/dist/middle_layer/block.js.map +1 -1
- package/dist/middle_layer/block_ctx.cjs +67 -13
- package/dist/middle_layer/block_ctx.cjs.map +1 -1
- package/dist/middle_layer/block_ctx.d.ts +4 -7
- package/dist/middle_layer/block_ctx.d.ts.map +1 -1
- package/dist/middle_layer/block_ctx.js +68 -14
- package/dist/middle_layer/block_ctx.js.map +1 -1
- package/dist/middle_layer/block_ctx_unsafe.cjs +10 -3
- package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -1
- package/dist/middle_layer/block_ctx_unsafe.d.ts +1 -1
- package/dist/middle_layer/block_ctx_unsafe.d.ts.map +1 -1
- package/dist/middle_layer/block_ctx_unsafe.js +10 -3
- package/dist/middle_layer/block_ctx_unsafe.js.map +1 -1
- package/dist/middle_layer/frontend_path.cjs +1 -0
- package/dist/middle_layer/frontend_path.cjs.map +1 -1
- package/dist/middle_layer/frontend_path.js +1 -0
- package/dist/middle_layer/frontend_path.js.map +1 -1
- package/dist/middle_layer/middle_layer.cjs +1 -0
- package/dist/middle_layer/middle_layer.cjs.map +1 -1
- package/dist/middle_layer/middle_layer.d.ts +1 -1
- package/dist/middle_layer/middle_layer.d.ts.map +1 -1
- package/dist/middle_layer/middle_layer.js +1 -0
- package/dist/middle_layer/middle_layer.js.map +1 -1
- package/dist/middle_layer/project.cjs +75 -28
- package/dist/middle_layer/project.cjs.map +1 -1
- package/dist/middle_layer/project.d.ts +34 -7
- package/dist/middle_layer/project.d.ts.map +1 -1
- package/dist/middle_layer/project.js +76 -29
- package/dist/middle_layer/project.js.map +1 -1
- package/dist/middle_layer/project_overview.cjs +32 -11
- package/dist/middle_layer/project_overview.cjs.map +1 -1
- package/dist/middle_layer/project_overview.d.ts.map +1 -1
- package/dist/middle_layer/project_overview.js +32 -11
- package/dist/middle_layer/project_overview.js.map +1 -1
- package/dist/middle_layer/render.cjs +1 -1
- package/dist/middle_layer/render.cjs.map +1 -1
- package/dist/middle_layer/render.js +1 -1
- package/dist/middle_layer/render.js.map +1 -1
- package/dist/middle_layer/render.test.d.ts.map +1 -1
- package/dist/model/block_storage_helper.cjs +210 -0
- package/dist/model/block_storage_helper.cjs.map +1 -0
- package/dist/model/block_storage_helper.d.ts +98 -0
- package/dist/model/block_storage_helper.d.ts.map +1 -0
- package/dist/model/block_storage_helper.js +153 -0
- package/dist/model/block_storage_helper.js.map +1 -0
- package/dist/model/index.d.ts +2 -1
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/project_helper.cjs +177 -0
- package/dist/model/project_helper.cjs.map +1 -1
- package/dist/model/project_helper.d.ts +110 -1
- package/dist/model/project_helper.d.ts.map +1 -1
- package/dist/model/project_helper.js +178 -1
- package/dist/model/project_helper.js.map +1 -1
- package/dist/model/project_model.cjs +6 -3
- package/dist/model/project_model.cjs.map +1 -1
- package/dist/model/project_model.d.ts +3 -2
- package/dist/model/project_model.d.ts.map +1 -1
- package/dist/model/project_model.js +6 -4
- package/dist/model/project_model.js.map +1 -1
- package/dist/mutator/block-pack/block_pack.cjs +1 -2
- package/dist/mutator/block-pack/block_pack.cjs.map +1 -1
- package/dist/mutator/block-pack/block_pack.d.ts.map +1 -1
- package/dist/mutator/block-pack/block_pack.js +1 -2
- package/dist/mutator/block-pack/block_pack.js.map +1 -1
- package/dist/mutator/block-pack/frontend.cjs +1 -0
- package/dist/mutator/block-pack/frontend.cjs.map +1 -1
- package/dist/mutator/block-pack/frontend.js +1 -0
- package/dist/mutator/block-pack/frontend.js.map +1 -1
- package/dist/mutator/migration.cjs +64 -3
- package/dist/mutator/migration.cjs.map +1 -1
- package/dist/mutator/migration.d.ts.map +1 -1
- package/dist/mutator/migration.js +66 -5
- package/dist/mutator/migration.js.map +1 -1
- package/dist/mutator/project-v3.test.d.ts +2 -0
- package/dist/mutator/project-v3.test.d.ts.map +1 -0
- package/dist/mutator/project.cjs +282 -41
- package/dist/mutator/project.cjs.map +1 -1
- package/dist/mutator/project.d.ts +77 -12
- package/dist/mutator/project.d.ts.map +1 -1
- package/dist/mutator/project.js +283 -42
- package/dist/mutator/project.js.map +1 -1
- package/dist/pool/result_pool.cjs +9 -6
- package/dist/pool/result_pool.cjs.map +1 -1
- package/dist/pool/result_pool.d.ts.map +1 -1
- package/dist/pool/result_pool.js +9 -6
- package/dist/pool/result_pool.js.map +1 -1
- package/package.json +17 -17
- package/src/js_render/computable_context.ts +37 -7
- package/src/js_render/context.ts +12 -5
- package/src/js_render/index.ts +1 -1
- package/src/middle_layer/block.ts +13 -14
- package/src/middle_layer/block_ctx.ts +70 -23
- package/src/middle_layer/block_ctx_unsafe.ts +11 -4
- package/src/middle_layer/middle_layer.ts +2 -1
- package/src/middle_layer/project.ts +86 -40
- package/src/middle_layer/project_overview.ts +44 -20
- package/src/middle_layer/render.test.ts +1 -1
- package/src/middle_layer/render.ts +1 -1
- package/src/model/block_storage_helper.ts +213 -0
- package/src/model/index.ts +2 -1
- package/src/model/project_helper.ts +249 -1
- package/src/model/project_model.ts +9 -5
- package/src/mutator/block-pack/block_pack.ts +1 -2
- package/src/mutator/migration.ts +79 -6
- package/src/mutator/project-v3.test.ts +280 -0
- package/src/mutator/project.test.ts +27 -27
- package/src/mutator/project.ts +351 -68
- package/src/pool/result_pool.ts +11 -4
package/dist/index.cjs
CHANGED
|
@@ -11,6 +11,7 @@ var project = require('./middle_layer/project.cjs');
|
|
|
11
11
|
var driver_kit = require('./middle_layer/driver_kit.cjs');
|
|
12
12
|
var ops = require('./middle_layer/ops.cjs');
|
|
13
13
|
var block_pack_spec = require('./model/block_pack_spec.cjs');
|
|
14
|
+
var block_storage_helper = require('./model/block_storage_helper.cjs');
|
|
14
15
|
var network_check = require('./network_check/network_check.cjs');
|
|
15
16
|
var plClient = require('@milaboratories/pl-client');
|
|
16
17
|
var template_loading = require('./mutator/template/template_loading.cjs');
|
|
@@ -20,6 +21,54 @@ var data = require('./pool/data.cjs');
|
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
|
|
24
|
+
Object.defineProperty(exports, "BLOCK_STORAGE_KEY", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () { return model.BLOCK_STORAGE_KEY; }
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports, "BLOCK_STORAGE_SCHEMA_VERSION", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () { return model.BLOCK_STORAGE_SCHEMA_VERSION; }
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "createBlockStorage", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () { return model.createBlockStorage; }
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "defaultBlockStorageHandlers", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () { return model.defaultBlockStorageHandlers; }
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(exports, "getPluginData", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function () { return model.getPluginData; }
|
|
43
|
+
});
|
|
44
|
+
Object.defineProperty(exports, "getStorageData", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () { return model.getStorageData; }
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "getStorageDataVersion", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () { return model.getStorageDataVersion; }
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(exports, "isBlockStorage", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () { return model.isBlockStorage; }
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(exports, "normalizeBlockStorage", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function () { return model.normalizeBlockStorage; }
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "setPluginData", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () { return model.setPluginData; }
|
|
63
|
+
});
|
|
64
|
+
Object.defineProperty(exports, "updateStorageData", {
|
|
65
|
+
enumerable: true,
|
|
66
|
+
get: function () { return model.updateStorageData; }
|
|
67
|
+
});
|
|
68
|
+
Object.defineProperty(exports, "updateStorageDataVersion", {
|
|
69
|
+
enumerable: true,
|
|
70
|
+
get: function () { return model.updateStorageDataVersion; }
|
|
71
|
+
});
|
|
23
72
|
exports.BlockPackRegistry = registry.BlockPackRegistry;
|
|
24
73
|
exports.getDevV1PacketMtime = registry.getDevV1PacketMtime;
|
|
25
74
|
exports.getDevV2PacketMtime = registry.getDevV2PacketMtime;
|
|
@@ -36,6 +85,15 @@ exports.DefaultMiddleLayerOpsPaths = ops.DefaultMiddleLayerOpsPaths;
|
|
|
36
85
|
exports.DefaultMiddleLayerOpsSettings = ops.DefaultMiddleLayerOpsSettings;
|
|
37
86
|
exports.FrontendFromFolderResourceType = block_pack_spec.FrontendFromFolderResourceType;
|
|
38
87
|
exports.FrontendFromUrlResourceType = block_pack_spec.FrontendFromUrlResourceType;
|
|
88
|
+
exports.applyStateUpdate = block_storage_helper.applyStateUpdate;
|
|
89
|
+
exports.convertLegacyToBlockStorage = block_storage_helper.convertLegacyToBlockStorage;
|
|
90
|
+
exports.extractDataForDeveloper = block_storage_helper.extractDataForDeveloper;
|
|
91
|
+
exports.isLegacyV1V2Format = block_storage_helper.isLegacyV1V2Format;
|
|
92
|
+
exports.migrateBlockStorage = block_storage_helper.migrateBlockStorage;
|
|
93
|
+
exports.needsMigration = block_storage_helper.needsMigration;
|
|
94
|
+
exports.parseBlockStorage = block_storage_helper.parseBlockStorage;
|
|
95
|
+
exports.parseBlockStorageSmart = block_storage_helper.parseBlockStorageSmart;
|
|
96
|
+
exports.serializeBlockStorage = block_storage_helper.serializeBlockStorage;
|
|
39
97
|
exports.checkNetwork = network_check.checkNetwork;
|
|
40
98
|
exports.initNetworkCheck = network_check.initNetworkCheck;
|
|
41
99
|
exports.TengoTemplateGet = template_loading.TengoTemplateGet;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from '@platforma-sdk/model';
|
|
2
|
+
export { BLOCK_STORAGE_KEY, BLOCK_STORAGE_SCHEMA_VERSION, createBlockStorage, defaultBlockStorageHandlers, getPluginData, getStorageData, getStorageDataVersion, isBlockStorage, normalizeBlockStorage, setPluginData, updateStorageData, updateStorageDataVersion } from '@platforma-sdk/model';
|
|
2
3
|
export * from '@milaboratories/pl-model-middle-layer';
|
|
3
4
|
export * from '@milaboratories/pl-deployments';
|
|
4
5
|
export { BlockPackRegistry, getDevV1PacketMtime, getDevV2PacketMtime } from './block_registry/registry.js';
|
|
@@ -9,6 +10,7 @@ export { Project } from './middle_layer/project.js';
|
|
|
9
10
|
export { initDriverKit } from './middle_layer/driver_kit.js';
|
|
10
11
|
export { DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings, DefaultMiddleLayerOpsPaths, DefaultMiddleLayerOpsSettings } from './middle_layer/ops.js';
|
|
11
12
|
export { FrontendFromFolderResourceType, FrontendFromUrlResourceType } from './model/block_pack_spec.js';
|
|
13
|
+
export { applyStateUpdate, convertLegacyToBlockStorage, extractDataForDeveloper, isLegacyV1V2Format, migrateBlockStorage, needsMigration, parseBlockStorage, parseBlockStorageSmart, serializeBlockStorage } from './model/block_storage_helper.js';
|
|
12
14
|
export { checkNetwork, initNetworkCheck } from './network_check/network_check.js';
|
|
13
15
|
export * from '@milaboratories/pl-client';
|
|
14
16
|
export { TengoTemplateGet, TengoTemplateGetRegistry, TengoTemplateGetTemplate, TengoTemplateGetTemplateURI, TengoTemplatePack, TengoTemplatePackConvert, TengoTemplatePackConvertTemplate, TengoTemplatePackConvertTemplatePack, loadTemplate, prepareTemplateSpec } from './mutator/template/template_loading.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
|
|
@@ -340,17 +340,33 @@ class ComputableContextHelper {
|
|
|
340
340
|
vm.newFunction(name, withCachedError).consume((fnh) => vm.setProp(configCtx, name, fnh));
|
|
341
341
|
vm.newFunction(name, fn).consume((fnh) => vm.setProp(configCtx, name + '__internal__', fnh));
|
|
342
342
|
};
|
|
343
|
+
// Check if this is a v1/v2 block (requiresModelAPIVersion !== 2)
|
|
344
|
+
// For v1/v2 blocks, state is {args, uiState} and we need to inject uiState separately
|
|
345
|
+
const isLegacyBlock = !model.checkBlockFlag(this.featureFlags, 'requiresModelAPIVersion', 2);
|
|
346
|
+
// Helper to extract uiState from legacy state format {args, uiState}
|
|
347
|
+
const extractUiState = (stateJson) => {
|
|
348
|
+
if (!stateJson)
|
|
349
|
+
return '{}';
|
|
350
|
+
try {
|
|
351
|
+
const parsed = JSON.parse(stateJson);
|
|
352
|
+
return JSON.stringify(parsed?.uiState ?? {});
|
|
353
|
+
}
|
|
354
|
+
catch {
|
|
355
|
+
return '{}';
|
|
356
|
+
}
|
|
357
|
+
};
|
|
343
358
|
if (model.checkBlockFlag(this.featureFlags, 'supportsLazyState')) {
|
|
344
359
|
// injecting lazy state functions
|
|
345
360
|
exportCtxFunction('args', () => {
|
|
346
361
|
if (this.computableCtx === undefined)
|
|
347
362
|
throw new Error(`Add dummy call to ctx.args outside the future lambda. Can't be directly used in this context.`);
|
|
348
|
-
|
|
363
|
+
const args = this.blockCtx.args(this.computableCtx);
|
|
364
|
+
return args === undefined ? vm.undefined : vm.newString(args);
|
|
349
365
|
});
|
|
350
|
-
exportCtxFunction('
|
|
366
|
+
exportCtxFunction('data', () => {
|
|
351
367
|
if (this.computableCtx === undefined)
|
|
352
|
-
throw new Error(`Add dummy call to ctx.
|
|
353
|
-
return vm.newString(this.blockCtx.
|
|
368
|
+
throw new Error(`Add dummy call to ctx.state outside the future lambda. Can't be directly used in this context.`);
|
|
369
|
+
return vm.newString(this.blockCtx.data(this.computableCtx) ?? '{}');
|
|
354
370
|
});
|
|
355
371
|
exportCtxFunction('activeArgs', () => {
|
|
356
372
|
if (this.computableCtx === undefined)
|
|
@@ -358,15 +374,29 @@ class ComputableContextHelper {
|
|
|
358
374
|
const res = this.blockCtx.activeArgs(this.computableCtx);
|
|
359
375
|
return res === undefined ? vm.undefined : vm.newString(res);
|
|
360
376
|
});
|
|
377
|
+
// For v1/v2 blocks, also inject uiState (extracted from state.uiState)
|
|
378
|
+
if (isLegacyBlock) {
|
|
379
|
+
exportCtxFunction('uiState', () => {
|
|
380
|
+
if (this.computableCtx === undefined)
|
|
381
|
+
throw new Error(`Add dummy call to ctx.uiState outside the future lambda. Can't be directly used in this context.`);
|
|
382
|
+
return vm.newString(extractUiState(this.blockCtx.data(this.computableCtx)));
|
|
383
|
+
});
|
|
384
|
+
}
|
|
361
385
|
}
|
|
362
386
|
else {
|
|
363
387
|
const args = this.blockCtx.args(this.computableCtx);
|
|
364
388
|
const activeArgs = this.blockCtx.activeArgs(this.computableCtx);
|
|
365
|
-
const
|
|
366
|
-
|
|
367
|
-
|
|
389
|
+
const data = this.blockCtx.data(this.computableCtx);
|
|
390
|
+
if (args !== undefined) {
|
|
391
|
+
vm.setProp(configCtx, 'args', localScope.manage(vm.newString(args)));
|
|
392
|
+
}
|
|
393
|
+
vm.setProp(configCtx, 'data', localScope.manage(vm.newString(data ?? '{}')));
|
|
368
394
|
if (activeArgs !== undefined)
|
|
369
395
|
vm.setProp(configCtx, 'activeArgs', localScope.manage(vm.newString(activeArgs)));
|
|
396
|
+
// For v1/v2 blocks, also inject uiState (extracted from state.uiState)
|
|
397
|
+
if (isLegacyBlock) {
|
|
398
|
+
vm.setProp(configCtx, 'uiState', localScope.manage(vm.newString(extractUiState(data))));
|
|
399
|
+
}
|
|
370
400
|
}
|
|
371
401
|
//
|
|
372
402
|
// Methods for injected ctx object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computable_context.cjs","sources":["../../src/js_render/computable_context.ts"],"sourcesContent":["import type { ComputableCtx } from '@milaboratories/computable';\nimport { Computable } from '@milaboratories/computable';\nimport type { PlTreeNodeAccessor } from '@milaboratories/pl-tree';\nimport {\n checkBlockFlag,\n} from '@platforma-sdk/model';\nimport type {\n ArchiveFormat,\n CommonFieldTraverseOps as CommonFieldTraverseOpsFromSDK,\n DataInfo,\n FieldTraversalStep as FieldTraversalStepFromSDK,\n Option,\n PColumn,\n PColumnValues,\n PFrameDef,\n PFrameHandle,\n PObject,\n PObjectSpec,\n PSpecPredicate,\n PTableDef,\n PTableHandle,\n ResourceType as ResourceTypeFromSDK,\n ResultCollection,\n ValueOrError,\n RangeBytes,\n BlockCodeKnownFeatureFlags,\n\n JsRenderInternal } from '@platforma-sdk/model';\nimport {\n isDataInfo,\n mapDataInfo,\n mapPObjectData,\n mapPTableDef,\n mapValueInVOE,\n} from '@platforma-sdk/model';\nimport { notEmpty } from '@milaboratories/ts-helpers';\nimport { randomUUID } from 'node:crypto';\nimport type { Optional } from 'utility-types';\nimport type { BlockContextAny } from '../middle_layer/block_ctx';\nimport type { MiddleLayerEnvironment } from '../middle_layer/middle_layer';\nimport type { Block } from '../model/project_model';\nimport { parseFinalPObjectCollection } from '../pool/p_object_collection';\nimport type { ResultPool } from '../pool/result_pool';\nimport type { JsExecutionContext } from './context';\nimport type { VmFunctionImplementation } from 'quickjs-emscripten';\nimport { Scope, type QuickJSHandle } from 'quickjs-emscripten';\n\nfunction bytesToBase64(data: Uint8Array | undefined): string | undefined {\n return data !== undefined ? Buffer.from(data).toString('base64') : undefined;\n}\n\nexport class ComputableContextHelper\nimplements JsRenderInternal.GlobalCfgRenderCtxMethods<string, string> {\n public readonly computablesToResolve: Record<string, Computable<unknown>> = {};\n\n private computableCtx: ComputableCtx | undefined;\n private readonly accessors = new Map<string, PlTreeNodeAccessor | undefined>();\n\n private readonly meta: Map<string, Block>;\n\n constructor(\n private readonly parent: JsExecutionContext,\n private readonly blockCtx: BlockContextAny,\n private readonly env: MiddleLayerEnvironment,\n private readonly featureFlags: BlockCodeKnownFeatureFlags | undefined,\n computableCtx: ComputableCtx,\n ) {\n this.computableCtx = computableCtx;\n this.meta = blockCtx.blockMeta(computableCtx);\n }\n\n public resetComputableCtx() {\n this.computableCtx = undefined;\n this.accessors.clear();\n }\n\n //\n // Methods for injected ctx object\n //\n\n getAccessorHandleByName(name: string): string | undefined {\n if (this.computableCtx === undefined)\n throw new Error('Accessors can\\'t be used in this context');\n const wellKnownAccessor = (name: string, ctxKey: 'staging' | 'prod'): string | undefined => {\n if (!this.accessors.has(name)) {\n const lambda = this.blockCtx[ctxKey];\n if (lambda === undefined) throw new Error('Staging context not available');\n const entry = lambda(this.computableCtx!);\n if (!entry) this.accessors.set(name, undefined);\n else\n this.accessors.set(name, this.computableCtx!.accessor(entry).node({ ignoreError: true }));\n }\n return this.accessors.get(name) ? name : undefined;\n };\n if (name === 'staging') return wellKnownAccessor('staging', 'staging');\n else if (name === 'main') return wellKnownAccessor('main', 'prod');\n return undefined;\n }\n\n //\n // Accessors\n //\n\n resolveWithCommon(\n handle: string,\n commonOptions: CommonFieldTraverseOpsFromSDK,\n ...steps: (FieldTraversalStepFromSDK | string)[]\n ): string | undefined {\n return this.wrapAccessor(this.getAccessor(handle).traverseWithCommon(commonOptions, ...steps));\n }\n\n getResourceType(handle: string): ResourceTypeFromSDK {\n return this.getAccessor(handle).resourceType;\n }\n\n getInputsLocked(handle: string): boolean {\n return this.getAccessor(handle).getInputsLocked();\n }\n\n getOutputsLocked(handle: string): boolean {\n return this.getAccessor(handle).getOutputsLocked();\n }\n\n getIsReadyOrError(handle: string): boolean {\n return this.getAccessor(handle).getIsReadyOrError();\n }\n\n getIsFinal(handle: string): boolean {\n return this.getAccessor(handle).getIsFinal();\n }\n\n getError(handle: string): string | undefined {\n return this.wrapAccessor(this.getAccessor(handle).getError());\n }\n\n listInputFields(handle: string): string[] {\n return this.getAccessor(handle).listInputFields();\n }\n\n listOutputFields(handle: string): string[] {\n return this.getAccessor(handle).listOutputFields();\n }\n\n listDynamicFields(handle: string): string[] {\n return this.getAccessor(handle).listDynamicFields();\n }\n\n getKeyValueBase64(handle: string, key: string): string | undefined {\n return bytesToBase64(this.getAccessor(handle).getKeyValue(key));\n }\n\n getKeyValueAsString(handle: string, key: string): string | undefined {\n return this.getAccessor(handle).getKeyValueAsString(key);\n }\n\n getDataBase64(handle: string): string | undefined {\n return bytesToBase64(this.getAccessor(handle).getData());\n }\n\n getDataAsString(handle: string): string | undefined {\n return this.getAccessor(handle).getDataAsString();\n }\n\n //\n // Accessor helpers\n //\n\n parsePObjectCollection(\n handle: string,\n errorOnUnknownField: boolean,\n prefix: string,\n ...resolveSteps: string[]\n ): Record<string, PObject<string>> | undefined {\n const acc = this.getAccessor(handle);\n if (!acc.getIsReadyOrError()) return undefined;\n const accResult = parseFinalPObjectCollection(acc, errorOnUnknownField, prefix, resolveSteps);\n const result: Record<string, PObject<string>> = {};\n for (const [key, obj] of Object.entries(accResult)) {\n result[key] = mapPObjectData(obj, (d) => this.wrapAccessor(d));\n }\n return result;\n }\n\n //\n // Blobs\n //\n\n private registerComputable(hPrefix: string, computable: Computable<unknown>): string {\n const fHandle = `${hPrefix}_${randomUUID()}`;\n this.computablesToResolve[fHandle] = computable;\n return fHandle;\n }\n\n public getBlobContentAsString(handle: string, range?: RangeBytes): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n 'getBlobContentAsString',\n Computable.make((ctx) => this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return Buffer.from(await this.env.driverKit.blobDriver.getContent(value.handle, range)).toString(\n 'utf-8',\n );\n },\n }),\n );\n }\n\n public getBlobContentAsBase64(handle: string, range?: RangeBytes): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n 'getBlobContentAsBase64',\n Computable.make((ctx) => this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return Buffer.from(await this.env.driverKit.blobDriver.getContent(value.handle, range)).toString(\n 'base64',\n );\n },\n }),\n );\n }\n\n public getDownloadedBlobContentHandle(handle: string): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n 'getDownloadedBlobContentHandle',\n this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo),\n );\n }\n\n public getOnDemandBlobContentHandle(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getOnDemandBlobContentHandle',\n this.env.driverKit.blobDriver.getOnDemandBlob(resource),\n );\n }\n\n //\n // Blobs to URLs\n //\n\n public extractArchiveAndGetURL(handle: string, format: ArchiveFormat): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'extractArchiveAndGetURL',\n this.env.driverKit.blobToURLDriver.extractArchiveAndGetURL(resource, format),\n );\n }\n\n //\n // Import progress\n //\n\n getImportProgress(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getImportProgress',\n this.env.driverKit.uploadDriver.getProgressId(resource),\n );\n }\n\n //\n // Logs\n //\n\n getLastLogs(handle: string, nLines: number): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getLastLogs',\n this.env.driverKit.logDriver.getLastLogs(resource, nLines),\n );\n }\n\n getProgressLog(handle: string, patternToSearch: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getProgressLog',\n this.env.driverKit.logDriver.getProgressLog(resource, patternToSearch),\n );\n }\n\n getProgressLogWithInfo(handle: string, patternToSearch: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getProgressLogWithInfo',\n this.env.driverKit.logDriver.getProgressLogWithInfo(resource, patternToSearch),\n );\n }\n\n getLogHandle(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getLogHandle',\n this.env.driverKit.logDriver.getLogHandle(resource),\n );\n }\n\n //\n // Blocks\n //\n\n public getBlockLabel(blockId: string): string {\n const b = this.meta.get(blockId);\n if (b === undefined) throw new Error(`Block ${blockId} not found.`);\n return b.label;\n }\n\n //\n // Result Pool\n //\n\n private _resultPool: ResultPool | undefined = undefined;\n private get resultPool(): ResultPool {\n if (this._resultPool === undefined) {\n if (this.computableCtx === undefined)\n throw new Error(\n 'can\\'t use result pool in this context (most porbably called from the future mapper)',\n );\n this._resultPool = notEmpty(\n this.blockCtx.getResultsPool,\n 'getResultsPool',\n )(this.computableCtx);\n }\n return this._resultPool;\n }\n\n public calculateOptions(predicate: PSpecPredicate): Option[] {\n return this.resultPool.calculateOptions(predicate);\n }\n\n public getDataFromResultPool(): ResultCollection<PObject<string>> {\n const collection = this.resultPool.getData();\n if (collection.instabilityMarker !== undefined)\n this.computableCtx!.markUnstable(`incomplete_result_pool:${collection.instabilityMarker}`);\n return {\n isComplete: collection.isComplete,\n entries: collection.entries.map((e) => ({\n ref: e.ref,\n obj: mapPObjectData(e.obj, (d) => this.wrapAccessor(d)),\n })),\n };\n }\n\n public getDataWithErrorsFromResultPool(): ResultCollection<\n Optional<PObject<ValueOrError<string, Error>>, 'id'>\n > {\n const collection = this.resultPool.getDataWithErrors();\n if (collection.instabilityMarker !== undefined)\n this.computableCtx!.markUnstable(`incomplete_result_pool:${collection.instabilityMarker}`);\n return {\n isComplete: collection.isComplete,\n entries: collection.entries.map((e) => ({\n ref: e.ref,\n obj: {\n id: e.obj.id,\n spec: e.obj.spec,\n data: mapValueInVOE(e.obj.data, (d) => this.wrapAccessor(d)),\n },\n })),\n };\n }\n\n public getSpecsFromResultPool(): ResultCollection<PObjectSpec> {\n const specs = this.resultPool.getSpecs();\n if (specs.instabilityMarker !== undefined)\n this.computableCtx!.markUnstable(`specs_from_pool_incomplete:${specs.instabilityMarker}`);\n return specs;\n }\n\n getSpecFromResultPoolByRef(blockId: string, exportName: string): PObjectSpec | undefined {\n return this.resultPool.getSpecByRef(blockId, exportName);\n }\n\n getDataFromResultPoolByRef(blockId: string, exportName: string): PObject<string> | undefined {\n return mapPObjectData(this.resultPool.getDataByRef(blockId, exportName), (acc) =>\n this.wrapAccessor(acc),\n );\n }\n\n //\n // PFrames / PTables\n //\n\n public createPFrame(def: PFrameDef<PColumn<string | PColumnValues | DataInfo<string>>>): PFrameHandle {\n if (this.computableCtx === undefined)\n throw new Error(\n 'can\\'t instantiate PFrames from this context (most porbably called from the future mapper)',\n );\n const { key, unref } = this.env.driverKit.pFrameDriver.createPFrame(\n def.map((c) => mapPObjectData(c, (d) => this.transformInputPData(d))),\n );\n this.computableCtx.addOnDestroy(unref);\n return key;\n }\n\n public createPTable(def: PTableDef<PColumn<string | PColumnValues | DataInfo<string>>>): PTableHandle {\n if (this.computableCtx === undefined)\n throw new Error(\n 'can\\'t instantiate PTable from this context (most porbably called from the future mapper)',\n );\n const { key, unref } = this.env.driverKit.pFrameDriver.createPTable(\n mapPTableDef(def, (c) =>\n mapPObjectData(c, (d) => this.transformInputPData(d)),\n ),\n );\n this.computableCtx.addOnDestroy(unref);\n return key;\n }\n\n /**\n * Transforms input data for PFrame/PTable creation\n * - Converts string handles to accessors\n * - Maps accessors in DataInfo objects\n * - Passes through other values\n */\n private transformInputPData(d: string | PColumnValues | DataInfo<string>): PlTreeNodeAccessor | PColumnValues | DataInfo<PlTreeNodeAccessor> {\n if (typeof d === 'string') {\n return this.getAccessor(d);\n } else if (isDataInfo(d)) {\n return mapDataInfo(d, (a) => this.getAccessor(a));\n } else {\n return d;\n }\n }\n\n //\n // Computable\n //\n\n public getCurrentUnstableMarker(): string | undefined {\n return this.computableCtx?.unstableMarker;\n }\n\n //\n // Logging\n //\n\n public logInfo(message: string): void {\n this.env.blockEventDispatcher.logInfo(this.blockCtx.blockId, message);\n }\n\n public logWarn(message: string): void {\n this.env.blockEventDispatcher.logWarn(this.blockCtx.blockId, message);\n }\n\n public logError(message: string): void {\n this.env.blockEventDispatcher.logError(this.blockCtx.blockId, message);\n }\n\n //\n // Helpers\n //\n\n private getAccessor(handle: string): PlTreeNodeAccessor {\n const accessor = this.accessors.get(handle);\n if (accessor === undefined) throw new Error('No such accessor');\n return accessor;\n }\n\n private wrapAccessor(accessor: PlTreeNodeAccessor): string;\n private wrapAccessor(accessor: PlTreeNodeAccessor | undefined): string | undefined;\n private wrapAccessor(accessor: PlTreeNodeAccessor | undefined): string | undefined {\n if (accessor === undefined) return undefined;\n else {\n const nextHandle = randomUUID();\n this.accessors.set(nextHandle, accessor);\n return nextHandle;\n }\n }\n\n public injectCtx(configCtx: QuickJSHandle): void {\n const parent = this.parent;\n const vm = parent.vm;\n\n Scope.withScope((localScope) => {\n // Exporting methods\n\n const exportCtxFunction = (\n name: string,\n fn: VmFunctionImplementation<QuickJSHandle>,\n ): void => {\n const withCachedError: VmFunctionImplementation<QuickJSHandle> = (...args) => {\n // QuickJS strips all fields from errors apart from 'name' and 'message'.\n // That's why here we need to store them, and rethrow them when we exit\n // from QuickJS code.\n try {\n return (fn as any)(...args);\n } catch (e: unknown) {\n const newErr = parent.errorRepo.setAndRecreateForQuickJS(e);\n\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw vm.newError(newErr);\n }\n };\n\n vm.newFunction(name, withCachedError).consume((fnh) => vm.setProp(configCtx, name, fnh));\n vm.newFunction(name, fn).consume((fnh) => vm.setProp(configCtx, name + '__internal__', fnh));\n };\n\n if (checkBlockFlag(this.featureFlags, 'supportsLazyState')) {\n // injecting lazy state functions\n exportCtxFunction('args', () => {\n if (this.computableCtx === undefined)\n throw new Error(`Add dummy call to ctx.args outside the future lambda. Can't be directly used in this context.`);\n return vm.newString(this.blockCtx.args(this.computableCtx));\n });\n exportCtxFunction('uiState', () => {\n if (this.computableCtx === undefined)\n throw new Error(`Add dummy call to ctx.uiState outside the future lambda. Can't be directly used in this context.`);\n return vm.newString(this.blockCtx.uiState(this.computableCtx) ?? '{}');\n });\n exportCtxFunction('activeArgs', () => {\n if (this.computableCtx === undefined)\n throw new Error(`Add dummy call to ctx.activeArgs outside the future lambda. Can't be directly used in this context.`);\n const res = this.blockCtx.activeArgs(this.computableCtx);\n return res === undefined ? vm.undefined : vm.newString(res);\n });\n } else {\n const args = this.blockCtx.args(this.computableCtx!);\n const activeArgs = this.blockCtx.activeArgs(this.computableCtx!);\n const uiState = this.blockCtx.uiState(this.computableCtx!);\n vm.setProp(configCtx, 'args', localScope.manage(vm.newString(args)));\n vm.setProp(configCtx, 'uiState', localScope.manage(vm.newString(uiState ?? '{}')));\n if (activeArgs !== undefined)\n vm.setProp(configCtx, 'activeArgs', localScope.manage(vm.newString(activeArgs)));\n }\n\n //\n // Methods for injected ctx object\n //\n\n exportCtxFunction('getAccessorHandleByName', (name) => {\n return parent.exportSingleValue(\n this.getAccessorHandleByName(vm.getString(name)),\n undefined,\n );\n });\n\n //\n // Accessors\n //\n\n exportCtxFunction('resolveWithCommon', (handle, commonOptions, ...steps) => {\n return parent.exportSingleValue(\n this.resolveWithCommon(\n vm.getString(handle),\n parent.importObjectViaJson(commonOptions) as CommonFieldTraverseOpsFromSDK,\n ...steps.map(\n (step) => parent.importObjectViaJson(step) as FieldTraversalStepFromSDK | string,\n ),\n ),\n undefined,\n );\n });\n\n exportCtxFunction('getResourceType', (handle) => {\n return parent.exportObjectViaJson(this.getResourceType(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getInputsLocked', (handle) => {\n return parent.exportSingleValue(this.getInputsLocked(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getOutputsLocked', (handle) => {\n return parent.exportSingleValue(this.getOutputsLocked(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getIsReadyOrError', (handle) => {\n return parent.exportSingleValue(this.getIsReadyOrError(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getIsFinal', (handle) => {\n return parent.exportSingleValue(this.getIsFinal(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getError', (handle) => {\n return parent.exportSingleValue(this.getError(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('listInputFields', (handle) => {\n return parent.exportObjectViaJson(this.listInputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('listOutputFields', (handle) => {\n return parent.exportObjectViaJson(this.listInputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('listDynamicFields', (handle) => {\n return parent.exportObjectViaJson(this.listInputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getKeyValueBase64', (handle, key) => {\n return parent.exportSingleValue(\n this.getKeyValueBase64(vm.getString(handle), vm.getString(key)),\n undefined,\n );\n });\n\n exportCtxFunction('getKeyValueAsString', (handle, key) => {\n return parent.exportSingleValue(\n this.getKeyValueAsString(vm.getString(handle), vm.getString(key)),\n undefined,\n );\n });\n\n exportCtxFunction('getDataBase64', (handle) => {\n return parent.exportSingleValue(this.getDataBase64(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getDataAsString', (handle) => {\n return parent.exportSingleValue(this.getDataAsString(vm.getString(handle)), undefined);\n });\n\n //\n // Accessor helpers\n //\n\n exportCtxFunction(\n 'parsePObjectCollection',\n (handle, errorOnUnknownField, prefix, ...resolveSteps) => {\n return parent.exportObjectUniversal(\n this.parsePObjectCollection(\n vm.getString(handle),\n vm.dump(errorOnUnknownField) as boolean,\n vm.getString(prefix),\n ...resolveSteps.map((stepHandle) => vm.getString(stepHandle)),\n ),\n undefined,\n );\n },\n );\n\n //\n // Blobs\n //\n\n exportCtxFunction('getBlobContentAsBase64', (handle, range) => {\n return parent.exportSingleValue(\n this.getBlobContentAsBase64(vm.getString(handle), parent.importObjectUniversal(range) as RangeBytes | undefined),\n undefined,\n );\n });\n\n exportCtxFunction('getBlobContentAsString', (handle, range) => {\n return parent.exportSingleValue(\n this.getBlobContentAsString(vm.getString(handle), parent.importObjectUniversal(range) as RangeBytes | undefined),\n undefined,\n );\n });\n\n exportCtxFunction('getDownloadedBlobContentHandle', (handle) => {\n return parent.exportSingleValue(\n this.getDownloadedBlobContentHandle(vm.getString(handle)),\n undefined,\n );\n });\n\n exportCtxFunction('getOnDemandBlobContentHandle', (handle) => {\n return parent.exportSingleValue(\n this.getOnDemandBlobContentHandle(vm.getString(handle)),\n undefined,\n );\n });\n\n //\n // Blobs to URLs\n //\n\n exportCtxFunction('extractArchiveAndGetURL', (handle, format) => {\n return parent.exportSingleValue(\n this.extractArchiveAndGetURL(vm.getString(handle), vm.getString(format) as ArchiveFormat),\n undefined);\n });\n\n //\n // ImportProgress\n //\n\n exportCtxFunction('getImportProgress', (handle) => {\n return parent.exportSingleValue(this.getImportProgress(vm.getString(handle)), undefined);\n });\n\n //\n // Logs\n //\n\n exportCtxFunction('getLastLogs', (handle, nLines) => {\n return parent.exportSingleValue(\n this.getLastLogs(vm.getString(handle), vm.getNumber(nLines)),\n undefined,\n );\n });\n\n exportCtxFunction('getProgressLog', (handle, patternToSearch) => {\n return parent.exportSingleValue(\n this.getProgressLog(vm.getString(handle), vm.getString(patternToSearch)),\n undefined,\n );\n });\n\n exportCtxFunction('getProgressLogWithInfo', (handle, patternToSearch) => {\n return parent.exportSingleValue(\n this.getProgressLogWithInfo(vm.getString(handle), vm.getString(patternToSearch)),\n undefined,\n );\n });\n\n exportCtxFunction('getLogHandle', (handle) => {\n return parent.exportSingleValue(this.getLogHandle(vm.getString(handle)), undefined);\n });\n\n //\n // Blocks\n //\n\n exportCtxFunction('getBlockLabel', (blockId) => {\n return parent.exportSingleValue(this.getBlockLabel(vm.getString(blockId)), undefined);\n });\n\n //\n // Result pool\n //\n\n exportCtxFunction('getDataFromResultPool', () => {\n return parent.exportObjectUniversal(this.getDataFromResultPool(), undefined);\n });\n\n exportCtxFunction('getDataWithErrorsFromResultPool', () => {\n return parent.exportObjectUniversal(this.getDataWithErrorsFromResultPool(), undefined);\n });\n\n exportCtxFunction('getSpecsFromResultPool', () => {\n return parent.exportObjectUniversal(this.getSpecsFromResultPool(), undefined);\n });\n\n exportCtxFunction('calculateOptions', (predicate) => {\n return parent.exportObjectUniversal(\n this.calculateOptions(parent.importObjectViaJson(predicate) as PSpecPredicate),\n undefined,\n );\n });\n\n exportCtxFunction('getSpecFromResultPoolByRef', (blockId, exportName) => {\n return parent.exportObjectUniversal(\n this.getSpecFromResultPoolByRef(\n vm.getString(blockId),\n vm.getString(exportName),\n ),\n undefined,\n );\n });\n\n exportCtxFunction('getDataFromResultPoolByRef', (blockId, exportName) => {\n return parent.exportObjectUniversal(\n this.getDataFromResultPoolByRef(\n vm.getString(blockId),\n vm.getString(exportName),\n ),\n undefined,\n );\n });\n\n //\n // PFrames / PTables\n //\n\n exportCtxFunction('createPFrame', (def) => {\n return parent.exportSingleValue(\n this.createPFrame(parent.importObjectViaJson(def) as PFrameDef<PColumn<string | PColumnValues>>),\n undefined,\n );\n });\n\n exportCtxFunction('createPTable', (def) => {\n return parent.exportSingleValue(\n this.createPTable(\n parent.importObjectViaJson(def) as PTableDef<PColumn<string | PColumnValues>>,\n ),\n undefined,\n );\n });\n\n //\n // Computable\n //\n\n exportCtxFunction('getCurrentUnstableMarker', () => {\n return parent.exportSingleValue(this.getCurrentUnstableMarker(), undefined);\n });\n\n //\n // Logging\n //\n\n exportCtxFunction('logInfo', (message) => {\n this.logInfo(vm.getString(message));\n });\n\n exportCtxFunction('logWarn', (message) => {\n this.logWarn(vm.getString(message));\n });\n\n exportCtxFunction('logError', (message) => {\n this.logError(vm.getString(message));\n });\n });\n }\n}\n"],"names":["parseFinalPObjectCollection","mapPObjectData","randomUUID","Computable","notEmpty","mapValueInVOE","mapPTableDef","isDataInfo","mapDataInfo","Scope","checkBlockFlag"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"computable_context.cjs","sources":["../../src/js_render/computable_context.ts"],"sourcesContent":["import type { ComputableCtx } from '@milaboratories/computable';\nimport { Computable } from '@milaboratories/computable';\nimport type { PlTreeNodeAccessor } from '@milaboratories/pl-tree';\nimport {\n checkBlockFlag,\n} from '@platforma-sdk/model';\nimport type {\n ArchiveFormat,\n CommonFieldTraverseOps as CommonFieldTraverseOpsFromSDK,\n DataInfo,\n FieldTraversalStep as FieldTraversalStepFromSDK,\n Option,\n PColumn,\n PColumnValues,\n PFrameDef,\n PFrameHandle,\n PObject,\n PObjectSpec,\n PSpecPredicate,\n PTableDef,\n PTableHandle,\n ResourceType as ResourceTypeFromSDK,\n ResultCollection,\n ValueOrError,\n RangeBytes,\n BlockCodeKnownFeatureFlags,\n\n JsRenderInternal } from '@platforma-sdk/model';\nimport {\n isDataInfo,\n mapDataInfo,\n mapPObjectData,\n mapPTableDef,\n mapValueInVOE,\n} from '@platforma-sdk/model';\nimport { notEmpty } from '@milaboratories/ts-helpers';\nimport { randomUUID } from 'node:crypto';\nimport type { Optional } from 'utility-types';\nimport type { BlockContextAny } from '../middle_layer/block_ctx';\nimport type { MiddleLayerEnvironment } from '../middle_layer/middle_layer';\nimport type { Block } from '../model/project_model';\nimport { parseFinalPObjectCollection } from '../pool/p_object_collection';\nimport type { ResultPool } from '../pool/result_pool';\nimport type { JsExecutionContext } from './context';\nimport type { VmFunctionImplementation } from 'quickjs-emscripten';\nimport { Scope, type QuickJSHandle } from 'quickjs-emscripten';\n\nfunction bytesToBase64(data: Uint8Array | undefined): string | undefined {\n return data !== undefined ? Buffer.from(data).toString('base64') : undefined;\n}\n\nexport class ComputableContextHelper\nimplements JsRenderInternal.GlobalCfgRenderCtxMethods<string, string> {\n public readonly computablesToResolve: Record<string, Computable<unknown>> = {};\n\n private computableCtx: ComputableCtx | undefined;\n private readonly accessors = new Map<string, PlTreeNodeAccessor | undefined>();\n\n private readonly meta: Map<string, Block>;\n\n constructor(\n private readonly parent: JsExecutionContext,\n private readonly blockCtx: BlockContextAny,\n private readonly env: MiddleLayerEnvironment,\n private readonly featureFlags: BlockCodeKnownFeatureFlags | undefined,\n computableCtx: ComputableCtx,\n ) {\n this.computableCtx = computableCtx;\n this.meta = blockCtx.blockMeta(computableCtx);\n }\n\n public resetComputableCtx() {\n this.computableCtx = undefined;\n this.accessors.clear();\n }\n\n //\n // Methods for injected ctx object\n //\n\n getAccessorHandleByName(name: string): string | undefined {\n if (this.computableCtx === undefined)\n throw new Error('Accessors can\\'t be used in this context');\n const wellKnownAccessor = (name: string, ctxKey: 'staging' | 'prod'): string | undefined => {\n if (!this.accessors.has(name)) {\n const lambda = this.blockCtx[ctxKey];\n if (lambda === undefined) throw new Error('Staging context not available');\n const entry = lambda(this.computableCtx!);\n if (!entry) this.accessors.set(name, undefined);\n else\n this.accessors.set(name, this.computableCtx!.accessor(entry).node({ ignoreError: true }));\n }\n return this.accessors.get(name) ? name : undefined;\n };\n if (name === 'staging') return wellKnownAccessor('staging', 'staging');\n else if (name === 'main') return wellKnownAccessor('main', 'prod');\n return undefined;\n }\n\n //\n // Accessors\n //\n\n resolveWithCommon(\n handle: string,\n commonOptions: CommonFieldTraverseOpsFromSDK,\n ...steps: (FieldTraversalStepFromSDK | string)[]\n ): string | undefined {\n return this.wrapAccessor(this.getAccessor(handle).traverseWithCommon(commonOptions, ...steps));\n }\n\n getResourceType(handle: string): ResourceTypeFromSDK {\n return this.getAccessor(handle).resourceType;\n }\n\n getInputsLocked(handle: string): boolean {\n return this.getAccessor(handle).getInputsLocked();\n }\n\n getOutputsLocked(handle: string): boolean {\n return this.getAccessor(handle).getOutputsLocked();\n }\n\n getIsReadyOrError(handle: string): boolean {\n return this.getAccessor(handle).getIsReadyOrError();\n }\n\n getIsFinal(handle: string): boolean {\n return this.getAccessor(handle).getIsFinal();\n }\n\n getError(handle: string): string | undefined {\n return this.wrapAccessor(this.getAccessor(handle).getError());\n }\n\n listInputFields(handle: string): string[] {\n return this.getAccessor(handle).listInputFields();\n }\n\n listOutputFields(handle: string): string[] {\n return this.getAccessor(handle).listOutputFields();\n }\n\n listDynamicFields(handle: string): string[] {\n return this.getAccessor(handle).listDynamicFields();\n }\n\n getKeyValueBase64(handle: string, key: string): string | undefined {\n return bytesToBase64(this.getAccessor(handle).getKeyValue(key));\n }\n\n getKeyValueAsString(handle: string, key: string): string | undefined {\n return this.getAccessor(handle).getKeyValueAsString(key);\n }\n\n getDataBase64(handle: string): string | undefined {\n return bytesToBase64(this.getAccessor(handle).getData());\n }\n\n getDataAsString(handle: string): string | undefined {\n return this.getAccessor(handle).getDataAsString();\n }\n\n //\n // Accessor helpers\n //\n\n parsePObjectCollection(\n handle: string,\n errorOnUnknownField: boolean,\n prefix: string,\n ...resolveSteps: string[]\n ): Record<string, PObject<string>> | undefined {\n const acc = this.getAccessor(handle);\n if (!acc.getIsReadyOrError()) return undefined;\n const accResult = parseFinalPObjectCollection(acc, errorOnUnknownField, prefix, resolveSteps);\n const result: Record<string, PObject<string>> = {};\n for (const [key, obj] of Object.entries(accResult)) {\n result[key] = mapPObjectData(obj, (d) => this.wrapAccessor(d));\n }\n return result;\n }\n\n //\n // Blobs\n //\n\n private registerComputable(hPrefix: string, computable: Computable<unknown>): string {\n const fHandle = `${hPrefix}_${randomUUID()}`;\n this.computablesToResolve[fHandle] = computable;\n return fHandle;\n }\n\n public getBlobContentAsString(handle: string, range?: RangeBytes): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n 'getBlobContentAsString',\n Computable.make((ctx) => this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return Buffer.from(await this.env.driverKit.blobDriver.getContent(value.handle, range)).toString(\n 'utf-8',\n );\n },\n }),\n );\n }\n\n public getBlobContentAsBase64(handle: string, range?: RangeBytes): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n 'getBlobContentAsBase64',\n Computable.make((ctx) => this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return Buffer.from(await this.env.driverKit.blobDriver.getContent(value.handle, range)).toString(\n 'base64',\n );\n },\n }),\n );\n }\n\n public getDownloadedBlobContentHandle(handle: string): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n 'getDownloadedBlobContentHandle',\n this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo),\n );\n }\n\n public getOnDemandBlobContentHandle(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getOnDemandBlobContentHandle',\n this.env.driverKit.blobDriver.getOnDemandBlob(resource),\n );\n }\n\n //\n // Blobs to URLs\n //\n\n public extractArchiveAndGetURL(handle: string, format: ArchiveFormat): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'extractArchiveAndGetURL',\n this.env.driverKit.blobToURLDriver.extractArchiveAndGetURL(resource, format),\n );\n }\n\n //\n // Import progress\n //\n\n getImportProgress(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getImportProgress',\n this.env.driverKit.uploadDriver.getProgressId(resource),\n );\n }\n\n //\n // Logs\n //\n\n getLastLogs(handle: string, nLines: number): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getLastLogs',\n this.env.driverKit.logDriver.getLastLogs(resource, nLines),\n );\n }\n\n getProgressLog(handle: string, patternToSearch: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getProgressLog',\n this.env.driverKit.logDriver.getProgressLog(resource, patternToSearch),\n );\n }\n\n getProgressLogWithInfo(handle: string, patternToSearch: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getProgressLogWithInfo',\n this.env.driverKit.logDriver.getProgressLogWithInfo(resource, patternToSearch),\n );\n }\n\n getLogHandle(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n 'getLogHandle',\n this.env.driverKit.logDriver.getLogHandle(resource),\n );\n }\n\n //\n // Blocks\n //\n\n public getBlockLabel(blockId: string): string {\n const b = this.meta.get(blockId);\n if (b === undefined) throw new Error(`Block ${blockId} not found.`);\n return b.label;\n }\n\n //\n // Result Pool\n //\n\n private _resultPool: ResultPool | undefined = undefined;\n private get resultPool(): ResultPool {\n if (this._resultPool === undefined) {\n if (this.computableCtx === undefined)\n throw new Error(\n 'can\\'t use result pool in this context (most porbably called from the future mapper)',\n );\n this._resultPool = notEmpty(\n this.blockCtx.getResultsPool,\n 'getResultsPool',\n )(this.computableCtx);\n }\n return this._resultPool;\n }\n\n public calculateOptions(predicate: PSpecPredicate): Option[] {\n return this.resultPool.calculateOptions(predicate);\n }\n\n public getDataFromResultPool(): ResultCollection<PObject<string>> {\n const collection = this.resultPool.getData();\n if (collection.instabilityMarker !== undefined)\n this.computableCtx!.markUnstable(`incomplete_result_pool:${collection.instabilityMarker}`);\n return {\n isComplete: collection.isComplete,\n entries: collection.entries.map((e) => ({\n ref: e.ref,\n obj: mapPObjectData(e.obj, (d) => this.wrapAccessor(d)),\n })),\n };\n }\n\n public getDataWithErrorsFromResultPool(): ResultCollection<\n Optional<PObject<ValueOrError<string, Error>>, 'id'>\n > {\n const collection = this.resultPool.getDataWithErrors();\n if (collection.instabilityMarker !== undefined)\n this.computableCtx!.markUnstable(`incomplete_result_pool:${collection.instabilityMarker}`);\n return {\n isComplete: collection.isComplete,\n entries: collection.entries.map((e) => ({\n ref: e.ref,\n obj: {\n id: e.obj.id,\n spec: e.obj.spec,\n data: mapValueInVOE(e.obj.data, (d) => this.wrapAccessor(d)),\n },\n })),\n };\n }\n\n public getSpecsFromResultPool(): ResultCollection<PObjectSpec> {\n const specs = this.resultPool.getSpecs();\n if (specs.instabilityMarker !== undefined)\n this.computableCtx!.markUnstable(`specs_from_pool_incomplete:${specs.instabilityMarker}`);\n return specs;\n }\n\n getSpecFromResultPoolByRef(blockId: string, exportName: string): PObjectSpec | undefined {\n return this.resultPool.getSpecByRef(blockId, exportName);\n }\n\n getDataFromResultPoolByRef(blockId: string, exportName: string): PObject<string> | undefined {\n return mapPObjectData(this.resultPool.getDataByRef(blockId, exportName), (acc) =>\n this.wrapAccessor(acc),\n );\n }\n\n //\n // PFrames / PTables\n //\n\n public createPFrame(def: PFrameDef<PColumn<string | PColumnValues | DataInfo<string>>>): PFrameHandle {\n if (this.computableCtx === undefined)\n throw new Error(\n 'can\\'t instantiate PFrames from this context (most porbably called from the future mapper)',\n );\n const { key, unref } = this.env.driverKit.pFrameDriver.createPFrame(\n def.map((c) => mapPObjectData(c, (d) => this.transformInputPData(d))),\n );\n this.computableCtx.addOnDestroy(unref);\n return key;\n }\n\n public createPTable(def: PTableDef<PColumn<string | PColumnValues | DataInfo<string>>>): PTableHandle {\n if (this.computableCtx === undefined)\n throw new Error(\n 'can\\'t instantiate PTable from this context (most porbably called from the future mapper)',\n );\n const { key, unref } = this.env.driverKit.pFrameDriver.createPTable(\n mapPTableDef(def, (c) =>\n mapPObjectData(c, (d) => this.transformInputPData(d)),\n ),\n );\n this.computableCtx.addOnDestroy(unref);\n return key;\n }\n\n /**\n * Transforms input data for PFrame/PTable creation\n * - Converts string handles to accessors\n * - Maps accessors in DataInfo objects\n * - Passes through other values\n */\n private transformInputPData(d: string | PColumnValues | DataInfo<string>): PlTreeNodeAccessor | PColumnValues | DataInfo<PlTreeNodeAccessor> {\n if (typeof d === 'string') {\n return this.getAccessor(d);\n } else if (isDataInfo(d)) {\n return mapDataInfo(d, (a) => this.getAccessor(a));\n } else {\n return d;\n }\n }\n\n //\n // Computable\n //\n\n public getCurrentUnstableMarker(): string | undefined {\n return this.computableCtx?.unstableMarker;\n }\n\n //\n // Logging\n //\n\n public logInfo(message: string): void {\n this.env.blockEventDispatcher.logInfo(this.blockCtx.blockId, message);\n }\n\n public logWarn(message: string): void {\n this.env.blockEventDispatcher.logWarn(this.blockCtx.blockId, message);\n }\n\n public logError(message: string): void {\n this.env.blockEventDispatcher.logError(this.blockCtx.blockId, message);\n }\n\n //\n // Helpers\n //\n\n private getAccessor(handle: string): PlTreeNodeAccessor {\n const accessor = this.accessors.get(handle);\n if (accessor === undefined) throw new Error('No such accessor');\n return accessor;\n }\n\n private wrapAccessor(accessor: PlTreeNodeAccessor): string;\n private wrapAccessor(accessor: PlTreeNodeAccessor | undefined): string | undefined;\n private wrapAccessor(accessor: PlTreeNodeAccessor | undefined): string | undefined {\n if (accessor === undefined) return undefined;\n else {\n const nextHandle = randomUUID();\n this.accessors.set(nextHandle, accessor);\n return nextHandle;\n }\n }\n\n public injectCtx(configCtx: QuickJSHandle): void {\n const parent = this.parent;\n const vm = parent.vm;\n\n Scope.withScope((localScope) => {\n // Exporting methods\n\n const exportCtxFunction = (\n name: string,\n fn: VmFunctionImplementation<QuickJSHandle>,\n ): void => {\n const withCachedError: VmFunctionImplementation<QuickJSHandle> = (...args) => {\n // QuickJS strips all fields from errors apart from 'name' and 'message'.\n // That's why here we need to store them, and rethrow them when we exit\n // from QuickJS code.\n try {\n return (fn as any)(...args);\n } catch (e: unknown) {\n const newErr = parent.errorRepo.setAndRecreateForQuickJS(e);\n\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw vm.newError(newErr);\n }\n };\n\n vm.newFunction(name, withCachedError).consume((fnh) => vm.setProp(configCtx, name, fnh));\n vm.newFunction(name, fn).consume((fnh) => vm.setProp(configCtx, name + '__internal__', fnh));\n };\n\n // Check if this is a v1/v2 block (requiresModelAPIVersion !== 2)\n // For v1/v2 blocks, state is {args, uiState} and we need to inject uiState separately\n const isLegacyBlock = !checkBlockFlag(this.featureFlags, 'requiresModelAPIVersion', 2);\n\n // Helper to extract uiState from legacy state format {args, uiState}\n const extractUiState = (stateJson: string | undefined): string => {\n if (!stateJson) return '{}';\n try {\n const parsed = JSON.parse(stateJson);\n return JSON.stringify(parsed?.uiState ?? {});\n } catch {\n return '{}';\n }\n };\n\n if (checkBlockFlag(this.featureFlags, 'supportsLazyState')) {\n // injecting lazy state functions\n exportCtxFunction('args', () => {\n if (this.computableCtx === undefined)\n throw new Error(`Add dummy call to ctx.args outside the future lambda. Can't be directly used in this context.`);\n const args = this.blockCtx.args(this.computableCtx);\n return args === undefined ? vm.undefined : vm.newString(args);\n });\n exportCtxFunction('data', () => {\n if (this.computableCtx === undefined)\n throw new Error(`Add dummy call to ctx.state outside the future lambda. Can't be directly used in this context.`);\n return vm.newString(this.blockCtx.data(this.computableCtx) ?? '{}');\n });\n exportCtxFunction('activeArgs', () => {\n if (this.computableCtx === undefined)\n throw new Error(`Add dummy call to ctx.activeArgs outside the future lambda. Can't be directly used in this context.`);\n const res = this.blockCtx.activeArgs(this.computableCtx);\n return res === undefined ? vm.undefined : vm.newString(res);\n });\n // For v1/v2 blocks, also inject uiState (extracted from state.uiState)\n if (isLegacyBlock) {\n exportCtxFunction('uiState', () => {\n if (this.computableCtx === undefined)\n throw new Error(`Add dummy call to ctx.uiState outside the future lambda. Can't be directly used in this context.`);\n return vm.newString(extractUiState(this.blockCtx.data(this.computableCtx)));\n });\n }\n } else {\n const args = this.blockCtx.args(this.computableCtx!);\n const activeArgs = this.blockCtx.activeArgs(this.computableCtx!);\n const data = this.blockCtx.data(this.computableCtx!);\n if (args !== undefined) {\n vm.setProp(configCtx, 'args', localScope.manage(vm.newString(args)));\n }\n vm.setProp(configCtx, 'data', localScope.manage(vm.newString(data ?? '{}')));\n if (activeArgs !== undefined)\n vm.setProp(configCtx, 'activeArgs', localScope.manage(vm.newString(activeArgs)));\n // For v1/v2 blocks, also inject uiState (extracted from state.uiState)\n if (isLegacyBlock) {\n vm.setProp(configCtx, 'uiState', localScope.manage(vm.newString(extractUiState(data))));\n }\n }\n\n //\n // Methods for injected ctx object\n //\n\n exportCtxFunction('getAccessorHandleByName', (name) => {\n return parent.exportSingleValue(\n this.getAccessorHandleByName(vm.getString(name)),\n undefined,\n );\n });\n\n //\n // Accessors\n //\n\n exportCtxFunction('resolveWithCommon', (handle, commonOptions, ...steps) => {\n return parent.exportSingleValue(\n this.resolveWithCommon(\n vm.getString(handle),\n parent.importObjectViaJson(commonOptions) as CommonFieldTraverseOpsFromSDK,\n ...steps.map(\n (step) => parent.importObjectViaJson(step) as FieldTraversalStepFromSDK | string,\n ),\n ),\n undefined,\n );\n });\n\n exportCtxFunction('getResourceType', (handle) => {\n return parent.exportObjectViaJson(this.getResourceType(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getInputsLocked', (handle) => {\n return parent.exportSingleValue(this.getInputsLocked(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getOutputsLocked', (handle) => {\n return parent.exportSingleValue(this.getOutputsLocked(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getIsReadyOrError', (handle) => {\n return parent.exportSingleValue(this.getIsReadyOrError(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getIsFinal', (handle) => {\n return parent.exportSingleValue(this.getIsFinal(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getError', (handle) => {\n return parent.exportSingleValue(this.getError(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('listInputFields', (handle) => {\n return parent.exportObjectViaJson(this.listInputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('listOutputFields', (handle) => {\n return parent.exportObjectViaJson(this.listInputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('listDynamicFields', (handle) => {\n return parent.exportObjectViaJson(this.listInputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getKeyValueBase64', (handle, key) => {\n return parent.exportSingleValue(\n this.getKeyValueBase64(vm.getString(handle), vm.getString(key)),\n undefined,\n );\n });\n\n exportCtxFunction('getKeyValueAsString', (handle, key) => {\n return parent.exportSingleValue(\n this.getKeyValueAsString(vm.getString(handle), vm.getString(key)),\n undefined,\n );\n });\n\n exportCtxFunction('getDataBase64', (handle) => {\n return parent.exportSingleValue(this.getDataBase64(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction('getDataAsString', (handle) => {\n return parent.exportSingleValue(this.getDataAsString(vm.getString(handle)), undefined);\n });\n\n //\n // Accessor helpers\n //\n\n exportCtxFunction(\n 'parsePObjectCollection',\n (handle, errorOnUnknownField, prefix, ...resolveSteps) => {\n return parent.exportObjectUniversal(\n this.parsePObjectCollection(\n vm.getString(handle),\n vm.dump(errorOnUnknownField) as boolean,\n vm.getString(prefix),\n ...resolveSteps.map((stepHandle) => vm.getString(stepHandle)),\n ),\n undefined,\n );\n },\n );\n\n //\n // Blobs\n //\n\n exportCtxFunction('getBlobContentAsBase64', (handle, range) => {\n return parent.exportSingleValue(\n this.getBlobContentAsBase64(vm.getString(handle), parent.importObjectUniversal(range) as RangeBytes | undefined),\n undefined,\n );\n });\n\n exportCtxFunction('getBlobContentAsString', (handle, range) => {\n return parent.exportSingleValue(\n this.getBlobContentAsString(vm.getString(handle), parent.importObjectUniversal(range) as RangeBytes | undefined),\n undefined,\n );\n });\n\n exportCtxFunction('getDownloadedBlobContentHandle', (handle) => {\n return parent.exportSingleValue(\n this.getDownloadedBlobContentHandle(vm.getString(handle)),\n undefined,\n );\n });\n\n exportCtxFunction('getOnDemandBlobContentHandle', (handle) => {\n return parent.exportSingleValue(\n this.getOnDemandBlobContentHandle(vm.getString(handle)),\n undefined,\n );\n });\n\n //\n // Blobs to URLs\n //\n\n exportCtxFunction('extractArchiveAndGetURL', (handle, format) => {\n return parent.exportSingleValue(\n this.extractArchiveAndGetURL(vm.getString(handle), vm.getString(format) as ArchiveFormat),\n undefined);\n });\n\n //\n // ImportProgress\n //\n\n exportCtxFunction('getImportProgress', (handle) => {\n return parent.exportSingleValue(this.getImportProgress(vm.getString(handle)), undefined);\n });\n\n //\n // Logs\n //\n\n exportCtxFunction('getLastLogs', (handle, nLines) => {\n return parent.exportSingleValue(\n this.getLastLogs(vm.getString(handle), vm.getNumber(nLines)),\n undefined,\n );\n });\n\n exportCtxFunction('getProgressLog', (handle, patternToSearch) => {\n return parent.exportSingleValue(\n this.getProgressLog(vm.getString(handle), vm.getString(patternToSearch)),\n undefined,\n );\n });\n\n exportCtxFunction('getProgressLogWithInfo', (handle, patternToSearch) => {\n return parent.exportSingleValue(\n this.getProgressLogWithInfo(vm.getString(handle), vm.getString(patternToSearch)),\n undefined,\n );\n });\n\n exportCtxFunction('getLogHandle', (handle) => {\n return parent.exportSingleValue(this.getLogHandle(vm.getString(handle)), undefined);\n });\n\n //\n // Blocks\n //\n\n exportCtxFunction('getBlockLabel', (blockId) => {\n return parent.exportSingleValue(this.getBlockLabel(vm.getString(blockId)), undefined);\n });\n\n //\n // Result pool\n //\n\n exportCtxFunction('getDataFromResultPool', () => {\n return parent.exportObjectUniversal(this.getDataFromResultPool(), undefined);\n });\n\n exportCtxFunction('getDataWithErrorsFromResultPool', () => {\n return parent.exportObjectUniversal(this.getDataWithErrorsFromResultPool(), undefined);\n });\n\n exportCtxFunction('getSpecsFromResultPool', () => {\n return parent.exportObjectUniversal(this.getSpecsFromResultPool(), undefined);\n });\n\n exportCtxFunction('calculateOptions', (predicate) => {\n return parent.exportObjectUniversal(\n this.calculateOptions(parent.importObjectViaJson(predicate) as PSpecPredicate),\n undefined,\n );\n });\n\n exportCtxFunction('getSpecFromResultPoolByRef', (blockId, exportName) => {\n return parent.exportObjectUniversal(\n this.getSpecFromResultPoolByRef(\n vm.getString(blockId),\n vm.getString(exportName),\n ),\n undefined,\n );\n });\n\n exportCtxFunction('getDataFromResultPoolByRef', (blockId, exportName) => {\n return parent.exportObjectUniversal(\n this.getDataFromResultPoolByRef(\n vm.getString(blockId),\n vm.getString(exportName),\n ),\n undefined,\n );\n });\n\n //\n // PFrames / PTables\n //\n\n exportCtxFunction('createPFrame', (def) => {\n return parent.exportSingleValue(\n this.createPFrame(parent.importObjectViaJson(def) as PFrameDef<PColumn<string | PColumnValues>>),\n undefined,\n );\n });\n\n exportCtxFunction('createPTable', (def) => {\n return parent.exportSingleValue(\n this.createPTable(\n parent.importObjectViaJson(def) as PTableDef<PColumn<string | PColumnValues>>,\n ),\n undefined,\n );\n });\n\n //\n // Computable\n //\n\n exportCtxFunction('getCurrentUnstableMarker', () => {\n return parent.exportSingleValue(this.getCurrentUnstableMarker(), undefined);\n });\n\n //\n // Logging\n //\n\n exportCtxFunction('logInfo', (message) => {\n this.logInfo(vm.getString(message));\n });\n\n exportCtxFunction('logWarn', (message) => {\n this.logWarn(vm.getString(message));\n });\n\n exportCtxFunction('logError', (message) => {\n this.logError(vm.getString(message));\n });\n });\n }\n}\n"],"names":["parseFinalPObjectCollection","mapPObjectData","randomUUID","Computable","notEmpty","mapValueInVOE","mapPTableDef","isDataInfo","mapDataInfo","Scope","checkBlockFlag"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computable_context.d.ts","sourceRoot":"","sources":["../../src/js_render/computable_context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"computable_context.d.ts","sourceRoot":"","sources":["../../src/js_render/computable_context.ts"],"names":[],"mappings":"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"}
|
|
@@ -338,17 +338,33 @@ class ComputableContextHelper {
|
|
|
338
338
|
vm.newFunction(name, withCachedError).consume((fnh) => vm.setProp(configCtx, name, fnh));
|
|
339
339
|
vm.newFunction(name, fn).consume((fnh) => vm.setProp(configCtx, name + '__internal__', fnh));
|
|
340
340
|
};
|
|
341
|
+
// Check if this is a v1/v2 block (requiresModelAPIVersion !== 2)
|
|
342
|
+
// For v1/v2 blocks, state is {args, uiState} and we need to inject uiState separately
|
|
343
|
+
const isLegacyBlock = !checkBlockFlag(this.featureFlags, 'requiresModelAPIVersion', 2);
|
|
344
|
+
// Helper to extract uiState from legacy state format {args, uiState}
|
|
345
|
+
const extractUiState = (stateJson) => {
|
|
346
|
+
if (!stateJson)
|
|
347
|
+
return '{}';
|
|
348
|
+
try {
|
|
349
|
+
const parsed = JSON.parse(stateJson);
|
|
350
|
+
return JSON.stringify(parsed?.uiState ?? {});
|
|
351
|
+
}
|
|
352
|
+
catch {
|
|
353
|
+
return '{}';
|
|
354
|
+
}
|
|
355
|
+
};
|
|
341
356
|
if (checkBlockFlag(this.featureFlags, 'supportsLazyState')) {
|
|
342
357
|
// injecting lazy state functions
|
|
343
358
|
exportCtxFunction('args', () => {
|
|
344
359
|
if (this.computableCtx === undefined)
|
|
345
360
|
throw new Error(`Add dummy call to ctx.args outside the future lambda. Can't be directly used in this context.`);
|
|
346
|
-
|
|
361
|
+
const args = this.blockCtx.args(this.computableCtx);
|
|
362
|
+
return args === undefined ? vm.undefined : vm.newString(args);
|
|
347
363
|
});
|
|
348
|
-
exportCtxFunction('
|
|
364
|
+
exportCtxFunction('data', () => {
|
|
349
365
|
if (this.computableCtx === undefined)
|
|
350
|
-
throw new Error(`Add dummy call to ctx.
|
|
351
|
-
return vm.newString(this.blockCtx.
|
|
366
|
+
throw new Error(`Add dummy call to ctx.state outside the future lambda. Can't be directly used in this context.`);
|
|
367
|
+
return vm.newString(this.blockCtx.data(this.computableCtx) ?? '{}');
|
|
352
368
|
});
|
|
353
369
|
exportCtxFunction('activeArgs', () => {
|
|
354
370
|
if (this.computableCtx === undefined)
|
|
@@ -356,15 +372,29 @@ class ComputableContextHelper {
|
|
|
356
372
|
const res = this.blockCtx.activeArgs(this.computableCtx);
|
|
357
373
|
return res === undefined ? vm.undefined : vm.newString(res);
|
|
358
374
|
});
|
|
375
|
+
// For v1/v2 blocks, also inject uiState (extracted from state.uiState)
|
|
376
|
+
if (isLegacyBlock) {
|
|
377
|
+
exportCtxFunction('uiState', () => {
|
|
378
|
+
if (this.computableCtx === undefined)
|
|
379
|
+
throw new Error(`Add dummy call to ctx.uiState outside the future lambda. Can't be directly used in this context.`);
|
|
380
|
+
return vm.newString(extractUiState(this.blockCtx.data(this.computableCtx)));
|
|
381
|
+
});
|
|
382
|
+
}
|
|
359
383
|
}
|
|
360
384
|
else {
|
|
361
385
|
const args = this.blockCtx.args(this.computableCtx);
|
|
362
386
|
const activeArgs = this.blockCtx.activeArgs(this.computableCtx);
|
|
363
|
-
const
|
|
364
|
-
|
|
365
|
-
|
|
387
|
+
const data = this.blockCtx.data(this.computableCtx);
|
|
388
|
+
if (args !== undefined) {
|
|
389
|
+
vm.setProp(configCtx, 'args', localScope.manage(vm.newString(args)));
|
|
390
|
+
}
|
|
391
|
+
vm.setProp(configCtx, 'data', localScope.manage(vm.newString(data ?? '{}')));
|
|
366
392
|
if (activeArgs !== undefined)
|
|
367
393
|
vm.setProp(configCtx, 'activeArgs', localScope.manage(vm.newString(activeArgs)));
|
|
394
|
+
// For v1/v2 blocks, also inject uiState (extracted from state.uiState)
|
|
395
|
+
if (isLegacyBlock) {
|
|
396
|
+
vm.setProp(configCtx, 'uiState', localScope.manage(vm.newString(extractUiState(data))));
|
|
397
|
+
}
|
|
368
398
|
}
|
|
369
399
|
//
|
|
370
400
|
// Methods for injected ctx object
|