@milaboratories/pl-middle-layer 1.48.11 → 1.48.13
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/_virtual/_@oxc-project_runtime@0.114.0/helpers/usingCtx.cjs +59 -0
- package/dist/_virtual/_@oxc-project_runtime@0.114.0/helpers/usingCtx.js +58 -0
- package/dist/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/block_registry/index.cjs +3 -0
- package/dist/block_registry/index.d.ts +3 -4
- package/dist/block_registry/index.js +3 -0
- package/dist/block_registry/registry-v2-provider.cjs +18 -19
- package/dist/block_registry/registry-v2-provider.cjs.map +1 -1
- package/dist/block_registry/registry-v2-provider.d.ts +10 -6
- package/dist/block_registry/registry-v2-provider.js +17 -17
- package/dist/block_registry/registry-v2-provider.js.map +1 -1
- package/dist/block_registry/registry.cjs +188 -219
- package/dist/block_registry/registry.cjs.map +1 -1
- package/dist/block_registry/registry.d.ts +18 -14
- package/dist/block_registry/registry.js +184 -217
- package/dist/block_registry/registry.js.map +1 -1
- package/dist/block_registry/watcher.cjs +141 -170
- package/dist/block_registry/watcher.cjs.map +1 -1
- package/dist/block_registry/watcher.d.ts +26 -24
- package/dist/block_registry/watcher.js +139 -168
- package/dist/block_registry/watcher.js.map +1 -1
- package/dist/block_registry/well_known_registries.cjs +9 -8
- package/dist/block_registry/well_known_registries.cjs.map +1 -1
- package/dist/block_registry/well_known_registries.d.ts +8 -4
- package/dist/block_registry/well_known_registries.js +9 -7
- package/dist/block_registry/well_known_registries.js.map +1 -1
- package/dist/cfg_render/executor.cjs +136 -137
- package/dist/cfg_render/executor.cjs.map +1 -1
- package/dist/cfg_render/executor.js +133 -135
- package/dist/cfg_render/executor.js.map +1 -1
- package/dist/cfg_render/renderer.cjs +354 -462
- package/dist/cfg_render/renderer.cjs.map +1 -1
- package/dist/cfg_render/renderer.js +353 -460
- package/dist/cfg_render/renderer.js.map +1 -1
- package/dist/cfg_render/traverse.cjs +58 -60
- package/dist/cfg_render/traverse.cjs.map +1 -1
- package/dist/cfg_render/traverse.js +57 -58
- package/dist/cfg_render/traverse.js.map +1 -1
- package/dist/cfg_render/util.cjs +14 -19
- package/dist/cfg_render/util.cjs.map +1 -1
- package/dist/cfg_render/util.js +14 -17
- package/dist/cfg_render/util.js.map +1 -1
- package/dist/debug/index.cjs +13 -17
- package/dist/debug/index.cjs.map +1 -1
- package/dist/debug/index.js +13 -16
- package/dist/debug/index.js.map +1 -1
- package/dist/dev_env/index.cjs +60 -44
- package/dist/dev_env/index.cjs.map +1 -1
- package/dist/dev_env/index.js +57 -33
- package/dist/dev_env/index.js.map +1 -1
- package/dist/dev_env/util.cjs +12 -32
- package/dist/dev_env/util.cjs.map +1 -1
- package/dist/dev_env/util.js +10 -11
- package/dist/dev_env/util.js.map +1 -1
- package/dist/index.cjs +75 -74
- package/dist/index.d.ts +21 -13
- package/dist/index.js +25 -18
- package/dist/js_render/computable_context.cjs +432 -568
- package/dist/js_render/computable_context.cjs.map +1 -1
- package/dist/js_render/computable_context.js +431 -566
- package/dist/js_render/computable_context.js.map +1 -1
- package/dist/js_render/context.cjs +184 -237
- package/dist/js_render/context.cjs.map +1 -1
- package/dist/js_render/context.js +184 -235
- package/dist/js_render/context.js.map +1 -1
- package/dist/js_render/index.cjs +137 -156
- package/dist/js_render/index.cjs.map +1 -1
- package/dist/js_render/index.js +136 -154
- package/dist/js_render/index.js.map +1 -1
- package/dist/middle_layer/active_cfg.cjs +28 -35
- package/dist/middle_layer/active_cfg.cjs.map +1 -1
- package/dist/middle_layer/active_cfg.js +27 -33
- package/dist/middle_layer/active_cfg.js.map +1 -1
- package/dist/middle_layer/block.cjs +36 -42
- package/dist/middle_layer/block.cjs.map +1 -1
- package/dist/middle_layer/block.js +35 -40
- package/dist/middle_layer/block.js.map +1 -1
- package/dist/middle_layer/block_ctx.cjs +91 -133
- package/dist/middle_layer/block_ctx.cjs.map +1 -1
- package/dist/middle_layer/block_ctx.js +90 -131
- package/dist/middle_layer/block_ctx.js.map +1 -1
- package/dist/middle_layer/block_ctx_unsafe.cjs +20 -19
- package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -1
- package/dist/middle_layer/block_ctx_unsafe.js +20 -18
- package/dist/middle_layer/block_ctx_unsafe.js.map +1 -1
- package/dist/middle_layer/driver_kit.cjs +47 -51
- package/dist/middle_layer/driver_kit.cjs.map +1 -1
- package/dist/middle_layer/driver_kit.d.ts +31 -27
- package/dist/middle_layer/driver_kit.js +46 -49
- package/dist/middle_layer/driver_kit.js.map +1 -1
- package/dist/middle_layer/frontend_path.cjs +49 -55
- package/dist/middle_layer/frontend_path.cjs.map +1 -1
- package/dist/middle_layer/frontend_path.js +48 -53
- package/dist/middle_layer/frontend_path.js.map +1 -1
- package/dist/middle_layer/index.cjs +4 -0
- package/dist/middle_layer/index.d.ts +4 -5
- package/dist/middle_layer/index.js +4 -0
- package/dist/middle_layer/middle_layer.cjs +216 -245
- package/dist/middle_layer/middle_layer.cjs.map +1 -1
- package/dist/middle_layer/middle_layer.d.ts +95 -91
- package/dist/middle_layer/middle_layer.js +215 -243
- package/dist/middle_layer/middle_layer.js.map +1 -1
- package/dist/middle_layer/navigation_states.cjs +45 -38
- package/dist/middle_layer/navigation_states.cjs.map +1 -1
- package/dist/middle_layer/navigation_states.js +44 -36
- package/dist/middle_layer/navigation_states.js.map +1 -1
- package/dist/middle_layer/ops.cjs +56 -57
- package/dist/middle_layer/ops.cjs.map +1 -1
- package/dist/middle_layer/ops.d.ts +86 -96
- package/dist/middle_layer/ops.js +54 -55
- package/dist/middle_layer/ops.js.map +1 -1
- package/dist/middle_layer/project.cjs +497 -527
- package/dist/middle_layer/project.cjs.map +1 -1
- package/dist/middle_layer/project.d.ts +155 -152
- package/dist/middle_layer/project.js +494 -525
- package/dist/middle_layer/project.js.map +1 -1
- package/dist/middle_layer/project_list.cjs +45 -43
- package/dist/middle_layer/project_list.cjs.map +1 -1
- package/dist/middle_layer/project_list.js +45 -41
- package/dist/middle_layer/project_list.js.map +1 -1
- package/dist/middle_layer/project_overview.cjs +202 -240
- package/dist/middle_layer/project_overview.cjs.map +1 -1
- package/dist/middle_layer/project_overview.js +201 -238
- package/dist/middle_layer/project_overview.js.map +1 -1
- package/dist/middle_layer/project_overview_light.cjs +11 -14
- package/dist/middle_layer/project_overview_light.cjs.map +1 -1
- package/dist/middle_layer/project_overview_light.js +10 -12
- package/dist/middle_layer/project_overview_light.js.map +1 -1
- package/dist/middle_layer/render.cjs +14 -18
- package/dist/middle_layer/render.cjs.map +1 -1
- package/dist/middle_layer/render.js +13 -16
- package/dist/middle_layer/render.js.map +1 -1
- package/dist/middle_layer/types.d.ts +7 -10
- package/dist/middle_layer/util.cjs +26 -21
- package/dist/middle_layer/util.cjs.map +1 -1
- package/dist/middle_layer/util.js +25 -19
- package/dist/middle_layer/util.js.map +1 -1
- package/dist/model/args.cjs +44 -53
- package/dist/model/args.cjs.map +1 -1
- package/dist/model/args.js +44 -51
- package/dist/model/args.js.map +1 -1
- package/dist/model/block_pack_spec.cjs +9 -5
- package/dist/model/block_pack_spec.cjs.map +1 -1
- package/dist/model/block_pack_spec.d.ts +34 -30
- package/dist/model/block_pack_spec.js +9 -4
- package/dist/model/block_pack_spec.js.map +1 -1
- package/dist/model/frontend.d.ts +8 -5
- package/dist/model/index.d.ts +2 -3
- package/dist/model/project_helper.cjs +154 -193
- package/dist/model/project_helper.cjs.map +1 -1
- package/dist/model/project_helper.d.ts +96 -92
- package/dist/model/project_helper.js +153 -191
- package/dist/model/project_helper.js.map +1 -1
- package/dist/model/project_model.cjs +33 -32
- package/dist/model/project_model.cjs.map +1 -1
- package/dist/model/project_model.d.ts +13 -64
- package/dist/model/project_model.js +34 -30
- package/dist/model/project_model.js.map +1 -1
- package/dist/model/project_model_util.cjs +119 -158
- package/dist/model/project_model_util.cjs.map +1 -1
- package/dist/model/project_model_util.js +120 -156
- package/dist/model/project_model_util.js.map +1 -1
- package/dist/model/project_model_v1.cjs +3 -2
- package/dist/model/project_model_v1.cjs.map +1 -1
- package/dist/model/project_model_v1.js +3 -1
- package/dist/model/project_model_v1.js.map +1 -1
- package/dist/model/template_spec.d.ts +20 -16
- package/dist/mutator/block-pack/block_pack.cjs +200 -223
- package/dist/mutator/block-pack/block_pack.cjs.map +1 -1
- package/dist/mutator/block-pack/block_pack.d.ts +20 -19
- package/dist/mutator/block-pack/block_pack.js +199 -221
- package/dist/mutator/block-pack/block_pack.js.map +1 -1
- package/dist/mutator/block-pack/frontend.cjs +14 -16
- package/dist/mutator/block-pack/frontend.cjs.map +1 -1
- package/dist/mutator/block-pack/frontend.js +13 -14
- package/dist/mutator/block-pack/frontend.js.map +1 -1
- package/dist/mutator/context_export.cjs +18 -17
- package/dist/mutator/context_export.cjs.map +1 -1
- package/dist/mutator/context_export.js +17 -15
- package/dist/mutator/context_export.js.map +1 -1
- package/dist/mutator/migration.cjs +86 -112
- package/dist/mutator/migration.cjs.map +1 -1
- package/dist/mutator/migration.js +85 -110
- package/dist/mutator/migration.js.map +1 -1
- package/dist/mutator/project.cjs +903 -1240
- package/dist/mutator/project.cjs.map +1 -1
- package/dist/mutator/project.js +901 -1237
- package/dist/mutator/project.js.map +1 -1
- package/dist/mutator/template/direct_template_loader.cjs +104 -130
- package/dist/mutator/template/direct_template_loader.cjs.map +1 -1
- package/dist/mutator/template/direct_template_loader.js +103 -128
- package/dist/mutator/template/direct_template_loader.js.map +1 -1
- package/dist/mutator/template/direct_template_loader_v3.cjs +104 -124
- package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -1
- package/dist/mutator/template/direct_template_loader_v3.js +103 -122
- package/dist/mutator/template/direct_template_loader_v3.js.map +1 -1
- package/dist/mutator/template/render_block.cjs +26 -30
- package/dist/mutator/template/render_block.cjs.map +1 -1
- package/dist/mutator/template/render_block.js +26 -23
- package/dist/mutator/template/render_block.js.map +1 -1
- package/dist/mutator/template/render_template.cjs +25 -25
- package/dist/mutator/template/render_template.cjs.map +1 -1
- package/dist/mutator/template/render_template.d.ts +6 -3
- package/dist/mutator/template/render_template.js +24 -23
- package/dist/mutator/template/render_template.js.map +1 -1
- package/dist/mutator/template/template_loading.cjs +42 -46
- package/dist/mutator/template/template_loading.cjs.map +1 -1
- package/dist/mutator/template/template_loading.d.ts +16 -12
- package/dist/mutator/template/template_loading.js +40 -44
- package/dist/mutator/template/template_loading.js.map +1 -1
- package/dist/network_check/network_check.cjs +149 -194
- package/dist/network_check/network_check.cjs.map +1 -1
- package/dist/network_check/network_check.d.ts +50 -66
- package/dist/network_check/network_check.js +146 -190
- package/dist/network_check/network_check.js.map +1 -1
- package/dist/network_check/pings.cjs +71 -69
- package/dist/network_check/pings.cjs.map +1 -1
- package/dist/network_check/pings.js +71 -65
- package/dist/network_check/pings.js.map +1 -1
- package/dist/network_check/template.cjs +256 -273
- package/dist/network_check/template.cjs.map +1 -1
- package/dist/network_check/template.js +253 -265
- package/dist/network_check/template.js.map +1 -1
- package/dist/pool/data.cjs +205 -226
- package/dist/pool/data.cjs.map +1 -1
- package/dist/pool/data.d.ts +10 -27
- package/dist/pool/data.js +196 -209
- package/dist/pool/data.js.map +1 -1
- package/dist/pool/driver.cjs +180 -207
- package/dist/pool/driver.cjs.map +1 -1
- package/dist/pool/driver.d.ts +12 -17
- package/dist/pool/driver.js +178 -205
- package/dist/pool/driver.js.map +1 -1
- package/dist/pool/index.cjs +2 -0
- package/dist/pool/index.d.ts +2 -3
- package/dist/pool/index.js +2 -0
- package/dist/pool/p_object_collection.cjs +67 -79
- package/dist/pool/p_object_collection.cjs.map +1 -1
- package/dist/pool/p_object_collection.d.ts +7 -28
- package/dist/pool/p_object_collection.js +65 -77
- package/dist/pool/p_object_collection.js.map +1 -1
- package/dist/pool/result_pool.cjs +217 -262
- package/dist/pool/result_pool.cjs.map +1 -1
- package/dist/pool/result_pool.d.ts +4 -27
- package/dist/pool/result_pool.js +216 -260
- package/dist/pool/result_pool.js.map +1 -1
- package/dist/worker/WorkerManager.cjs +51 -49
- package/dist/worker/WorkerManager.cjs.map +1 -1
- package/dist/worker/WorkerManager.js +49 -47
- package/dist/worker/WorkerManager.js.map +1 -1
- package/dist/worker/worker.cjs +19 -15
- package/dist/worker/worker.cjs.map +1 -1
- package/dist/worker/worker.d.ts +1 -2
- package/dist/worker/worker.js +18 -13
- package/dist/worker/worker.js.map +1 -1
- package/dist/worker/workerApi.cjs +14 -18
- package/dist/worker/workerApi.cjs.map +1 -1
- package/dist/worker/workerApi.js +13 -16
- package/dist/worker/workerApi.js.map +1 -1
- package/package.json +24 -24
- package/src/mutator/template/template_render.test.ts +22 -18
- package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.cjs +0 -77
- package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.cjs.map +0 -1
- package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.js +0 -74
- package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/comparator.cjs +0 -162
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/comparator.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/comparator.js +0 -160
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/comparator.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/range.cjs +0 -576
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/range.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/range.js +0 -574
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/range.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/semver.cjs +0 -337
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/semver.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/semver.js +0 -335
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/semver.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/clean.cjs +0 -22
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/clean.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/clean.js +0 -20
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/clean.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/cmp.cjs +0 -73
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/cmp.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/cmp.js +0 -71
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/cmp.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/coerce.cjs +0 -78
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/coerce.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/coerce.js +0 -76
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/coerce.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-build.cjs +0 -23
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-build.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-build.js +0 -21
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-build.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-loose.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-loose.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-loose.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-loose.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare.cjs +0 -21
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare.js +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/diff.cjs +0 -74
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/diff.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/diff.js +0 -72
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/diff.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/eq.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/eq.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/eq.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/eq.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gt.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gt.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gt.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gt.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gte.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gte.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gte.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gte.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/inc.cjs +0 -35
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/inc.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/inc.js +0 -33
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/inc.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lt.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lt.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lt.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lt.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lte.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lte.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lte.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lte.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/major.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/major.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/major.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/major.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/minor.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/minor.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/minor.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/minor.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/neq.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/neq.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/neq.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/neq.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/parse.cjs +0 -32
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/parse.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/parse.js +0 -30
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/parse.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/patch.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/patch.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/patch.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/patch.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/prerelease.cjs +0 -22
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/prerelease.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/prerelease.js +0 -20
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/prerelease.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rcompare.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rcompare.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rcompare.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rcompare.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rsort.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rsort.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rsort.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rsort.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/satisfies.cjs +0 -26
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/satisfies.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/satisfies.js +0 -24
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/satisfies.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/sort.cjs +0 -19
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/sort.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/sort.js +0 -17
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/sort.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/valid.cjs +0 -22
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/valid.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/valid.js +0 -20
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/valid.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/index.cjs +0 -145
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/index.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/index.js +0 -143
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/index.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/constants.cjs +0 -49
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/constants.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/constants.js +0 -47
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/constants.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/debug.cjs +0 -23
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/debug.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/debug.js +0 -21
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/debug.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/identifiers.cjs +0 -37
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/identifiers.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/identifiers.js +0 -35
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/identifiers.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/lrucache.cjs +0 -54
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/lrucache.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/lrucache.js +0 -52
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/lrucache.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/parse-options.cjs +0 -29
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/parse-options.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/parse-options.js +0 -27
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/parse-options.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/re.cjs +0 -240
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/re.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/re.js +0 -238
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/re.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/gtr.cjs +0 -20
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/gtr.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/gtr.js +0 -18
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/gtr.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/intersects.cjs +0 -23
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/intersects.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/intersects.js +0 -21
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/intersects.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/ltr.cjs +0 -20
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/ltr.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/ltr.js +0 -18
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/ltr.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/max-satisfying.cjs +0 -42
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/max-satisfying.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/max-satisfying.js +0 -40
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/max-satisfying.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-satisfying.cjs +0 -41
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-satisfying.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-satisfying.js +0 -39
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-satisfying.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-version.cjs +0 -79
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-version.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-version.js +0 -77
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-version.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/outside.cjs +0 -103
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/outside.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/outside.js +0 -101
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/outside.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/simplify.cjs +0 -64
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/simplify.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/simplify.js +0 -62
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/simplify.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/subset.cjs +0 -266
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/subset.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/subset.js +0 -264
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/subset.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/to-comparators.cjs +0 -24
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/to-comparators.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/to-comparators.js +0 -22
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/to-comparators.js.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/valid.cjs +0 -27
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/valid.cjs.map +0 -1
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/valid.js +0 -25
- package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/valid.js.map +0 -1
- package/dist/_virtual/index.cjs +0 -8
- package/dist/_virtual/index.cjs.map +0 -1
- package/dist/_virtual/index.js +0 -6
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/re.cjs +0 -6
- package/dist/_virtual/re.cjs.map +0 -1
- package/dist/_virtual/re.js +0 -4
- package/dist/_virtual/re.js.map +0 -1
- package/dist/block_registry/index.d.ts.map +0 -1
- package/dist/block_registry/registry-v2-provider.d.ts.map +0 -1
- package/dist/block_registry/registry.d.ts.map +0 -1
- package/dist/block_registry/registry.test.d.ts +0 -2
- package/dist/block_registry/registry.test.d.ts.map +0 -1
- package/dist/block_registry/watcher.d.ts.map +0 -1
- package/dist/block_registry/well_known_registries.d.ts.map +0 -1
- package/dist/cfg_render/executor.d.ts +0 -9
- package/dist/cfg_render/executor.d.ts.map +0 -1
- package/dist/cfg_render/executor.test.d.ts +0 -2
- package/dist/cfg_render/executor.test.d.ts.map +0 -1
- package/dist/cfg_render/operation.d.ts +0 -29
- package/dist/cfg_render/operation.d.ts.map +0 -1
- package/dist/cfg_render/renderer.d.ts +0 -6
- package/dist/cfg_render/renderer.d.ts.map +0 -1
- package/dist/cfg_render/traverse.d.ts +0 -3
- package/dist/cfg_render/traverse.d.ts.map +0 -1
- package/dist/cfg_render/util.d.ts +0 -5
- package/dist/cfg_render/util.d.ts.map +0 -1
- package/dist/debug/index.d.ts +0 -9
- package/dist/debug/index.d.ts.map +0 -1
- package/dist/dev_env/index.d.ts +0 -21
- package/dist/dev_env/index.d.ts.map +0 -1
- package/dist/dev_env/util.d.ts +0 -3
- package/dist/dev_env/util.d.ts.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/js_render/computable_context.d.ts +0 -74
- package/dist/js_render/computable_context.d.ts.map +0 -1
- package/dist/js_render/context.d.ts +0 -73
- package/dist/js_render/context.d.ts.map +0 -1
- package/dist/js_render/index.d.ts +0 -57
- package/dist/js_render/index.d.ts.map +0 -1
- package/dist/middle_layer/active_cfg.d.ts +0 -6
- package/dist/middle_layer/active_cfg.d.ts.map +0 -1
- package/dist/middle_layer/block.d.ts +0 -10
- package/dist/middle_layer/block.d.ts.map +0 -1
- package/dist/middle_layer/block_ctx.d.ts +0 -23
- package/dist/middle_layer/block_ctx.d.ts.map +0 -1
- package/dist/middle_layer/block_ctx_unsafe.d.ts +0 -16
- package/dist/middle_layer/block_ctx_unsafe.d.ts.map +0 -1
- package/dist/middle_layer/driver_kit.d.ts.map +0 -1
- package/dist/middle_layer/frontend_path.d.ts +0 -6
- package/dist/middle_layer/frontend_path.d.ts.map +0 -1
- package/dist/middle_layer/index.d.ts.map +0 -1
- package/dist/middle_layer/middle_layer.d.ts.map +0 -1
- package/dist/middle_layer/navigation_states.d.ts +0 -10
- package/dist/middle_layer/navigation_states.d.ts.map +0 -1
- package/dist/middle_layer/ops.d.ts.map +0 -1
- package/dist/middle_layer/project.d.ts.map +0 -1
- package/dist/middle_layer/project_list.d.ts +0 -11
- package/dist/middle_layer/project_list.d.ts.map +0 -1
- package/dist/middle_layer/project_overview.d.ts +0 -8
- package/dist/middle_layer/project_overview.d.ts.map +0 -1
- package/dist/middle_layer/project_overview_light.d.ts +0 -8
- package/dist/middle_layer/project_overview_light.d.ts.map +0 -1
- package/dist/middle_layer/render.d.ts +0 -7
- package/dist/middle_layer/render.d.ts.map +0 -1
- package/dist/middle_layer/render.test.d.ts +0 -5
- package/dist/middle_layer/render.test.d.ts.map +0 -1
- package/dist/middle_layer/types.d.ts.map +0 -1
- package/dist/middle_layer/util.d.ts +0 -16
- package/dist/middle_layer/util.d.ts.map +0 -1
- package/dist/model/args.d.ts +0 -14
- package/dist/model/args.d.ts.map +0 -1
- package/dist/model/block_pack.d.ts +0 -8
- package/dist/model/block_pack.d.ts.map +0 -1
- package/dist/model/block_pack_spec.d.ts.map +0 -1
- package/dist/model/frontend.d.ts.map +0 -1
- package/dist/model/index.d.ts.map +0 -1
- package/dist/model/project_helper.d.ts.map +0 -1
- package/dist/model/project_model.d.ts.map +0 -1
- package/dist/model/project_model.test.d.ts +0 -2
- package/dist/model/project_model.test.d.ts.map +0 -1
- package/dist/model/project_model_util.d.ts +0 -43
- package/dist/model/project_model_util.d.ts.map +0 -1
- package/dist/model/project_model_util.test.d.ts +0 -2
- package/dist/model/project_model_util.test.d.ts.map +0 -1
- package/dist/model/project_model_v1.d.ts +0 -8
- package/dist/model/project_model_v1.d.ts.map +0 -1
- package/dist/model/template_spec.d.ts.map +0 -1
- package/dist/mutator/block-pack/block_pack.d.ts.map +0 -1
- package/dist/mutator/block-pack/block_pack.test.d.ts +0 -2
- package/dist/mutator/block-pack/block_pack.test.d.ts.map +0 -1
- package/dist/mutator/block-pack/frontend.d.ts +0 -4
- package/dist/mutator/block-pack/frontend.d.ts.map +0 -1
- package/dist/mutator/context_export.d.ts +0 -9
- package/dist/mutator/context_export.d.ts.map +0 -1
- package/dist/mutator/migration.d.ts +0 -9
- package/dist/mutator/migration.d.ts.map +0 -1
- package/dist/mutator/project-v3.test.d.ts +0 -2
- package/dist/mutator/project-v3.test.d.ts.map +0 -1
- package/dist/mutator/project.d.ts +0 -211
- package/dist/mutator/project.d.ts.map +0 -1
- package/dist/mutator/project.test.d.ts +0 -2
- package/dist/mutator/project.test.d.ts.map +0 -1
- package/dist/mutator/template/direct_template_loader.d.ts +0 -5
- package/dist/mutator/template/direct_template_loader.d.ts.map +0 -1
- package/dist/mutator/template/direct_template_loader_v3.d.ts +0 -15
- package/dist/mutator/template/direct_template_loader_v3.d.ts.map +0 -1
- package/dist/mutator/template/render_block.d.ts +0 -32
- package/dist/mutator/template/render_block.d.ts.map +0 -1
- package/dist/mutator/template/render_template.d.ts.map +0 -1
- package/dist/mutator/template/template_loading.d.ts.map +0 -1
- package/dist/mutator/template/template_render.test.d.ts +0 -2
- package/dist/mutator/template/template_render.test.d.ts.map +0 -1
- package/dist/network_check/network_check.d.ts.map +0 -1
- package/dist/network_check/network_check.test.d.ts +0 -2
- package/dist/network_check/network_check.test.d.ts.map +0 -1
- package/dist/network_check/pings.d.ts +0 -32
- package/dist/network_check/pings.d.ts.map +0 -1
- package/dist/network_check/template.d.ts +0 -57
- package/dist/network_check/template.d.ts.map +0 -1
- package/dist/network_check/template.test.d.ts +0 -2
- package/dist/network_check/template.test.d.ts.map +0 -1
- package/dist/network_check/test_utils.d.ts +0 -6
- package/dist/network_check/test_utils.d.ts.map +0 -1
- package/dist/pool/data.d.ts.map +0 -1
- package/dist/pool/driver.d.ts.map +0 -1
- package/dist/pool/index.d.ts.map +0 -1
- package/dist/pool/p_object_collection.d.ts.map +0 -1
- package/dist/pool/result_pool.d.ts.map +0 -1
- package/dist/test/block_packs.d.ts +0 -6
- package/dist/test/block_packs.d.ts.map +0 -1
- package/dist/test/explicit_templates.d.ts +0 -3
- package/dist/test/explicit_templates.d.ts.map +0 -1
- package/dist/test/known_templates.d.ts +0 -6
- package/dist/test/known_templates.d.ts.map +0 -1
- package/dist/test_env.d.ts +0 -6
- package/dist/test_env.d.ts.map +0 -1
- package/dist/worker/WorkerManager.d.ts +0 -12
- package/dist/worker/WorkerManager.d.ts.map +0 -1
- package/dist/worker/worker.d.ts.map +0 -1
- package/dist/worker/workerApi.d.ts +0 -15
- package/dist/worker/workerApi.d.ts.map +0 -1
|
@@ -1,246 +1,209 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
1
|
+
import { BlockRenderingStateKey, ProjectCreatedTimestamp, ProjectLastModifiedTimestamp, ProjectMetaKey, ProjectStructureAuthorKey, ProjectStructureKey, projectFieldName } from "../model/project_model.js";
|
|
2
|
+
import { allBlocks, productionGraph } from "../model/project_model_util.js";
|
|
3
|
+
import { constructBlockContext, constructBlockContextArgsOnly } from "./block_ctx.js";
|
|
4
|
+
import { ifNotUndef } from "../cfg_render/util.js";
|
|
5
|
+
import { computableFromCfgOrRF } from "./render.js";
|
|
6
|
+
import { getBlockPackInfo } from "./util.js";
|
|
7
|
+
import { BLOCK_STORAGE_FACADE_VERSION, extractCodeWithInfo, wrapCallback } from "@platforma-sdk/model";
|
|
8
|
+
import { notEmpty } from "@milaboratories/ts-helpers";
|
|
9
|
+
import { resourceIdToString } from "@milaboratories/pl-client";
|
|
10
|
+
import { Computable } from "@milaboratories/computable";
|
|
11
|
+
import { isEqual, omitBy } from "es-toolkit";
|
|
12
12
|
|
|
13
|
+
//#region src/middle_layer/project_overview.ts
|
|
13
14
|
function argsEquals(a, b) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return false;
|
|
18
|
-
const cleanA = omitBy(a, (_, key) => key.startsWith("__"));
|
|
19
|
-
const cleanB = omitBy(b, (_, key) => key.startsWith("__"));
|
|
20
|
-
return isEqual(cleanA, cleanB);
|
|
15
|
+
if (a === b) return true;
|
|
16
|
+
if (a === void 0 || b === void 0) return false;
|
|
17
|
+
return isEqual(omitBy(a, (_, key) => key.startsWith("__")), omitBy(b, (_, key) => key.startsWith("__")));
|
|
21
18
|
}
|
|
22
19
|
/** Returns derived general project state form the project resource */
|
|
23
20
|
function projectOverview(prjEntry, navigationStates, env) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
meta,
|
|
209
|
-
created: new Date(created),
|
|
210
|
-
lastModified: new Date(lastModified),
|
|
211
|
-
authorMarker: prj.getKeyValueAsJson(ProjectStructureAuthorKey),
|
|
212
|
-
blocks,
|
|
213
|
-
};
|
|
214
|
-
}, {
|
|
215
|
-
postprocessValue: (value) => {
|
|
216
|
-
const cantRun = new Set();
|
|
217
|
-
const staleBlocks = new Set();
|
|
218
|
-
return {
|
|
219
|
-
...value,
|
|
220
|
-
blocks: value.blocks.map((b) => {
|
|
221
|
-
if (!b.inputsValid)
|
|
222
|
-
cantRun.add(b.id);
|
|
223
|
-
if (b.stale)
|
|
224
|
-
staleBlocks.add(b.id);
|
|
225
|
-
const stale = b.stale || b.upstreams.findIndex((u) => staleBlocks.has(u)) !== -1;
|
|
226
|
-
const canRun = (stale || b.outputErrors) &&
|
|
227
|
-
Boolean(b.inputsValid) &&
|
|
228
|
-
!b.missingReference &&
|
|
229
|
-
b.upstreams.findIndex((u) => cantRun.has(u)) === -1;
|
|
230
|
-
const bb = {
|
|
231
|
-
...b,
|
|
232
|
-
canRun,
|
|
233
|
-
stale,
|
|
234
|
-
updateSuggestions: b.updates?.suggestions ?? [],
|
|
235
|
-
updatedBlockPack: b.updates?.mainSuggestion,
|
|
236
|
-
};
|
|
237
|
-
delete bb["updates"];
|
|
238
|
-
return bb;
|
|
239
|
-
}),
|
|
240
|
-
};
|
|
241
|
-
},
|
|
242
|
-
}).withStableType();
|
|
21
|
+
return Computable.make((ctx) => {
|
|
22
|
+
const prj = ctx.accessor(prjEntry).node();
|
|
23
|
+
const created = notEmpty(prj.getKeyValueAsJson(ProjectCreatedTimestamp));
|
|
24
|
+
const lastModified = notEmpty(prj.getKeyValueAsJson(ProjectLastModifiedTimestamp));
|
|
25
|
+
const meta = notEmpty(prj.getKeyValueAsJson(ProjectMetaKey));
|
|
26
|
+
const structure = notEmpty(prj.getKeyValueAsJson(ProjectStructureKey));
|
|
27
|
+
const renderingState = notEmpty(prj.getKeyValueAsJson(BlockRenderingStateKey));
|
|
28
|
+
const infos = /* @__PURE__ */ new Map();
|
|
29
|
+
for (const { id } of allBlocks(structure)) {
|
|
30
|
+
const cInputs = prj.traverse({
|
|
31
|
+
field: projectFieldName(id, "currentArgs"),
|
|
32
|
+
assertFieldType: "Dynamic",
|
|
33
|
+
stableIfNotFound: true
|
|
34
|
+
});
|
|
35
|
+
const currentArguments = cInputs?.getDataAsJson();
|
|
36
|
+
let prod = void 0;
|
|
37
|
+
const rInputs = prj.traverse({
|
|
38
|
+
field: projectFieldName(id, "prodArgs"),
|
|
39
|
+
assertFieldType: "Dynamic",
|
|
40
|
+
stableIfNotFound: true
|
|
41
|
+
});
|
|
42
|
+
if (rInputs !== void 0) {
|
|
43
|
+
const prodArgs = rInputs.getDataAsJson();
|
|
44
|
+
const result = prj.getField({
|
|
45
|
+
field: projectFieldName(id, "prodOutput"),
|
|
46
|
+
assertFieldType: "Dynamic",
|
|
47
|
+
errorIfFieldNotFound: true
|
|
48
|
+
});
|
|
49
|
+
const ctx = prj.getField({
|
|
50
|
+
field: projectFieldName(id, "prodUiCtx"),
|
|
51
|
+
assertFieldType: "Dynamic",
|
|
52
|
+
errorIfFieldNotFound: true
|
|
53
|
+
});
|
|
54
|
+
prod = {
|
|
55
|
+
arguments: prodArgs,
|
|
56
|
+
stale: !argsEquals(currentArguments, prodArgs),
|
|
57
|
+
outputError: result.error !== void 0 || ctx.error !== void 0 || result.value?.getError() !== void 0 || ctx.value?.getError() !== void 0,
|
|
58
|
+
outputsError: result.error?.getDataAsString() ?? result.value?.getError()?.getDataAsString(),
|
|
59
|
+
exportsError: ctx.error?.getDataAsString() ?? ctx.value?.getError()?.getDataAsString(),
|
|
60
|
+
finished: (result.value !== void 0 && result.value.getIsReadyOrError() || result.error !== void 0 && result.error.getIsReadyOrError()) && (ctx.value !== void 0 && ctx.value.getIsReadyOrError() || ctx.error !== void 0 && ctx.error.getIsReadyOrError())
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
infos.set(id, {
|
|
64
|
+
currentArguments,
|
|
65
|
+
prod,
|
|
66
|
+
argsRid: cInputs?.resourceInfo.id
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const currentGraph = productionGraph(structure, (id) => {
|
|
70
|
+
const bpInfo = getBlockPackInfo(prj, id);
|
|
71
|
+
const bInfo = infos.get(id);
|
|
72
|
+
const args = bInfo.currentArguments;
|
|
73
|
+
return {
|
|
74
|
+
args,
|
|
75
|
+
enrichmentTargets: bInfo.argsRid ? env.projectHelper.getEnrichmentTargets(() => bpInfo.cfg, () => args, {
|
|
76
|
+
argsRid: bInfo.argsRid,
|
|
77
|
+
blockPackRid: bpInfo.bpResourceId
|
|
78
|
+
}) : void 0
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
const limbo = new Set(renderingState.blocksInLimbo);
|
|
82
|
+
const blocks = [...allBlocks(structure)].map(({ id, label: defaultLabel, renderingMode }) => {
|
|
83
|
+
const info = notEmpty(infos.get(id));
|
|
84
|
+
const gNode = notEmpty(currentGraph.nodes.get(id));
|
|
85
|
+
let calculationStatus = "NotCalculated";
|
|
86
|
+
if (info.prod !== void 0) if (limbo.has(id)) calculationStatus = "Limbo";
|
|
87
|
+
else calculationStatus = info.prod.finished ? "Done" : "Running";
|
|
88
|
+
const bp = getBlockPackInfo(prj, id);
|
|
89
|
+
const { sections, title, subtitle, tags, inputsValid, sdkVersion, featureFlags, isIncompatibleWithRuntime } = ifNotUndef(bp, ({ bpId, cfg }) => {
|
|
90
|
+
if (!env.runtimeCapabilities.checkCompatibility(cfg.featureFlags)) return {
|
|
91
|
+
isIncompatibleWithRuntime: true,
|
|
92
|
+
featureFlags: cfg.featureFlags
|
|
93
|
+
};
|
|
94
|
+
const blockCtx = constructBlockContext(prjEntry, id);
|
|
95
|
+
const blockCtxArgsOnly = constructBlockContextArgsOnly(prjEntry, id);
|
|
96
|
+
const codeWithInfoOrError = wrapCallback(() => extractCodeWithInfo(cfg));
|
|
97
|
+
if (codeWithInfoOrError.error) return {
|
|
98
|
+
title: codeWithInfoOrError.error.message,
|
|
99
|
+
isIncompatibleWithRuntime: true,
|
|
100
|
+
featureFlags: cfg.featureFlags
|
|
101
|
+
};
|
|
102
|
+
const codeWithInfo = codeWithInfoOrError.value;
|
|
103
|
+
return {
|
|
104
|
+
sections: computableFromCfgOrRF(env, blockCtx, cfg.sections, codeWithInfo, bpId).wrap({ recover: (cause) => {
|
|
105
|
+
env.logger.error(new Error("Error in block model sections", { cause }));
|
|
106
|
+
return [];
|
|
107
|
+
} }),
|
|
108
|
+
title: ifNotUndef(cfg.title, (title) => computableFromCfgOrRF(env, blockCtxArgsOnly, title, codeWithInfo, bpId).wrap({ recover: (cause) => {
|
|
109
|
+
env.logger.error(new Error("Error in block model title", { cause }));
|
|
110
|
+
return "Invalid title";
|
|
111
|
+
} })),
|
|
112
|
+
subtitle: ifNotUndef(cfg.subtitle, (subtitle) => computableFromCfgOrRF(env, blockCtxArgsOnly, subtitle, codeWithInfo, bpId).wrap({ recover: (cause) => {
|
|
113
|
+
env.logger.error(new Error("Error in block model subtitle", { cause }));
|
|
114
|
+
return "Invalid subtitle";
|
|
115
|
+
} })),
|
|
116
|
+
tags: ifNotUndef(cfg.tags, (tags) => computableFromCfgOrRF(env, blockCtx, tags, codeWithInfo, bpId).wrap({ recover: (cause) => {
|
|
117
|
+
env.logger.error(new Error("Error in block model tags", { cause }));
|
|
118
|
+
return [];
|
|
119
|
+
} })),
|
|
120
|
+
inputsValid: cfg.modelAPIVersion === BLOCK_STORAGE_FACADE_VERSION ? info.currentArguments !== void 0 : cfg.inputsValid ? computableFromCfgOrRF(env, blockCtxArgsOnly, cfg.inputsValid, codeWithInfo, bpId).wrap({ recover: (cause) => {
|
|
121
|
+
env.logger.error(new Error("Error in block model inputsValid", { cause }));
|
|
122
|
+
return false;
|
|
123
|
+
} }) : void 0,
|
|
124
|
+
sdkVersion: codeWithInfo?.sdkVersion,
|
|
125
|
+
featureFlags: codeWithInfo?.featureFlags ?? {},
|
|
126
|
+
isIncompatibleWithRuntime: false
|
|
127
|
+
};
|
|
128
|
+
}) || {};
|
|
129
|
+
const settings = prj.traverse({
|
|
130
|
+
field: projectFieldName(id, "blockSettings"),
|
|
131
|
+
assertFieldType: "Dynamic",
|
|
132
|
+
errorIfFieldNotSet: true
|
|
133
|
+
}).getDataAsJson();
|
|
134
|
+
const storageDebugView = ifNotUndef(bp, ({ cfg }) => {
|
|
135
|
+
if (cfg.modelAPIVersion !== BLOCK_STORAGE_FACADE_VERSION) return;
|
|
136
|
+
const rawStorageJson = prj.traverse({
|
|
137
|
+
field: projectFieldName(id, "blockStorage"),
|
|
138
|
+
assertFieldType: "Dynamic",
|
|
139
|
+
stableIfNotFound: true
|
|
140
|
+
})?.getDataAsString();
|
|
141
|
+
return env.projectHelper.getStorageDebugViewInVM(cfg, rawStorageJson);
|
|
142
|
+
});
|
|
143
|
+
const updates = ifNotUndef(bp, ({ info }) => env.blockUpdateWatcher.get({
|
|
144
|
+
currentSpec: info.source,
|
|
145
|
+
settings
|
|
146
|
+
}));
|
|
147
|
+
return {
|
|
148
|
+
projectResourceId: resourceIdToString(prjEntry.rid),
|
|
149
|
+
id,
|
|
150
|
+
label: title ?? defaultLabel,
|
|
151
|
+
title: title ?? defaultLabel,
|
|
152
|
+
subtitle,
|
|
153
|
+
tags,
|
|
154
|
+
renderingMode,
|
|
155
|
+
stale: info.prod?.stale !== false || calculationStatus === "Limbo",
|
|
156
|
+
missingReference: gNode.missingReferences,
|
|
157
|
+
upstreams: [...currentGraph.traverseIdsExcludingRoots("upstream", id)],
|
|
158
|
+
downstreams: [...currentGraph.traverseIdsExcludingRoots("downstream", id)],
|
|
159
|
+
calculationStatus,
|
|
160
|
+
outputErrors: info.prod?.outputError === true,
|
|
161
|
+
outputsError: info.prod?.outputsError,
|
|
162
|
+
exportsError: info.prod?.exportsError,
|
|
163
|
+
settings,
|
|
164
|
+
sections,
|
|
165
|
+
inputsValid,
|
|
166
|
+
updateInfo: {},
|
|
167
|
+
currentBlockPack: bp?.info?.source,
|
|
168
|
+
updates,
|
|
169
|
+
sdkVersion,
|
|
170
|
+
featureFlags,
|
|
171
|
+
isIncompatibleWithRuntime,
|
|
172
|
+
navigationState: navigationStates.getState(id),
|
|
173
|
+
storageDebugView
|
|
174
|
+
};
|
|
175
|
+
});
|
|
176
|
+
return {
|
|
177
|
+
meta,
|
|
178
|
+
created: new Date(created),
|
|
179
|
+
lastModified: new Date(lastModified),
|
|
180
|
+
authorMarker: prj.getKeyValueAsJson(ProjectStructureAuthorKey),
|
|
181
|
+
blocks
|
|
182
|
+
};
|
|
183
|
+
}, { postprocessValue: (value) => {
|
|
184
|
+
const cantRun = /* @__PURE__ */ new Set();
|
|
185
|
+
const staleBlocks = /* @__PURE__ */ new Set();
|
|
186
|
+
return {
|
|
187
|
+
...value,
|
|
188
|
+
blocks: value.blocks.map((b) => {
|
|
189
|
+
if (!b.inputsValid) cantRun.add(b.id);
|
|
190
|
+
if (b.stale) staleBlocks.add(b.id);
|
|
191
|
+
const stale = b.stale || b.upstreams.findIndex((u) => staleBlocks.has(u)) !== -1;
|
|
192
|
+
const canRun = (stale || b.outputErrors) && Boolean(b.inputsValid) && !b.missingReference && b.upstreams.findIndex((u) => cantRun.has(u)) === -1;
|
|
193
|
+
const bb = {
|
|
194
|
+
...b,
|
|
195
|
+
canRun,
|
|
196
|
+
stale,
|
|
197
|
+
updateSuggestions: b.updates?.suggestions ?? [],
|
|
198
|
+
updatedBlockPack: b.updates?.mainSuggestion
|
|
199
|
+
};
|
|
200
|
+
delete bb["updates"];
|
|
201
|
+
return bb;
|
|
202
|
+
})
|
|
203
|
+
};
|
|
204
|
+
} }).withStableType();
|
|
243
205
|
}
|
|
244
206
|
|
|
207
|
+
//#endregion
|
|
245
208
|
export { projectOverview };
|
|
246
|
-
//# sourceMappingURL=project_overview.js.map
|
|
209
|
+
//# sourceMappingURL=project_overview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project_overview.js","sources":["../../src/middle_layer/project_overview.ts"],"sourcesContent":["import type { PlTreeEntry } from \"@milaboratories/pl-tree\";\nimport type { ComputableStableDefined } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { ProjectRenderingState, ProjectStructure } from \"../model/project_model\";\nimport {\n BlockRenderingStateKey,\n ProjectCreatedTimestamp,\n projectFieldName,\n ProjectLastModifiedTimestamp,\n ProjectMetaKey,\n ProjectStructureAuthorKey,\n ProjectStructureKey,\n} from \"../model/project_model\";\nimport { notEmpty } from \"@milaboratories/ts-helpers\";\nimport { allBlocks, productionGraph } from \"../model/project_model_util\";\nimport type { MiddleLayerEnvironment } from \"./middle_layer\";\nimport type {\n AuthorMarker,\n BlockCalculationStatus,\n BlockSettings,\n ProjectMeta,\n ProjectOverview,\n} from \"@milaboratories/pl-model-middle-layer\";\nimport { constructBlockContext, constructBlockContextArgsOnly } from \"./block_ctx\";\nimport { ifNotUndef } from \"../cfg_render/util\";\nimport { type BlockSection, BLOCK_STORAGE_FACADE_VERSION } from \"@platforma-sdk/model\";\nimport { extractCodeWithInfo, wrapCallback } from \"@platforma-sdk/model\";\nimport { computableFromCfgOrRF } from \"./render\";\nimport type { NavigationStates } from \"./navigation_states\";\nimport { getBlockPackInfo } from \"./util\";\nimport { resourceIdToString, type ResourceId } from \"@milaboratories/pl-client\";\nimport { omitBy, isEqual } from \"es-toolkit\";\n\ntype BlockInfo = {\n argsRid?: ResourceId;\n currentArguments: unknown;\n prod?: ProdState;\n};\n\ntype ProdState = {\n finished: boolean;\n\n outputError: boolean;\n\n outputsError?: string;\n\n exportsError?: string;\n\n stale: boolean;\n\n /** Arguments current production was rendered with. */\n arguments: Record<string, unknown>;\n};\n\nfunction argsEquals(\n a: Record<string, unknown> | undefined,\n b: Record<string, unknown> | undefined,\n): boolean {\n if (a === b) return true;\n if (a === undefined || b === undefined) return false;\n const cleanA = omitBy(a, (_, key) => key.startsWith(\"__\"));\n const cleanB = omitBy(b, (_, key) => key.startsWith(\"__\"));\n return isEqual(cleanA, cleanB);\n}\n\n/** Returns derived general project state form the project resource */\nexport function projectOverview(\n prjEntry: PlTreeEntry,\n navigationStates: NavigationStates,\n env: MiddleLayerEnvironment,\n): ComputableStableDefined<ProjectOverview> {\n return Computable.make(\n (ctx) => {\n const prj = ctx.accessor(prjEntry).node();\n\n const created = notEmpty(prj.getKeyValueAsJson<number>(ProjectCreatedTimestamp));\n const lastModified = notEmpty(prj.getKeyValueAsJson<number>(ProjectLastModifiedTimestamp));\n\n const meta = notEmpty(prj.getKeyValueAsJson<ProjectMeta>(ProjectMetaKey));\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const renderingState = notEmpty(\n prj.getKeyValueAsJson<ProjectRenderingState>(BlockRenderingStateKey),\n );\n\n const infos = new Map<string, BlockInfo>();\n for (const { id } of allBlocks(structure)) {\n const cInputs = prj.traverse({\n field: projectFieldName(id, \"currentArgs\"),\n assertFieldType: \"Dynamic\",\n stableIfNotFound: true,\n });\n const currentArguments = cInputs?.getDataAsJson<Record<string, unknown>>();\n\n let prod: ProdState | undefined = undefined;\n\n const rInputs = prj.traverse({\n field: projectFieldName(id, \"prodArgs\"),\n assertFieldType: \"Dynamic\",\n stableIfNotFound: true,\n });\n if (rInputs !== undefined) {\n const prodArgs = rInputs.getDataAsJson() as Record<string, unknown>;\n const result = prj.getField({\n field: projectFieldName(id, \"prodOutput\"),\n assertFieldType: \"Dynamic\",\n errorIfFieldNotFound: true,\n });\n const ctx = prj.getField({\n field: projectFieldName(id, \"prodUiCtx\"),\n assertFieldType: \"Dynamic\",\n errorIfFieldNotFound: true,\n });\n prod = {\n arguments: prodArgs,\n stale: !argsEquals(currentArguments, prodArgs),\n outputError:\n result.error !== undefined ||\n ctx.error !== undefined ||\n result.value?.getError() !== undefined ||\n ctx.value?.getError() !== undefined,\n outputsError:\n result.error?.getDataAsString() ?? result.value?.getError()?.getDataAsString(),\n exportsError: ctx.error?.getDataAsString() ?? ctx.value?.getError()?.getDataAsString(),\n finished:\n ((result.value !== undefined && result.value.getIsReadyOrError()) ||\n (result.error !== undefined && result.error.getIsReadyOrError())) &&\n ((ctx.value !== undefined && ctx.value.getIsReadyOrError()) ||\n (ctx.error !== undefined && ctx.error.getIsReadyOrError())),\n };\n }\n\n infos.set(id, { currentArguments, prod, argsRid: cInputs?.resourceInfo.id });\n }\n\n const currentGraph = productionGraph(structure, (id) => {\n const bpInfo = getBlockPackInfo(prj, id)!;\n const bInfo = infos.get(id)!;\n const args = bInfo.currentArguments;\n return {\n args,\n enrichmentTargets: bInfo.argsRid\n ? env.projectHelper.getEnrichmentTargets(\n () => bpInfo.cfg,\n () => args,\n { argsRid: bInfo.argsRid, blockPackRid: bpInfo.bpResourceId },\n )\n : undefined,\n };\n });\n\n const limbo = new Set(renderingState.blocksInLimbo);\n\n const blocks = [...allBlocks(structure)].map(({ id, label: defaultLabel, renderingMode }) => {\n const info = notEmpty(infos.get(id));\n const gNode = notEmpty(currentGraph.nodes.get(id));\n let calculationStatus: BlockCalculationStatus = \"NotCalculated\";\n if (info.prod !== undefined) {\n if (limbo.has(id)) calculationStatus = \"Limbo\";\n else calculationStatus = info.prod.finished ? \"Done\" : \"Running\";\n }\n\n const bp = getBlockPackInfo(prj, id);\n\n const {\n sections,\n title,\n subtitle,\n tags,\n inputsValid,\n sdkVersion,\n featureFlags,\n isIncompatibleWithRuntime,\n } =\n ifNotUndef(bp, ({ bpId, cfg }) => {\n if (!env.runtimeCapabilities.checkCompatibility(cfg.featureFlags)) {\n return {\n isIncompatibleWithRuntime: true,\n featureFlags: cfg.featureFlags,\n };\n }\n const blockCtx = constructBlockContext(prjEntry, id);\n const blockCtxArgsOnly = constructBlockContextArgsOnly(prjEntry, id);\n const codeWithInfoOrError = wrapCallback(() => extractCodeWithInfo(cfg));\n if (codeWithInfoOrError.error) {\n return {\n title: codeWithInfoOrError.error.message,\n isIncompatibleWithRuntime: true,\n featureFlags: cfg.featureFlags,\n };\n }\n const codeWithInfo = codeWithInfoOrError.value;\n return {\n sections: computableFromCfgOrRF(env, blockCtx, cfg.sections, codeWithInfo, bpId).wrap(\n {\n recover: (cause) => {\n env.logger.error(new Error(\"Error in block model sections\", { cause }));\n return [];\n },\n },\n ) as ComputableStableDefined<BlockSection[]>,\n title: ifNotUndef(\n cfg.title,\n (title) =>\n computableFromCfgOrRF(env, blockCtxArgsOnly, title, codeWithInfo, bpId).wrap({\n recover: (cause) => {\n env.logger.error(new Error(\"Error in block model title\", { cause }));\n return \"Invalid title\";\n },\n }) as ComputableStableDefined<string>,\n ),\n subtitle: ifNotUndef(\n cfg.subtitle,\n (subtitle) =>\n computableFromCfgOrRF(env, blockCtxArgsOnly, subtitle, codeWithInfo, bpId).wrap({\n recover: (cause) => {\n env.logger.error(new Error(\"Error in block model subtitle\", { cause }));\n return \"Invalid subtitle\";\n },\n }) as ComputableStableDefined<string>,\n ),\n tags: ifNotUndef(\n cfg.tags,\n (tags) =>\n computableFromCfgOrRF(env, blockCtx, tags, codeWithInfo, bpId).wrap({\n recover: (cause) => {\n env.logger.error(new Error(\"Error in block model tags\", { cause }));\n return [];\n },\n }) as ComputableStableDefined<string[]>,\n ),\n // inputsValid: for modelAPIVersion 2, it's true if currentArgs exists (args derivation succeeded)\n // For older blocks, use the inputsValid callback from config\n inputsValid:\n cfg.modelAPIVersion === BLOCK_STORAGE_FACADE_VERSION\n ? info.currentArguments !== undefined\n : cfg.inputsValid\n ? (computableFromCfgOrRF(\n env,\n blockCtxArgsOnly,\n cfg.inputsValid,\n codeWithInfo,\n bpId,\n ).wrap({\n recover: (cause) => {\n env.logger.error(\n new Error(\"Error in block model inputsValid\", { cause }),\n );\n return false;\n },\n }) as ComputableStableDefined<boolean>)\n : undefined,\n sdkVersion: codeWithInfo?.sdkVersion,\n featureFlags: codeWithInfo?.featureFlags ?? {},\n isIncompatibleWithRuntime: false,\n };\n }) || {};\n\n const settings = prj\n .traverse({\n field: projectFieldName(id, \"blockSettings\"),\n assertFieldType: \"Dynamic\",\n errorIfFieldNotSet: true,\n })\n .getDataAsJson() as BlockSettings;\n\n // Get block storage debug view by calling VM function (only for Model API v2 blocks)\n const storageDebugView = ifNotUndef(bp, ({ cfg }) => {\n if (cfg.modelAPIVersion !== BLOCK_STORAGE_FACADE_VERSION) {\n return undefined;\n }\n const storageNode = prj.traverse({\n field: projectFieldName(id, \"blockStorage\"),\n assertFieldType: \"Dynamic\",\n stableIfNotFound: true,\n });\n const rawStorageJson = storageNode?.getDataAsString();\n return env.projectHelper.getStorageDebugViewInVM(cfg, rawStorageJson);\n });\n\n const updates = ifNotUndef(bp, ({ info }) =>\n env.blockUpdateWatcher.get({ currentSpec: info.source, settings }),\n );\n\n return {\n projectResourceId: resourceIdToString(prjEntry.rid),\n id,\n label: title ?? defaultLabel,\n title: title ?? defaultLabel,\n subtitle,\n tags,\n renderingMode,\n stale: info.prod?.stale !== false || calculationStatus === \"Limbo\",\n missingReference: gNode.missingReferences,\n upstreams: [...currentGraph.traverseIdsExcludingRoots(\"upstream\", id)],\n downstreams: [...currentGraph.traverseIdsExcludingRoots(\"downstream\", id)],\n calculationStatus,\n outputErrors: info.prod?.outputError === true,\n outputsError: info.prod?.outputsError,\n exportsError: info.prod?.exportsError,\n settings,\n sections,\n inputsValid,\n updateInfo: {},\n currentBlockPack: bp?.info?.source,\n updates,\n sdkVersion,\n featureFlags,\n isIncompatibleWithRuntime,\n navigationState: navigationStates.getState(id),\n storageDebugView,\n };\n });\n\n return {\n meta,\n created: new Date(created),\n lastModified: new Date(lastModified),\n authorMarker: prj.getKeyValueAsJson<AuthorMarker>(ProjectStructureAuthorKey),\n blocks,\n };\n },\n {\n postprocessValue: (value) => {\n const cantRun = new Set<string>();\n const staleBlocks = new Set<string>();\n return {\n ...value,\n blocks: value.blocks.map((b) => {\n if (!b.inputsValid) cantRun.add(b.id);\n if (b.stale) staleBlocks.add(b.id);\n const stale = b.stale || b.upstreams.findIndex((u) => staleBlocks.has(u)) !== -1;\n const canRun =\n (stale || b.outputErrors) &&\n Boolean(b.inputsValid) &&\n !b.missingReference &&\n b.upstreams.findIndex((u) => cantRun.has(u)) === -1;\n const bb = {\n ...b,\n canRun,\n stale,\n updateSuggestions: b.updates?.suggestions ?? [],\n updatedBlockPack: b.updates?.mainSuggestion,\n };\n delete bb[\"updates\"];\n return bb;\n }),\n };\n },\n },\n ).withStableType();\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project_overview.js","names":[],"sources":["../../src/middle_layer/project_overview.ts"],"sourcesContent":["import type { PlTreeEntry } from \"@milaboratories/pl-tree\";\nimport type { ComputableStableDefined } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { ProjectRenderingState, ProjectStructure } from \"../model/project_model\";\nimport {\n BlockRenderingStateKey,\n ProjectCreatedTimestamp,\n projectFieldName,\n ProjectLastModifiedTimestamp,\n ProjectMetaKey,\n ProjectStructureAuthorKey,\n ProjectStructureKey,\n} from \"../model/project_model\";\nimport { notEmpty } from \"@milaboratories/ts-helpers\";\nimport { allBlocks, productionGraph } from \"../model/project_model_util\";\nimport type { MiddleLayerEnvironment } from \"./middle_layer\";\nimport type {\n AuthorMarker,\n BlockCalculationStatus,\n BlockSettings,\n ProjectMeta,\n ProjectOverview,\n} from \"@milaboratories/pl-model-middle-layer\";\nimport { constructBlockContext, constructBlockContextArgsOnly } from \"./block_ctx\";\nimport { ifNotUndef } from \"../cfg_render/util\";\nimport { type BlockSection, BLOCK_STORAGE_FACADE_VERSION } from \"@platforma-sdk/model\";\nimport { extractCodeWithInfo, wrapCallback } from \"@platforma-sdk/model\";\nimport { computableFromCfgOrRF } from \"./render\";\nimport type { NavigationStates } from \"./navigation_states\";\nimport { getBlockPackInfo } from \"./util\";\nimport { resourceIdToString, type ResourceId } from \"@milaboratories/pl-client\";\nimport { omitBy, isEqual } from \"es-toolkit\";\n\ntype BlockInfo = {\n argsRid?: ResourceId;\n currentArguments: unknown;\n prod?: ProdState;\n};\n\ntype ProdState = {\n finished: boolean;\n\n outputError: boolean;\n\n outputsError?: string;\n\n exportsError?: string;\n\n stale: boolean;\n\n /** Arguments current production was rendered with. */\n arguments: Record<string, unknown>;\n};\n\nfunction argsEquals(\n a: Record<string, unknown> | undefined,\n b: Record<string, unknown> | undefined,\n): boolean {\n if (a === b) return true;\n if (a === undefined || b === undefined) return false;\n const cleanA = omitBy(a, (_, key) => key.startsWith(\"__\"));\n const cleanB = omitBy(b, (_, key) => key.startsWith(\"__\"));\n return isEqual(cleanA, cleanB);\n}\n\n/** Returns derived general project state form the project resource */\nexport function projectOverview(\n prjEntry: PlTreeEntry,\n navigationStates: NavigationStates,\n env: MiddleLayerEnvironment,\n): ComputableStableDefined<ProjectOverview> {\n return Computable.make(\n (ctx) => {\n const prj = ctx.accessor(prjEntry).node();\n\n const created = notEmpty(prj.getKeyValueAsJson<number>(ProjectCreatedTimestamp));\n const lastModified = notEmpty(prj.getKeyValueAsJson<number>(ProjectLastModifiedTimestamp));\n\n const meta = notEmpty(prj.getKeyValueAsJson<ProjectMeta>(ProjectMetaKey));\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const renderingState = notEmpty(\n prj.getKeyValueAsJson<ProjectRenderingState>(BlockRenderingStateKey),\n );\n\n const infos = new Map<string, BlockInfo>();\n for (const { id } of allBlocks(structure)) {\n const cInputs = prj.traverse({\n field: projectFieldName(id, \"currentArgs\"),\n assertFieldType: \"Dynamic\",\n stableIfNotFound: true,\n });\n const currentArguments = cInputs?.getDataAsJson<Record<string, unknown>>();\n\n let prod: ProdState | undefined = undefined;\n\n const rInputs = prj.traverse({\n field: projectFieldName(id, \"prodArgs\"),\n assertFieldType: \"Dynamic\",\n stableIfNotFound: true,\n });\n if (rInputs !== undefined) {\n const prodArgs = rInputs.getDataAsJson() as Record<string, unknown>;\n const result = prj.getField({\n field: projectFieldName(id, \"prodOutput\"),\n assertFieldType: \"Dynamic\",\n errorIfFieldNotFound: true,\n });\n const ctx = prj.getField({\n field: projectFieldName(id, \"prodUiCtx\"),\n assertFieldType: \"Dynamic\",\n errorIfFieldNotFound: true,\n });\n prod = {\n arguments: prodArgs,\n stale: !argsEquals(currentArguments, prodArgs),\n outputError:\n result.error !== undefined ||\n ctx.error !== undefined ||\n result.value?.getError() !== undefined ||\n ctx.value?.getError() !== undefined,\n outputsError:\n result.error?.getDataAsString() ?? result.value?.getError()?.getDataAsString(),\n exportsError: ctx.error?.getDataAsString() ?? ctx.value?.getError()?.getDataAsString(),\n finished:\n ((result.value !== undefined && result.value.getIsReadyOrError()) ||\n (result.error !== undefined && result.error.getIsReadyOrError())) &&\n ((ctx.value !== undefined && ctx.value.getIsReadyOrError()) ||\n (ctx.error !== undefined && ctx.error.getIsReadyOrError())),\n };\n }\n\n infos.set(id, { currentArguments, prod, argsRid: cInputs?.resourceInfo.id });\n }\n\n const currentGraph = productionGraph(structure, (id) => {\n const bpInfo = getBlockPackInfo(prj, id)!;\n const bInfo = infos.get(id)!;\n const args = bInfo.currentArguments;\n return {\n args,\n enrichmentTargets: bInfo.argsRid\n ? env.projectHelper.getEnrichmentTargets(\n () => bpInfo.cfg,\n () => args,\n { argsRid: bInfo.argsRid, blockPackRid: bpInfo.bpResourceId },\n )\n : undefined,\n };\n });\n\n const limbo = new Set(renderingState.blocksInLimbo);\n\n const blocks = [...allBlocks(structure)].map(({ id, label: defaultLabel, renderingMode }) => {\n const info = notEmpty(infos.get(id));\n const gNode = notEmpty(currentGraph.nodes.get(id));\n let calculationStatus: BlockCalculationStatus = \"NotCalculated\";\n if (info.prod !== undefined) {\n if (limbo.has(id)) calculationStatus = \"Limbo\";\n else calculationStatus = info.prod.finished ? \"Done\" : \"Running\";\n }\n\n const bp = getBlockPackInfo(prj, id);\n\n const {\n sections,\n title,\n subtitle,\n tags,\n inputsValid,\n sdkVersion,\n featureFlags,\n isIncompatibleWithRuntime,\n } =\n ifNotUndef(bp, ({ bpId, cfg }) => {\n if (!env.runtimeCapabilities.checkCompatibility(cfg.featureFlags)) {\n return {\n isIncompatibleWithRuntime: true,\n featureFlags: cfg.featureFlags,\n };\n }\n const blockCtx = constructBlockContext(prjEntry, id);\n const blockCtxArgsOnly = constructBlockContextArgsOnly(prjEntry, id);\n const codeWithInfoOrError = wrapCallback(() => extractCodeWithInfo(cfg));\n if (codeWithInfoOrError.error) {\n return {\n title: codeWithInfoOrError.error.message,\n isIncompatibleWithRuntime: true,\n featureFlags: cfg.featureFlags,\n };\n }\n const codeWithInfo = codeWithInfoOrError.value;\n return {\n sections: computableFromCfgOrRF(env, blockCtx, cfg.sections, codeWithInfo, bpId).wrap(\n {\n recover: (cause) => {\n env.logger.error(new Error(\"Error in block model sections\", { cause }));\n return [];\n },\n },\n ) as ComputableStableDefined<BlockSection[]>,\n title: ifNotUndef(\n cfg.title,\n (title) =>\n computableFromCfgOrRF(env, blockCtxArgsOnly, title, codeWithInfo, bpId).wrap({\n recover: (cause) => {\n env.logger.error(new Error(\"Error in block model title\", { cause }));\n return \"Invalid title\";\n },\n }) as ComputableStableDefined<string>,\n ),\n subtitle: ifNotUndef(\n cfg.subtitle,\n (subtitle) =>\n computableFromCfgOrRF(env, blockCtxArgsOnly, subtitle, codeWithInfo, bpId).wrap({\n recover: (cause) => {\n env.logger.error(new Error(\"Error in block model subtitle\", { cause }));\n return \"Invalid subtitle\";\n },\n }) as ComputableStableDefined<string>,\n ),\n tags: ifNotUndef(\n cfg.tags,\n (tags) =>\n computableFromCfgOrRF(env, blockCtx, tags, codeWithInfo, bpId).wrap({\n recover: (cause) => {\n env.logger.error(new Error(\"Error in block model tags\", { cause }));\n return [];\n },\n }) as ComputableStableDefined<string[]>,\n ),\n // inputsValid: for modelAPIVersion 2, it's true if currentArgs exists (args derivation succeeded)\n // For older blocks, use the inputsValid callback from config\n inputsValid:\n cfg.modelAPIVersion === BLOCK_STORAGE_FACADE_VERSION\n ? info.currentArguments !== undefined\n : cfg.inputsValid\n ? (computableFromCfgOrRF(\n env,\n blockCtxArgsOnly,\n cfg.inputsValid,\n codeWithInfo,\n bpId,\n ).wrap({\n recover: (cause) => {\n env.logger.error(\n new Error(\"Error in block model inputsValid\", { cause }),\n );\n return false;\n },\n }) as ComputableStableDefined<boolean>)\n : undefined,\n sdkVersion: codeWithInfo?.sdkVersion,\n featureFlags: codeWithInfo?.featureFlags ?? {},\n isIncompatibleWithRuntime: false,\n };\n }) || {};\n\n const settings = prj\n .traverse({\n field: projectFieldName(id, \"blockSettings\"),\n assertFieldType: \"Dynamic\",\n errorIfFieldNotSet: true,\n })\n .getDataAsJson() as BlockSettings;\n\n // Get block storage debug view by calling VM function (only for Model API v2 blocks)\n const storageDebugView = ifNotUndef(bp, ({ cfg }) => {\n if (cfg.modelAPIVersion !== BLOCK_STORAGE_FACADE_VERSION) {\n return undefined;\n }\n const storageNode = prj.traverse({\n field: projectFieldName(id, \"blockStorage\"),\n assertFieldType: \"Dynamic\",\n stableIfNotFound: true,\n });\n const rawStorageJson = storageNode?.getDataAsString();\n return env.projectHelper.getStorageDebugViewInVM(cfg, rawStorageJson);\n });\n\n const updates = ifNotUndef(bp, ({ info }) =>\n env.blockUpdateWatcher.get({ currentSpec: info.source, settings }),\n );\n\n return {\n projectResourceId: resourceIdToString(prjEntry.rid),\n id,\n label: title ?? defaultLabel,\n title: title ?? defaultLabel,\n subtitle,\n tags,\n renderingMode,\n stale: info.prod?.stale !== false || calculationStatus === \"Limbo\",\n missingReference: gNode.missingReferences,\n upstreams: [...currentGraph.traverseIdsExcludingRoots(\"upstream\", id)],\n downstreams: [...currentGraph.traverseIdsExcludingRoots(\"downstream\", id)],\n calculationStatus,\n outputErrors: info.prod?.outputError === true,\n outputsError: info.prod?.outputsError,\n exportsError: info.prod?.exportsError,\n settings,\n sections,\n inputsValid,\n updateInfo: {},\n currentBlockPack: bp?.info?.source,\n updates,\n sdkVersion,\n featureFlags,\n isIncompatibleWithRuntime,\n navigationState: navigationStates.getState(id),\n storageDebugView,\n };\n });\n\n return {\n meta,\n created: new Date(created),\n lastModified: new Date(lastModified),\n authorMarker: prj.getKeyValueAsJson<AuthorMarker>(ProjectStructureAuthorKey),\n blocks,\n };\n },\n {\n postprocessValue: (value) => {\n const cantRun = new Set<string>();\n const staleBlocks = new Set<string>();\n return {\n ...value,\n blocks: value.blocks.map((b) => {\n if (!b.inputsValid) cantRun.add(b.id);\n if (b.stale) staleBlocks.add(b.id);\n const stale = b.stale || b.upstreams.findIndex((u) => staleBlocks.has(u)) !== -1;\n const canRun =\n (stale || b.outputErrors) &&\n Boolean(b.inputsValid) &&\n !b.missingReference &&\n b.upstreams.findIndex((u) => cantRun.has(u)) === -1;\n const bb = {\n ...b,\n canRun,\n stale,\n updateSuggestions: b.updates?.suggestions ?? [],\n updatedBlockPack: b.updates?.mainSuggestion,\n };\n delete bb[\"updates\"];\n return bb;\n }),\n };\n },\n },\n ).withStableType();\n}\n"],"mappings":"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"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var project_model_util = require('../model/project_model_util.cjs');
|
|
1
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_project_model = require('../model/project_model.cjs');
|
|
3
|
+
const require_project_model_util = require('../model/project_model_util.cjs');
|
|
4
|
+
let _milaboratories_ts_helpers = require("@milaboratories/ts-helpers");
|
|
5
|
+
let _milaboratories_computable = require("@milaboratories/computable");
|
|
7
6
|
|
|
7
|
+
//#region src/middle_layer/project_overview_light.ts
|
|
8
8
|
/** Returns derived general project state form the project resource */
|
|
9
9
|
function projectOverviewLight(prjEntry) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return {
|
|
14
|
-
listOfBlocks: [...project_model_util.allBlocks(structure)].map((b) => b.id),
|
|
15
|
-
};
|
|
16
|
-
});
|
|
10
|
+
return _milaboratories_computable.Computable.make((ctx) => {
|
|
11
|
+
return { listOfBlocks: [...require_project_model_util.allBlocks((0, _milaboratories_ts_helpers.notEmpty)(ctx.accessor(prjEntry).node().getKeyValueAsJson(require_project_model.ProjectStructureKey)))].map((b) => b.id) };
|
|
12
|
+
});
|
|
17
13
|
}
|
|
18
14
|
|
|
15
|
+
//#endregion
|
|
19
16
|
exports.projectOverviewLight = projectOverviewLight;
|
|
20
|
-
//# sourceMappingURL=project_overview_light.cjs.map
|
|
17
|
+
//# sourceMappingURL=project_overview_light.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project_overview_light.cjs","sources":["../../src/middle_layer/project_overview_light.ts"],"sourcesContent":["import { notEmpty } from \"@milaboratories/ts-helpers\";\nimport type { PlTreeEntry } from \"@milaboratories/pl-tree\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { ProjectStructure } from \"../model/project_model\";\nimport { ProjectStructureKey } from \"../model/project_model\";\nimport { allBlocks } from \"../model/project_model_util\";\n\nexport type ProjectOverviewLight = {\n readonly listOfBlocks: string[];\n};\n\n/** Returns derived general project state form the project resource */\nexport function projectOverviewLight(prjEntry: PlTreeEntry): Computable<ProjectOverviewLight> {\n return Computable.make((ctx) => {\n const prj = ctx.accessor(prjEntry).node();\n\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n\n return {\n listOfBlocks: [...allBlocks(structure)].map((b) => b.id),\n };\n });\n}\n"],"
|
|
1
|
+
{"version":3,"file":"project_overview_light.cjs","names":["Computable","allBlocks","ProjectStructureKey"],"sources":["../../src/middle_layer/project_overview_light.ts"],"sourcesContent":["import { notEmpty } from \"@milaboratories/ts-helpers\";\nimport type { PlTreeEntry } from \"@milaboratories/pl-tree\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { ProjectStructure } from \"../model/project_model\";\nimport { ProjectStructureKey } from \"../model/project_model\";\nimport { allBlocks } from \"../model/project_model_util\";\n\nexport type ProjectOverviewLight = {\n readonly listOfBlocks: string[];\n};\n\n/** Returns derived general project state form the project resource */\nexport function projectOverviewLight(prjEntry: PlTreeEntry): Computable<ProjectOverviewLight> {\n return Computable.make((ctx) => {\n const prj = ctx.accessor(prjEntry).node();\n\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n\n return {\n listOfBlocks: [...allBlocks(structure)].map((b) => b.id),\n };\n });\n}\n"],"mappings":";;;;;;;;AAYA,SAAgB,qBAAqB,UAAyD;AAC5F,QAAOA,sCAAW,MAAM,QAAQ;AAK9B,SAAO,EACL,cAAc,CAAC,GAAGC,8EALR,IAAI,SAAS,SAAS,CAAC,MAAM,CAEV,kBAAoCC,0CAAoB,CAAC,CAGhD,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,EACzD;GACD"}
|