@milaboratories/pl-middle-layer 1.42.2 → 1.42.4
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/block_registry/index.d.ts +0 -1
- package/dist/block_registry/registry-v2-provider.cjs +22 -0
- package/dist/block_registry/registry-v2-provider.cjs.map +1 -0
- package/dist/block_registry/registry-v2-provider.d.ts +0 -1
- package/dist/block_registry/registry-v2-provider.js +20 -0
- package/dist/block_registry/registry-v2-provider.js.map +1 -0
- package/dist/block_registry/registry.cjs +231 -0
- package/dist/block_registry/registry.cjs.map +1 -0
- package/dist/block_registry/registry.d.ts +0 -1
- package/dist/block_registry/registry.js +227 -0
- package/dist/block_registry/registry.js.map +1 -0
- package/dist/block_registry/registry.test.d.ts +0 -1
- package/dist/block_registry/watcher.cjs +174 -0
- package/dist/block_registry/watcher.cjs.map +1 -0
- package/dist/block_registry/watcher.d.ts +0 -1
- package/dist/block_registry/watcher.js +171 -0
- package/dist/block_registry/watcher.js.map +1 -0
- package/dist/block_registry/well_known_registries.cjs +19 -0
- package/dist/block_registry/well_known_registries.cjs.map +1 -0
- package/dist/block_registry/well_known_registries.d.ts +0 -1
- package/dist/block_registry/well_known_registries.js +15 -0
- package/dist/block_registry/well_known_registries.js.map +1 -0
- package/dist/cfg_render/executor.cjs +159 -0
- package/dist/cfg_render/executor.cjs.map +1 -0
- package/dist/cfg_render/executor.d.ts +0 -1
- package/dist/cfg_render/executor.js +156 -0
- package/dist/cfg_render/executor.js.map +1 -0
- package/dist/cfg_render/executor.test.d.ts +0 -1
- package/dist/cfg_render/operation.d.ts +0 -1
- package/dist/cfg_render/renderer.cjs +528 -0
- package/dist/cfg_render/renderer.cjs.map +1 -0
- package/dist/cfg_render/renderer.d.ts +0 -1
- package/dist/cfg_render/renderer.js +525 -0
- package/dist/cfg_render/renderer.js.map +1 -0
- package/dist/cfg_render/traverse.cjs +65 -0
- package/dist/cfg_render/traverse.cjs.map +1 -0
- package/dist/cfg_render/traverse.d.ts +0 -1
- package/dist/cfg_render/traverse.js +63 -0
- package/dist/cfg_render/traverse.js.map +1 -0
- package/dist/cfg_render/util.cjs +32 -0
- package/dist/cfg_render/util.cjs.map +1 -0
- package/dist/cfg_render/util.d.ts +0 -1
- package/dist/cfg_render/util.js +28 -0
- package/dist/cfg_render/util.js.map +1 -0
- package/dist/debug/index.cjs +21 -0
- package/dist/debug/index.cjs.map +1 -0
- package/dist/debug/index.d.ts +0 -1
- package/dist/debug/index.js +19 -0
- package/dist/debug/index.js.map +1 -0
- package/dist/dev_env/index.cjs +59 -0
- package/dist/dev_env/index.cjs.map +1 -0
- package/dist/dev_env/index.d.ts +0 -1
- package/dist/dev_env/index.js +48 -0
- package/dist/dev_env/index.js.map +1 -0
- package/dist/dev_env/util.cjs +37 -0
- package/dist/dev_env/util.cjs.map +1 -0
- package/dist/dev_env/util.d.ts +0 -1
- package/dist/dev_env/util.js +16 -0
- package/dist/dev_env/util.js.map +1 -0
- package/dist/index.cjs +74 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +15 -75
- package/dist/index.js.map +1 -1
- package/dist/js_render/computable_context.cjs +525 -0
- package/dist/js_render/computable_context.cjs.map +1 -0
- package/dist/js_render/computable_context.d.ts +0 -1
- package/dist/js_render/computable_context.js +523 -0
- package/dist/js_render/computable_context.js.map +1 -0
- package/dist/js_render/context.cjs +229 -0
- package/dist/js_render/context.cjs.map +1 -0
- package/dist/js_render/context.d.ts +0 -1
- package/dist/js_render/context.js +226 -0
- package/dist/js_render/context.js.map +1 -0
- package/dist/js_render/index.cjs +163 -0
- package/dist/js_render/index.cjs.map +1 -0
- package/dist/js_render/index.d.ts +0 -1
- package/dist/js_render/index.js +160 -0
- package/dist/js_render/index.js.map +1 -0
- package/dist/middle_layer/active_cfg.cjs +37 -0
- package/dist/middle_layer/active_cfg.cjs.map +1 -0
- package/dist/middle_layer/active_cfg.d.ts +0 -1
- package/dist/middle_layer/active_cfg.js +35 -0
- package/dist/middle_layer/active_cfg.js.map +1 -0
- package/dist/middle_layer/block.cjs +51 -0
- package/dist/middle_layer/block.cjs.map +1 -0
- package/dist/middle_layer/block.d.ts +0 -1
- package/dist/middle_layer/block.js +48 -0
- package/dist/middle_layer/block.js.map +1 -0
- package/dist/middle_layer/block_ctx.cjs +87 -0
- package/dist/middle_layer/block_ctx.cjs.map +1 -0
- package/dist/middle_layer/block_ctx.d.ts +0 -1
- package/dist/middle_layer/block_ctx.js +84 -0
- package/dist/middle_layer/block_ctx.js.map +1 -0
- package/dist/middle_layer/block_ctx_unsafe.cjs +19 -0
- package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -0
- package/dist/middle_layer/block_ctx_unsafe.d.ts +0 -1
- package/dist/middle_layer/block_ctx_unsafe.js +16 -0
- package/dist/middle_layer/block_ctx_unsafe.js.map +1 -0
- package/dist/middle_layer/driver_kit.cjs +42 -0
- package/dist/middle_layer/driver_kit.cjs.map +1 -0
- package/dist/middle_layer/driver_kit.d.ts +0 -1
- package/dist/middle_layer/driver_kit.js +40 -0
- package/dist/middle_layer/driver_kit.js.map +1 -0
- package/dist/middle_layer/frontend_path.cjs +64 -0
- package/dist/middle_layer/frontend_path.cjs.map +1 -0
- package/dist/middle_layer/frontend_path.d.ts +0 -1
- package/dist/middle_layer/frontend_path.js +62 -0
- package/dist/middle_layer/frontend_path.js.map +1 -0
- package/dist/middle_layer/index.d.ts +0 -1
- package/dist/middle_layer/middle_layer.cjs +226 -0
- package/dist/middle_layer/middle_layer.cjs.map +1 -0
- package/dist/middle_layer/middle_layer.d.ts +0 -1
- package/dist/middle_layer/middle_layer.js +224 -0
- package/dist/middle_layer/middle_layer.js.map +1 -0
- package/dist/middle_layer/navigation_states.cjs +41 -0
- package/dist/middle_layer/navigation_states.cjs.map +1 -0
- package/dist/middle_layer/navigation_states.d.ts +0 -1
- package/dist/middle_layer/navigation_states.js +39 -0
- package/dist/middle_layer/navigation_states.js.map +1 -0
- package/dist/middle_layer/ops.cjs +75 -0
- package/dist/middle_layer/ops.cjs.map +1 -0
- package/dist/middle_layer/ops.d.ts +0 -1
- package/dist/middle_layer/ops.js +70 -0
- package/dist/middle_layer/ops.js.map +1 -0
- package/dist/middle_layer/project.cjs +446 -0
- package/dist/middle_layer/project.cjs.map +1 -0
- package/dist/middle_layer/project.d.ts +0 -1
- package/dist/middle_layer/project.js +444 -0
- package/dist/middle_layer/project.js.map +1 -0
- package/dist/middle_layer/project_list.cjs +53 -0
- package/dist/middle_layer/project_list.cjs.map +1 -0
- package/dist/middle_layer/project_list.d.ts +0 -1
- package/dist/middle_layer/project_list.js +48 -0
- package/dist/middle_layer/project_list.js.map +1 -0
- package/dist/middle_layer/project_overview.cjs +225 -0
- package/dist/middle_layer/project_overview.cjs.map +1 -0
- package/dist/middle_layer/project_overview.d.ts +0 -1
- package/dist/middle_layer/project_overview.js +204 -0
- package/dist/middle_layer/project_overview.js.map +1 -0
- package/dist/middle_layer/project_overview_light.cjs +20 -0
- package/dist/middle_layer/project_overview_light.cjs.map +1 -0
- package/dist/middle_layer/project_overview_light.d.ts +0 -1
- package/dist/middle_layer/project_overview_light.js +18 -0
- package/dist/middle_layer/project_overview_light.js.map +1 -0
- package/dist/middle_layer/render.cjs +26 -0
- package/dist/middle_layer/render.cjs.map +1 -0
- package/dist/middle_layer/render.d.ts +0 -1
- package/dist/middle_layer/render.js +23 -0
- package/dist/middle_layer/render.js.map +1 -0
- package/dist/middle_layer/render.test.d.ts +0 -1
- package/dist/middle_layer/types.d.ts +0 -1
- package/dist/middle_layer/util.cjs +22 -0
- package/dist/middle_layer/util.cjs.map +1 -0
- package/dist/middle_layer/util.d.ts +0 -1
- package/dist/middle_layer/util.js +20 -0
- package/dist/middle_layer/util.js.map +1 -0
- package/dist/model/args.cjs +62 -0
- package/dist/model/args.cjs.map +1 -0
- package/dist/model/args.d.ts +0 -1
- package/dist/model/args.js +58 -0
- package/dist/model/args.js.map +1 -0
- package/dist/model/block_pack.d.ts +0 -1
- package/dist/model/block_pack_spec.cjs +11 -0
- package/dist/model/block_pack_spec.cjs.map +1 -0
- package/dist/model/block_pack_spec.d.ts +0 -1
- package/dist/model/block_pack_spec.js +8 -0
- package/dist/model/block_pack_spec.js.map +1 -0
- package/dist/model/frontend.d.ts +0 -1
- package/dist/model/index.d.ts +0 -1
- package/dist/model/project_helper.cjs +36 -0
- package/dist/model/project_helper.cjs.map +1 -0
- package/dist/model/project_helper.d.ts +0 -1
- package/dist/model/project_helper.js +34 -0
- package/dist/model/project_helper.js.map +1 -0
- package/dist/model/project_model.cjs +74 -0
- package/dist/model/project_model.cjs.map +1 -0
- package/dist/model/project_model.d.ts +0 -1
- package/dist/model/project_model.js +54 -0
- package/dist/model/project_model.js.map +1 -0
- package/dist/model/project_model.test.d.ts +0 -1
- package/dist/model/project_model_util.cjs +176 -0
- package/dist/model/project_model_util.cjs.map +1 -0
- package/dist/model/project_model_util.d.ts +0 -1
- package/dist/model/project_model_util.js +170 -0
- package/dist/model/project_model_util.js.map +1 -0
- package/dist/model/project_model_util.test.d.ts +0 -1
- package/dist/model/project_model_v1.cjs +9 -0
- package/dist/model/project_model_v1.cjs.map +1 -0
- package/dist/model/project_model_v1.d.ts +0 -1
- package/dist/model/project_model_v1.js +6 -0
- package/dist/model/project_model_v1.js.map +1 -0
- package/dist/model/template_spec.d.ts +0 -1
- package/dist/mutator/block-pack/block_pack.cjs +233 -0
- package/dist/mutator/block-pack/block_pack.cjs.map +1 -0
- package/dist/mutator/block-pack/block_pack.d.ts +0 -1
- package/dist/mutator/block-pack/block_pack.js +227 -0
- package/dist/mutator/block-pack/block_pack.js.map +1 -0
- package/dist/mutator/block-pack/block_pack.test.d.ts +0 -1
- package/dist/mutator/block-pack/frontend.cjs +21 -0
- package/dist/mutator/block-pack/frontend.cjs.map +1 -0
- package/dist/mutator/block-pack/frontend.d.ts +0 -1
- package/dist/mutator/block-pack/frontend.js +19 -0
- package/dist/mutator/block-pack/frontend.js.map +1 -0
- package/dist/mutator/context_export.cjs +26 -0
- package/dist/mutator/context_export.cjs.map +1 -0
- package/dist/mutator/context_export.d.ts +2 -3
- package/dist/mutator/context_export.js +23 -0
- package/dist/mutator/context_export.js.map +1 -0
- package/dist/mutator/migration.cjs +57 -0
- package/dist/mutator/migration.cjs.map +1 -0
- package/dist/mutator/migration.d.ts +0 -1
- package/dist/mutator/migration.js +55 -0
- package/dist/mutator/migration.js.map +1 -0
- package/dist/mutator/project.cjs +997 -0
- package/dist/mutator/project.cjs.map +1 -0
- package/dist/mutator/project.d.ts +0 -1
- package/dist/mutator/project.js +992 -0
- package/dist/mutator/project.js.map +1 -0
- package/dist/mutator/project.test.d.ts +0 -1
- package/dist/mutator/template/direct_template_loader.cjs +146 -0
- package/dist/mutator/template/direct_template_loader.cjs.map +1 -0
- package/dist/mutator/template/direct_template_loader.d.ts +0 -1
- package/dist/mutator/template/direct_template_loader.js +143 -0
- package/dist/mutator/template/direct_template_loader.js.map +1 -0
- package/dist/mutator/template/direct_template_loader_v3.cjs +139 -0
- package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -0
- package/dist/mutator/template/direct_template_loader_v3.d.ts +0 -1
- package/dist/mutator/template/direct_template_loader_v3.js +137 -0
- package/dist/mutator/template/direct_template_loader_v3.js.map +1 -0
- package/dist/mutator/template/render_block.cjs +43 -0
- package/dist/mutator/template/render_block.cjs.map +1 -0
- package/dist/mutator/template/render_block.d.ts +0 -1
- package/dist/mutator/template/render_block.js +34 -0
- package/dist/mutator/template/render_block.js.map +1 -0
- package/dist/mutator/template/render_template.cjs +35 -0
- package/dist/mutator/template/render_template.cjs.map +1 -0
- package/dist/mutator/template/render_template.d.ts +0 -1
- package/dist/mutator/template/render_template.js +33 -0
- package/dist/mutator/template/render_template.js.map +1 -0
- package/dist/mutator/template/template_loading.cjs +71 -0
- package/dist/mutator/template/template_loading.cjs.map +1 -0
- package/dist/mutator/template/template_loading.d.ts +0 -1
- package/dist/mutator/template/template_loading.js +60 -0
- package/dist/mutator/template/template_loading.js.map +1 -0
- package/dist/mutator/template/template_render.test.d.ts +0 -1
- package/dist/network_check/network_check.cjs +267 -0
- package/dist/network_check/network_check.cjs.map +1 -0
- package/dist/network_check/network_check.d.ts +0 -1
- package/dist/network_check/network_check.js +264 -0
- package/dist/network_check/network_check.js.map +1 -0
- package/dist/network_check/network_check.test.d.ts +0 -1
- package/dist/network_check/pings.cjs +107 -0
- package/dist/network_check/pings.cjs.map +1 -0
- package/dist/network_check/pings.d.ts +0 -1
- package/dist/network_check/pings.js +96 -0
- package/dist/network_check/pings.js.map +1 -0
- package/dist/network_check/template.cjs +318 -0
- package/dist/network_check/template.cjs.map +1 -0
- package/dist/network_check/template.d.ts +0 -1
- package/dist/network_check/template.js +302 -0
- package/dist/network_check/template.js.map +1 -0
- package/dist/network_check/template.test.d.ts +0 -1
- package/dist/network_check/test_utils.d.ts +0 -1
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.cjs +77 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.js +74 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/pool/data.cjs +298 -0
- package/dist/pool/data.cjs.map +1 -0
- package/dist/pool/data.d.ts +7 -9
- package/dist/pool/data.js +282 -0
- package/dist/pool/data.js.map +1 -0
- package/dist/pool/driver.cjs +620 -0
- package/dist/pool/driver.cjs.map +1 -0
- package/dist/pool/driver.d.ts +0 -1
- package/dist/pool/driver.js +598 -0
- package/dist/pool/driver.js.map +1 -0
- package/dist/pool/index.d.ts +0 -1
- package/dist/pool/p_object_collection.cjs +87 -0
- package/dist/pool/p_object_collection.cjs.map +1 -0
- package/dist/pool/p_object_collection.d.ts +0 -1
- package/dist/pool/p_object_collection.js +84 -0
- package/dist/pool/p_object_collection.js.map +1 -0
- package/dist/pool/ref_count_pool.cjs +58 -0
- package/dist/pool/ref_count_pool.cjs.map +1 -0
- package/dist/pool/ref_count_pool.d.ts +0 -1
- package/dist/pool/ref_count_pool.js +56 -0
- package/dist/pool/ref_count_pool.js.map +1 -0
- package/dist/pool/result_pool.cjs +265 -0
- package/dist/pool/result_pool.cjs.map +1 -0
- package/dist/pool/result_pool.d.ts +0 -1
- package/dist/pool/result_pool.js +263 -0
- package/dist/pool/result_pool.js.map +1 -0
- package/dist/test/block_packs.d.ts +0 -1
- package/dist/test/explicit_templates.d.ts +0 -1
- package/dist/test/known_templates.d.ts +0 -1
- package/dist/test_env.d.ts +0 -1
- package/dist/worker/WorkerManager.cjs +53 -0
- package/dist/worker/WorkerManager.cjs.map +1 -0
- package/dist/worker/WorkerManager.d.ts +0 -1
- package/dist/worker/WorkerManager.js +51 -0
- package/dist/worker/WorkerManager.js.map +1 -0
- package/dist/worker/worker.cjs +16 -0
- package/dist/worker/worker.cjs.map +1 -0
- package/dist/worker/worker.d.ts +0 -1
- package/dist/worker/worker.js +14 -0
- package/dist/worker/worker.js.map +1 -0
- package/dist/worker/workerApi.cjs +20 -0
- package/dist/worker/workerApi.cjs.map +1 -0
- package/dist/worker/workerApi.d.ts +1 -3
- package/dist/worker/workerApi.js +18 -0
- package/dist/worker/workerApi.js.map +1 -0
- package/package.json +25 -33
- package/src/cfg_render/executor.test.ts +5 -4
- package/src/model/project_model.test.ts +3 -3
- package/src/model/project_model_util.test.ts +3 -2
- package/src/mutator/block-pack/block_pack.test.ts +5 -4
- package/src/mutator/project.test.ts +4 -4
- package/src/mutator/template/template_render.test.ts +7 -6
- package/src/network_check/network_check.test.ts +1 -0
- package/src/network_check/test_utils.ts +2 -0
- package/src/worker/WorkerManager.ts +6 -8
- 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.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.map +0 -1
- package/dist/cfg_render/executor.test.d.ts.map +0 -1
- package/dist/cfg_render/operation.d.ts.map +0 -1
- package/dist/cfg_render/renderer.d.ts.map +0 -1
- package/dist/cfg_render/traverse.d.ts.map +0 -1
- package/dist/cfg_render/util.d.ts.map +0 -1
- package/dist/debug/index.d.ts.map +0 -1
- package/dist/dev_env/index.d.ts.map +0 -1
- package/dist/dev_env/util.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.mjs +0 -6742
- package/dist/index.mjs.map +0 -1
- package/dist/js_render/computable_context.d.ts.map +0 -1
- package/dist/js_render/context.d.ts.map +0 -1
- package/dist/js_render/index.d.ts.map +0 -1
- package/dist/middle_layer/active_cfg.d.ts.map +0 -1
- package/dist/middle_layer/block.d.ts.map +0 -1
- package/dist/middle_layer/block_ctx.d.ts.map +0 -1
- 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.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.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.map +0 -1
- package/dist/middle_layer/project_overview.d.ts.map +0 -1
- package/dist/middle_layer/project_overview_light.d.ts.map +0 -1
- package/dist/middle_layer/render.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/model/args.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/model/project_model_util.d.ts.map +0 -1
- package/dist/model/project_model_util.test.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/mutator/block-pack/frontend.d.ts.map +0 -1
- package/dist/mutator/context_export.d.ts.map +0 -1
- package/dist/mutator/migration.d.ts.map +0 -1
- package/dist/mutator/project.d.ts.map +0 -1
- package/dist/mutator/project.test.d.ts.map +0 -1
- package/dist/mutator/template/direct_template_loader.d.ts.map +0 -1
- package/dist/mutator/template/direct_template_loader_v3.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/network_check/network_check.d.ts.map +0 -1
- package/dist/network_check/network_check.test.d.ts.map +0 -1
- package/dist/network_check/pings.d.ts.map +0 -1
- package/dist/network_check/template.d.ts.map +0 -1
- package/dist/network_check/template.test.d.ts.map +0 -1
- 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/ref_count_pool.d.ts.map +0 -1
- package/dist/pool/result_pool.d.ts.map +0 -1
- package/dist/test/block_packs.d.ts.map +0 -1
- package/dist/test/explicit_templates.d.ts.map +0 -1
- package/dist/test/known_templates.d.ts.map +0 -1
- package/dist/test_env.d.ts.map +0 -1
- package/dist/worker/WorkerManager.d.ts.map +0 -1
- package/dist/worker/worker.d.ts.map +0 -1
- package/dist/worker/workerApi.d.ts.map +0 -1
- package/dist/worker.js +0 -2
- package/dist/worker.js.map +0 -1
- package/dist/worker.mjs +0 -20
- package/dist/worker.mjs.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,76 +1,16 @@
|
|
|
1
|
-
"use strict";var Nn=Object.defineProperty;var Ar=(s,e)=>(e=Symbol[s])?e:Symbol.for("Symbol."+s),Nr=s=>{throw TypeError(s)};var jn=(s,e,t)=>e in s?Nn(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var C=(s,e,t)=>jn(s,typeof e!="symbol"?e+"":e,t);var jr=(s,e,t)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&Nr("Object expected");var r,n;t&&(r=e[Ar("asyncDispose")]),r===void 0&&(r=e[Ar("dispose")],t&&(n=r)),typeof r!="function"&&Nr("Object not disposable"),n&&(r=function(){try{n.call(this)}catch(i){return Promise.reject(i)}}),s.push([t,r,e])}else t&&s.push([t]);return e},Br=(s,e,t)=>{var r=typeof SuppressedError=="function"?SuppressedError:function(o,a,c,l){return l=Error(c),l.name="SuppressedError",l.error=o,l.suppressed=a,l},n=o=>e=t?new r(o,e,"An error was suppressed during disposal"):(t=!0,o),i=o=>{for(;o=s.pop();)try{var a=o[1]&&o[1].call(o[2]);if(o[0])return Promise.resolve(a).then(i,c=>(n(c),i()))}catch(c){n(c)}if(t)throw e};return i()};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("@platforma-sdk/model"),Q=require("@milaboratories/pl-model-middle-layer"),xr=require("@milaboratories/pl-deployments"),Ze=require("undici"),Z=require("@platforma-sdk/block-tools"),ae=require("node:fs"),_=require("node:path"),Bn=require("yaml"),w=require("@milaboratories/ts-helpers"),De=require("node:fs/promises"),xn=require("@milaboratories/resolve-helper"),h=require("@milaboratories/pl-client"),We=require("@milaboratories/pl-tree"),J=require("@milaboratories/computable"),te=require("node:crypto"),L=require("@milaboratories/pl-model-backend"),ze=require("lru-cache"),Vn=require("node:worker_threads"),Xs=require("denque"),me=require("@platforma-sdk/workflow-tengo"),ne=require("canonicalize"),Un=require("node:assert"),ge=require("quickjs-emscripten"),qn=require("@milaboratories/pl-errors"),Mn=require("remeda"),Ys=require("node:timers/promises"),H=require("@milaboratories/pl-drivers"),Qs=require("@milaboratories/pframes-rs-node"),Jn=require("node:diagnostics_channel"),Gn=require("node:stream/consumers"),Zs=require("node:os");function hr(s){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const t in s)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(s,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>s[t]})}}return e.default=s,Object.freeze(e)}const _n=hr(_),en=hr(De),Vr=hr(Mn);async function Ur(s){try{return await en.stat(s,{bigint:!0})}catch(e){if(e.code==="ENOENT")return;throw e}}const Kn=[Z.RegistryV1.PlPackageYamlConfigFile],Hn=[Z.RegistryV1.PlPackageJsonConfigFile],gr=["backend","dist","tengo","tpl","main.plj.gz"],mr=["config","dist","config.json"],tn=["frontend","dist"],qr="block-model/dist/config.json",Wn="block-ui/package.json",zn=[gr,mr,Kn,Hn,tn];async function Xn(s){return await Ur(_.join(s,...mr))!==void 0||await Ur(_.join(s,...gr))!==void 0}function ut(s,e){const t=xn.tryResolve(s,e);if(t===void 0)throw new Error(`Can't resolve ${e} against ${s}`);return t}async function Mr(s,e){if(_.isAbsolute(s)||(s=_.resolve(s)),await Xn(s))return{workflow:_.join(s,...gr),config:_.join(s,...mr),ui:_.join(s,...tn)};{const t=ut(s,qr),r=ut(s,qr),n=ut(s,Wn);return{workflow:t,config:r,ui:_.resolve(n,"..","dist")}}}async function Yn(s){try{return await ae.promises.readFile(s,"utf8")}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return;throw e}}async function Qn(s){try{return await ae.promises.stat(s,{bigint:!0})}catch(e){if(e instanceof Error&&"code"in e&&e.code==="ENOENT")return;throw e}}async function vr(s){let e=0n;for(const t of zn){const r=_.join(s,...t),n=await Qn(r);n!==void 0&&e<n.mtimeNs&&(e=n.mtimeNs)}return e.toString()}async function et(s){const e=await ae.promises.stat(s.components.workflow.main.file,{bigint:!0}),t=await ae.promises.stat(s.components.model.file,{bigint:!0});return(e.mtimeNs>t.mtimeNs?e.mtimeNs:t.mtimeNs).toString()}class Zn{constructor(e,t,r){this.v2Provider=e,this.registries=t,this.http=r}async getPackagesForRoot(e){const t=[],r=e.spec;switch(r.type){case"remote-v1":{const n=this.http!==void 0?{dispatcher:this.http}:{},o=await(await Ze.request(`${r.url}/${Z.RegistryV1.GlobalOverviewPath}`,n)).body.json();for(const a of o){const{organization:c,package:l,latestMeta:u,latestVersion:d}=a,p={organization:c,name:l,version:d},f={id:p,meta:{title:u.title??"No title",description:u.description??"No Description",organization:{name:c,url:"https://unknown.com"}},spec:{type:"from-registry-v1",id:p,registryUrl:r.url}};t.push({registryId:e.id,id:p,latestByChannel:{[Q.AnyChannel]:f,[Q.StableChannel]:f},allVersions:a.allVersions.map(y=>({version:y,channels:[]}))})}return t}case"remote-v2":return(await this.v2Provider.getRegistry(r.url).listBlockPacks()).map(n=>({...n,registryId:e.id}));case"local-dev":for(const n of await ae.promises.readdir(r.path,{withFileTypes:!0})){if(!n.isDirectory())continue;const i=_.join(r.path,n.name),o=await Yn(_.join(i,Z.RegistryV1.PlPackageYamlConfigFile));if(o!==void 0){const a=Z.RegistryV1.PlPackageConfigData.parse(Bn.parse(o)),c=await vr(i),l={organization:a.organization,name:a.package,version:"DEV"},u={id:l,meta:{title:a.meta.title??"No title",description:a.meta.description??"No Description",organization:{name:a.organization,url:"https://unknown.com"}},spec:{type:"dev-v2",folder:i,mtime:c}};t.push({registryId:e.id,id:l,latestByChannel:{[Q.AnyChannel]:u,[Q.StableChannel]:u},allVersions:[]})}else{let a=i,c=await Z.tryLoadPackDescription(a);if(c===void 0){for(const l of["block","meta"])if(a=_.join(i,l),c=await Z.tryLoadPackDescription(a),c!==void 0)break}if(c!==void 0){const l=await et(c),u={id:c.id,meta:await Z.BlockPackMetaEmbedAbsoluteBytes.parseAsync(c.meta),featureFlags:c.featureFlags,spec:{type:"dev-v2",folder:a,mtime:l}};t.push({registryId:e.id,id:c.id,latestByChannel:{[Q.AnyChannel]:u,[Q.StableChannel]:u},allVersions:[]})}}}return t;default:return w.assertNever(r)}}async listBlockPacks(){const e=[],t=[];for(const r of this.registries)t.push({...r,status:"online"}),e.push(...await this.getPackagesForRoot(r));return{registries:t,blockPacks:e}}async getOverview(e,t,r){var o;const n=(o=this.registries.find(a=>a.id===e))==null?void 0:o.spec;if(!n)throw new Error(`Registry with id "${e}" not found`);if(n.type!=="remote-v2")throw new Error('Only "remote-v2" registries support specific package version overview retrieval.');return await this.v2Provider.getRegistry(n.url).getSpecificOverview(t,r)}}class rn{constructor(e){C(this,"registries",new Map);this.http=e}getRegistry(e){const t=this.registries.get(e);if(t)return t;const r=new Z.RegistryV2Reader(Z.folderReaderByUrl(e,this.http));return this.registries.set(e,r),r}}const eo={type:"remote-v2",url:"https://blocks.pl-open.science/"},to={type:"remote-v1",url:"https://block.registry.platforma.bio/releases"},ro={type:"remote-v1",url:"https://block.registry.platforma.bio/dev"},so={groups:[{id:"default",label:"Default",blocks:[]}]},no={stagingRefreshTimestamp:0,blocksInLimbo:[]},oo={label:"New Project"},io={name:"UserProject",version:"2"},Xe="SchemaVersion",$e="2",yr="ProjectCreated",Le="ProjectLastModified",Ae="ProjectMeta",fe="ProjectStructure",Ye="BlockRenderingState",ao="BlockArgsAuthor/";function ar(s){return`${ao}${s}`}const cr="ProjectStructureAuthor",co="__serviceTemplate_";function lr(s){return`${co}${s}`}const dt=new Set(["blockPack","blockSettings","uiState","prodArgs","currentArgs","prodCtx","prodUiCtx","prodOutput"]);function W(s,e){return`${s}-${e}`}const lo=/^(?<blockId>.*)-(?<fieldName>blockPack|blockSettings|uiState|prodArgs|currentArgs|prodCtx|prodUiCtx|prodOutput|prodCtxPrevious|prodUiCtxPrevious|prodOutputPrevious|stagingCtx|stagingUiCtx|stagingOutput|stagingCtxPrevious|stagingUiCtxPrevious|stagingOutputPrevious)$/;function uo(s){const e=s.match(lo);if(e===null)return;const{blockId:t,fieldName:r}=e.groups;return{blockId:t,fieldName:r}}const po="projects",sn={name:"Projects",version:"1"},fo=s=>h.resourceTypesEqual(s.type,sn)?s.fields:[];async function ho(s,e,t,r){const n=await We.SynchronizedTreeState.init(s,e,{...r.ops.defaultTreeOptions,pruning:fo},r.logger);return{computable:J.Computable.make(o=>{const a=o.accessor(n.entry()).node(),c=t.getValue(o);if(a===void 0)return;const l=[];for(const u of a.listDynamicFields()){const d=a.traverse(u);if(d===void 0)continue;const p=w.notEmpty(d.getKeyValueAsJson(Ae)),f=w.notEmpty(d.getKeyValueAsJson(yr)),y=w.notEmpty(d.getKeyValueAsJson(Le));l.push({id:u,rid:d.id,created:new Date(f),lastModified:new Date(y),opened:c.indexOf(d.id)>=0,meta:p})}return l.sort(u=>-u.lastModified.valueOf()),l}).withStableType(),tree:n}}const go={name:"EphRenderTemplate",version:"1"},mo={name:"RenderTemplate",version:"1"};function tt(s,e,t,r,n){if(n.length===0)throw new Error("Zero output names provided");const i=t?s.createEphemeral(go):s.createStruct(mo),o=h.field(i,"template"),a=h.field(i,"inputs");return s.createField(o,"Input",e),s.createField(a,"Input",h.Pl.createPlMap(s,r,t)),s.lockInputs(i),h.Pl.futureRecord(s,i,n,"Output","outputs/")}const vo={name:"BContextEnd",version:"1"},yo={name:"BContext",version:"1"},wo="id",bo="parent/",So=["context","result"];function Jr(s,e,t){return tt(s,e,!0,t,So)}function Po(s){const e=s.createEphemeral(vo);return s.lock(e),e}function Gr(s,e){if(e.length===0)return Po(s);if(e.length===1)return e[0];const t=s.createEphemeral(yo);s.createField(h.field(t,wo),"Input",h.Pl.createPlString(s,te.randomUUID()));for(let r=0;r<e.length;r++)s.createField(h.field(t,`${bo}${r}`),"Input",e[r]);return s.lock(t),t}function nn(s,e){const t=new Map,r=(n,i,o)=>{const a=te.createHash("sha256");i.updateCacheKey(n,a,o);const c=a.digest("hex");if(!t.has(c)){const l=i.render(n,s,r,o);t.set(c,l)}return t.get(c)};return r(e.template,on,e.hashToSource)}const _r={updateCacheKey(s,e,t){e.update(L.PlTemplateLibV1.type.name).update(L.PlTemplateLibV1.type.version).update(s.name).update(s.version).update(Pe(s.name,t,s.sourceHash))},render(s,e,t,r){return e.createValue(L.PlTemplateLibV1.type,JSON.stringify(L.PlTemplateLibV1.fromV3Data(s,Pe(s.name,r,s.sourceHash)).data))}},Ue={updateCacheKey(s,e,t){e.update(L.PlTemplateSoftwareV1.type.name).update(L.PlTemplateSoftwareV1.type.version).update(s.name).update(s.version).update(Pe(s.name,t,s.sourceHash))},render(s,e,t,r){const n=L.PlTemplateSoftwareV1.fromV3Data(s,Pe(s.name,r,s.sourceHash)),i=e.createStruct(L.PlTemplateSoftwareV1.type,n.data);return e.setKValue(i,L.PlTemplateSoftwareV1.metaNameKey,JSON.stringify(n.name)),e.lock(i),i}},on={updateCacheKey(s,e,t){e.update(L.PlTemplateV1.type.name).update(L.PlTemplateV1.type.version).update(s.hashOverride??"no-override").update(s.name).update(s.version).update(Pe(s.name,t,s.sourceHash));const r=n=>(n.sort((i,o)=>i[0]===o[0]?0:i[0]<o[0]?-1:1),n);for(const[n,i]of r(Object.entries(s.libs??{})))e.update("lib:"+n),_r.updateCacheKey(i,e,t);for(const[n,i]of r(Object.entries(s.software??{})))e.update("soft:"+n),Ue.updateCacheKey(i,e,t);for(const[n,i]of r(Object.entries(s.assets??{})))e.update("asset:"+n),Ue.updateCacheKey(i,e,t);for(const[n,i]of r(Object.entries(s.templates??{})))e.update("tpl:"+n),this.updateCacheKey(i,e,t)},render(s,e,t,r){const n=e.createStruct(L.PlTemplateV1.type,JSON.stringify(L.PlTemplateV1.fromV3Data(s,Pe(s.name,r,s.sourceHash)).data));for(const[a,c]of Object.entries(s.libs??{})){const l=L.PlTemplateV1.libField(n,a);e.createField(l,"Input"),e.setField(l,t(c,_r,r))}for(const[a,c]of Object.entries(s.software??{})){const l=L.PlTemplateV1.swField(n,a);e.createField(l,"Input"),e.setField(l,t(c,Ue,r))}for(const[a,c]of Object.entries(s.assets??{})){const l=L.PlTemplateV1.swField(n,a);e.createField(l,"Input"),e.setField(l,t(c,Ue,r))}for(const[a,c]of Object.entries(s.templates??{})){const l=L.PlTemplateV1.tplField(n,a);e.createField(l,"Input"),e.setField(l,t(c,on,r))}if(e.lock(n),!s.hashOverride)return n;const i=e.createStruct(L.PlTemplateOverrideV1.type,JSON.stringify(L.PlTemplateOverrideV1.fromV3Data(s))),o=L.PlTemplateOverrideV1.tplField(i);return e.createField(o,"Service"),e.setField(o,n),e.lock(i),i}};function Pe(s,e,t){return w.notEmpty(e[t],`trying to get "${s}" source: sources map doesn't contain source hash ${t}`)}function Co(s,e){const t=L.parseTemplate(e.content),r=t.type;switch(r){case"pl.tengo-template.v2":return cn(s,t);case"pl.tengo-template.v3":return nn(s,t);default:w.assertNever(r)}}function ko(s,e){const t=e.data,r=t.type;switch(r){case"pl.tengo-template.v2":return cn(s,t);case"pl.tengo-template.v3":return nn(s,t);default:w.assertNever(r)}}const Kr={hash(s,e){e.update(L.PlTemplateLibV1.type.name).update(L.PlTemplateLibV1.type.version).update(s.name).update(s.version).update(s.src)},render(s,e,t){return e.createValue(L.PlTemplateLibV1.type,JSON.stringify(L.PlTemplateLibV1.fromV2Data(s).data))}},qe={hash(s,e){e.update(L.PlTemplateSoftwareV1.type.name).update(L.PlTemplateSoftwareV1.type.version).update(s.name).update(s.version).update(s.src)},render(s,e,t){const r=L.PlTemplateSoftwareV1.fromV2Data(s),n=e.createStruct(L.PlTemplateSoftwareV1.type,r.data);return e.setKValue(n,L.PlTemplateSoftwareV1.metaNameKey,JSON.stringify(r.name)),e.lock(n),n}},an={hash(s,e){e.update(L.PlTemplateV1.type.name).update(L.PlTemplateV1.type.version).update(s.hashOverride??"no-override").update(s.name).update(s.version).update(s.src);const t=r=>(r.sort((n,i)=>n[0]===i[0]?0:n[0]<i[0]?-1:1),r);for(const[r,n]of t(Object.entries(s.libs??{})))e.update("lib:"+r),Kr.hash(n,e);for(const[r,n]of t(Object.entries(s.software??{})))e.update("soft:"+r),qe.hash(n,e);for(const[r,n]of t(Object.entries(s.assets??{})))e.update("asset:"+r),qe.hash(n,e);for(const[r,n]of t(Object.entries(s.templates??{})))e.update("tpl:"+r),this.hash(n,e)},render(s,e,t){const r=e.createStruct(L.PlTemplateV1.type,JSON.stringify(L.PlTemplateV1.fromV2Data(s).data));for(const[o,a]of Object.entries(s.libs??{})){const c=L.PlTemplateV1.libField(r,o);e.createField(c,"Input"),e.setField(c,t(a,Kr))}for(const[o,a]of Object.entries(s.software??{})){const c=L.PlTemplateV1.swField(r,o);e.createField(c,"Input"),e.setField(c,t(a,qe))}for(const[o,a]of Object.entries(s.assets??{})){const c=L.PlTemplateV1.swField(r,o);e.createField(c,"Input"),e.setField(c,t(a,qe))}for(const[o,a]of Object.entries(s.templates??{})){const c=L.PlTemplateV1.tplField(r,o);e.createField(c,"Input"),e.setField(c,t(a,an))}if(e.lock(r),!s.hashOverride)return r;const n=e.createStruct(L.PlTemplateOverrideV1.type,JSON.stringify(L.PlTemplateOverrideV1.fromV2Data(s))),i=L.PlTemplateOverrideV1.tplField(n);return e.createField(i,"Service"),e.setField(i,r),e.lock(n),n}};function cn(s,e){const t=new Map,r=(n,i)=>{const o=te.createHash("sha256");i.hash(n,o);const a=o.digest("hex");if(!t.has(a)){const c=i.render(n,s,r);t.set(a,c)}return t.get(a)};return r(e,an)}const ln={name:"TengoTemplateGet",version:"1"},un="registry",dn="templateURI",pn="template",Ro={name:"TengoTemplatePack",version:"1"},Eo={name:"TengoTemplatePackConvert",version:"1"},Oo="templatePack",To="template";async function wr(s){switch(s.type){case"from-file":return{type:"explicit",content:await ae.promises.readFile(s.path)};case"from-registry":case"explicit":return s;case"prepared":return s;default:return w.assertNever(s)}}function Fo(s,e){const t=s.createStruct(ln),r=h.field(t,un),n=h.field(t,dn),i=h.field(t,pn);return s.setField(r,s.createValue(h.Pl.JsonString,Buffer.from(JSON.stringify(e.registry)))),s.setField(n,s.createValue(h.Pl.JsonString,Buffer.from(JSON.stringify(e.path)))),i}function Be(s,e){switch(e.type){case"from-registry":return Fo(s,e);case"explicit":return Co(s,e);case"prepared":return ko(s,e);default:return w.assertNever(e)}}const br={name:"Frontend/FromUrl",version:"1"},Sr={name:"Frontend/FromFolder",version:"1"};function Io(s,e){switch(e.type){case"url":return s.createValue(br,JSON.stringify({url:e.url}));case"local":return s.createValue(Sr,JSON.stringify({path:e.path,signature:e.signature}));default:return w.assertNever(e)}}class Do{constructor(){C(this,"nextMessageId",0);C(this,"worker");C(this,"pendingRequests",new Map);const e=typeof global<"u"&&"__WORKER_PATH__"in global?global.__WORKER_PATH__:_.resolve(void 0,"worker.js"),t=this.worker=new Vn.Worker(e,{workerData:{}});t.on("message",({id:r,data:n,error:i})=>{const{resolve:o,reject:a}=this.pendingRequests.get(r);this.pendingRequests.delete(r),i?a(new Error(i)):o(n)}),t.on("error",r=>{console.error("Worker error",r),this.rejectAllPendingRequests(r)})}rejectAllPendingRequests(e){Array.from(this.pendingRequests.values()).map(({reject:t})=>{t(e)})}async process(e,...t){return new Promise((r,n)=>{const i=++this.nextMessageId;this.pendingRequests.set(i,{resolve:r,reject:n}),this.worker.postMessage({id:i,type:e,args:t})})}async terminate(){this.rejectAllPendingRequests(new Error("Worker terminated")),await this.worker.terminate()}[Symbol.asyncDispose](){return this.terminate()}}const $o={name:"BlockPackCustom",version:"1"},fn="template",hn="frontend";function Hr(s){return s.endsWith("/")?s:`${s}/`}function Lo(s){return Buffer.from(s).toString("utf8")}function Me(s){return JSON.parse(Lo(s))}class Ao{constructor(e,t,r){C(this,"remoteContentCache",new ze.LRUCache({max:500,maxSize:128*1024*1024,fetchMethod:async e=>{const t=this.http!==void 0?{dispatcher:this.http}:{};return await(await Ze.request(e,t)).body.arrayBuffer()},sizeCalculation:e=>e.byteLength}));this.v2RegistryProvider=e,this.signer=t,this.http=r}async getBlockConfigContainer(e){switch(e.type){case"explicit":return e.config;case"prepared":return e.config;case"dev-v1":{const t=await Mr(e.folder),r=await ae.promises.readFile(t.config,{encoding:"utf-8"});return JSON.parse(r)}case"dev-v2":{const t=await Z.loadPackDescription(e.folder),r=await ae.promises.readFile(t.components.model.file,{encoding:"utf-8"});return JSON.parse(r)}case"from-registry-v1":{const t=`${Hr(e.registryUrl)}${Z.RegistryV1.packageContentPrefix({organization:e.id.organization,package:e.id.name,version:e.id.version})}`,r=await this.remoteContentCache.forceFetch(`${t}/config.json`);return Me(r)}case"from-registry-v2":{const r=await this.v2RegistryProvider.getRegistry(e.registryUrl).getComponents(e.id),n=await this.remoteContentCache.forceFetch(r.model.url);return Me(n)}default:return w.assertNever(e)}}async prepare(e){var n=[];try{if(e.type==="prepared")return e;const t=await this.prepareWithoutUnpacking(e);const r=jr(n,new Do,!0);return{...t,type:"prepared",template:{type:"prepared",data:await r.process("parseTemplate",t.template.content)}}}catch(i){var o=i,a=!0}finally{var c=Br(n,o,a);c&&await c}}async prepareWithoutUnpacking(e){switch(e.type){case"explicit":return e;case"dev-v1":{const t=await Mr(e.folder),r=await ae.promises.readFile(t.workflow),n=JSON.parse(await ae.promises.readFile(t.config,"utf-8")),i=t.ui;return{type:"explicit",template:{type:"explicit",content:r},config:n,frontend:{type:"local",path:i,signature:this.signer.sign(i)},source:e}}case"dev-v2":{const t=await Z.loadPackDescription(e.folder),r=JSON.parse(await ae.promises.readFile(t.components.model.file,{encoding:"utf-8"})),n=await ae.promises.readFile(t.components.workflow.main.file),i=t.components.ui.folder,o={...e};return e.mtime===void 0&&(o.mtime=await et(t)),{type:"explicit",template:{type:"explicit",content:n},config:r,frontend:{type:"local",path:i,signature:this.signer.sign(i)},source:o}}case"from-registry-v1":{const t=`${Hr(e.registryUrl)}${Z.RegistryV1.packageContentPrefix({organization:e.id.organization,package:e.id.name,version:e.id.version})}`,r=`${t}/template.plj.gz`,n=await this.remoteContentCache.forceFetch(r),i=new Uint8Array(n),o=await this.remoteContentCache.forceFetch(`${t}/config.json`),a=Me(o);return{type:"explicit",template:{type:"explicit",content:i},config:a,frontend:{type:"url",url:`${t}/frontend.tgz`},source:e}}case"from-registry-v2":{const r=await this.v2RegistryProvider.getRegistry(e.registryUrl).getComponents(e.id),n=async()=>Me(await this.remoteContentCache.forceFetch(r.model.url)),i=async()=>await this.remoteContentCache.forceFetch(r.workflow.main.url),[o,a]=await Promise.all([n(),i()]);return{type:"explicit",template:{type:"explicit",content:Buffer.from(a)},config:o,frontend:{type:"url",url:r.ui.url},source:e}}default:return w.assertNever(e)}}}function No(s,e){const t={config:e.config,source:e.source},r=s.createStruct($o,JSON.stringify(t));return s.createField(h.field(r,fn),"Input",Be(s,e.template)),s.createField(h.field(r,hn),"Input",Io(s,e.frontend)),s.lock(r),r}function Wr(s,e){switch(e.type){case"prepared":return No(s,e);default:return w.assertNever(e.type)}}function Je(s,e,t){return{__isRef:!0,blockId:s,name:e}}function jo(s){return typeof s=="object"&&s!==null&&"__isRef"in s&&s.__isRef===!0&&"blockId"in s&&"name"in s}function ur(s,e,t){const r=typeof e;switch(r){case"function":case"bigint":case"number":case"string":case"boolean":case"symbol":case"undefined":return;case"object":if(e===null)return;if(jo(e))t===void 0||t.has(e.blockId)?(s.upstreams.add(e.blockId),e.requireEnrichments&&s.upstreamsRequiringEnrichments.add(e.blockId)):s.missingReferences=!0;else if(Array.isArray(e))for(const n of e)ur(s,n,t);else for(const[,n]of Object.entries(e))ur(s,n,t);return;default:w.assertNever(r)}}function Bo(s,e){const t={upstreams:new Set,upstreamsRequiringEnrichments:new Set,missingReferences:!1};return ur(t,s,e),t}function oe(s){return{*[Symbol.iterator](){for(const e of s.groups)for(const t of e.blocks)yield t}}}class gn{constructor(e){C(this,"nodes");this.nodes=e}traverseIds(e,...t){const r=new Set;return this.traverse(e,t,n=>r.add(n.id)),r}traverseIdsExcludingRoots(e,...t){const r=this.traverseIds(e,...t);for(const n of t)r.delete(n);return r}traverse(e,t,r){let n=[...t];const i=new Set(n);for(;n.length>0;){const o=[];for(const a of n){const c=this.nodes.get(a);r(c),c[e].forEach(l=>{i.has(l)||(i.add(l),o.push(l))})}n=o}}}function dr(s){const e=new Map;let t;for(const{id:r}of oe(s)){const n={id:r,missingReferences:!1};e.set(r,n),t===void 0?(n.directUpstream=n.upstream=new Set,n.enrichments=n.enrichmentTargets=new Set):(n.directUpstream=n.upstream=new Set([t.id]),t.directDownstream=t.downstream=new Set([n.id]),t.enrichments=t.enrichmentTargets=new Set),t=n}return t!==void 0&&(t.directDownstream=t.downstream=new Set),new gn(e)}function Ke(s,e){const t=new Map,r=new gn(t),n=new Set;for(const{id:i}of oe(s)){const o=e(i);if(o===void 0)continue;const a=Bo(o.args,n),c=new Set([...a.upstreams,...r.traverseIds("enrichments",...a.upstreamsRequiringEnrichments)]),l=new Set;for(const{id:p}of oe(s)){if(p===i)break;if(c.has(p)){l.add(p);for(const f of r.traverseIdsExcludingRoots("upstream",p))l.delete(f)}}const u=o.enrichmentTargets===void 0?new Set(a.upstreams):new Set(o.enrichmentTargets.map(p=>p.blockId)),d={id:i,missingReferences:a.missingReferences,upstream:l,directUpstream:a.upstreams,enrichmentTargets:u,downstream:new Set,directDownstream:new Set,enrichments:new Set};t.set(i,d),a.upstreams.forEach(p=>t.get(p).directDownstream.add(i)),l.forEach(p=>t.get(p).downstream.add(i)),u.forEach(p=>{var f;return(f=t.get(p))==null?void 0:f.enrichments.add(i)}),n.add(i)}return r}function xo(s,e){if(s.size!==e.size)return!1;for(const t of s)if(!e.has(t))return!1;return!0}function pr(s,e){if(s.size>e.size)return pr(e,s);for(const t of s)if(e.has(t))return!0;return!1}function zr(s,e){const t=new Set,r=new Set,n=new Set;return s.nodes.forEach(i=>{const o=e.nodes.get(i.id);o===void 0?t.add(i.id):(!xo(i.upstream,o.upstream)||pr(i.upstream,n))&&n.add(i.id)}),e.nodes.forEach(i=>{s.nodes.has(i.id)?pr(i.upstream,n)&&n.add(i.id):r.add(i.id)}),{onlyInA:t,onlyInB:r,different:n}}let pt;async function mn(){if(pt===void 0){const s=await wr(me.Templates["pframes.export-pframe-for-ui"]);if(s.type!=="explicit")throw new Error("Unexpected prepared template type.");const e=te.createHash("sha256").update(s.content).digest("hex");pt={spec:s,hash:e}}return pt}function Vo(s,e,t){return tt(s,e,!0,{pf:t},["result"]).result}let ye;function ee(){return ye||(ye={logPFrameRequests:process.env.MI_LOG_PFRAMES!==void 0,dumpInitialTreeState:process.env.MI_DUMP_INITIAL_TREE_STATE!==void 0,logProjectMutationStat:process.env.MI_LOG_PROJECT_MUTATION_STAT!==void 0,logOutputRecalculations:process.env.MI_LOG_OUTPUT_RECALCULATIONS!==void 0},process.env.MI_LOG_OUTPUT_STATUS&&(ye.logOutputStatus=process.env.MI_LOG_OUTPUT_STATUS==="unstable-only"?"unstable-only":"any"),process.env.MI_LOG_TREE_STAT&&(ye.logTreeStats=process.env.MI_LOG_TREE_STAT==="cumulative"?"cumulative":"per-request"),ye)}function ft(s,e){let t=!1,r,n;return()=>{if(!t)return t=!0,r=s(),n=e(),n;const i=s();return r!==i&&(r=i,n=e()),e()}}class ht{constructor(e,t,r,n){C(this,"currentArgsC",ft(()=>this.fields.currentArgs.modCount,()=>w.cachedDeserialize(this.fields.currentArgs.value)));C(this,"prodArgsC",ft(()=>{var e;return(e=this.fields.prodArgs)==null?void 0:e.modCount},()=>{var t;const e=(t=this.fields.prodArgs)==null?void 0:t.value;if(e!==void 0)return w.cachedDeserialize(e)}));C(this,"productionStaleC",ft(()=>{var e;return`${this.fields.currentArgs.modCount}_${(e=this.fields.prodArgs)==null?void 0:e.modCount}`},()=>this.fields.prodArgs===void 0||Buffer.compare(this.fields.currentArgs.value,this.fields.prodArgs.value)!==0));this.id=e,this.fields=t,this.config=r,this.source=n}check(){if(this.fields.prodOutput===void 0!=(this.fields.prodCtx===void 0))throw new Error("inconsistent prod fields");if(this.fields.stagingOutput===void 0!=(this.fields.stagingCtx===void 0))throw new Error("inconsistent stage fields");if(this.fields.prodOutputPrevious===void 0!=(this.fields.prodCtxPrevious===void 0))throw new Error("inconsistent prod cache fields");if(this.fields.stagingOutputPrevious===void 0!=(this.fields.stagingCtxPrevious===void 0))throw new Error("inconsistent stage cache fields");if(this.fields.blockPack===void 0)throw new Error("no block pack field");if(this.fields.currentArgs===void 0)throw new Error("no current args field")}get currentArgs(){return this.currentArgsC()}get stagingRendered(){return this.fields.stagingCtx!==void 0}get productionRendered(){return this.fields.prodCtx!==void 0}get productionHasErrors(){var e;return((e=this.fields.prodUiCtx)==null?void 0:e.status)==="Error"}get requireProductionRendering(){return!this.productionRendered||this.productionStaleC()||this.productionHasErrors}get prodArgs(){return this.prodArgsC()}getTemplate(e){return e.getFutureFieldValue(h.Pl.unwrapHolder(e,this.fields.blockPack.ref),fn,"Input")}}const Uo=s=>{throw new Error(`No new block info for ${s}`)};class Qe{constructor(e,t,r,n,i,o,a,c,l,u,d,p){C(this,"globalModCount",0);C(this,"fieldsChanged",!1);C(this,"lastModifiedChanged",!1);C(this,"structureChanged",!1);C(this,"metaChanged",!1);C(this,"renderingStateChanged",!1);C(this,"blocksWithChangedInputs",new Set);C(this,"stagingGraph");C(this,"pendingProductionGraph");C(this,"actualProductionGraph");this.rid=e,this.tx=t,this.author=r,this.schema=n,this.lastModified=i,this.meta=o,this.struct=a,this.renderingState=c,this.blocksInLimbo=l,this.blockInfos=u,this.ctxExportTplHolder=d,this.projectHelper=p}fixProblemsAndMigrate(){this.blockInfos.forEach(t=>{(t.fields.prodArgs===void 0||t.fields.prodOutput===void 0||t.fields.prodCtx===void 0)&&this.deleteBlockFields(t.id,"prodArgs","prodOutput","prodCtx")});let e;this.blockInfos.forEach(t=>{t.fields.blockSettings===void 0&&(e===void 0&&(e=this.createJsonFieldValue(Q.InitialBlockSettings)),this.setBlockFieldObj(t.id,"blockSettings",e))})}get wasModified(){return this.lastModifiedChanged||this.structureChanged||this.fieldsChanged||this.metaChanged||this.renderingStateChanged}get structure(){return JSON.parse(JSON.stringify(this.struct))}getStagingGraph(){return this.stagingGraph===void 0&&(this.stagingGraph=dr(this.struct)),this.stagingGraph}getProductionGraphBlockInfo(e,t){const r=this.getBlockInfo(e);let n,i;if(t){if(r.fields.prodArgs===void 0)return;n=r.fields.prodArgs,i=r.prodArgs}else n=w.notEmpty(r.fields.currentArgs),i=r.currentArgs;const o=w.notEmpty(r.fields.blockPack);return h.isResourceId(n.ref)&&h.isResourceId(o.ref)?{args:i,enrichmentTargets:this.projectHelper.getEnrichmentTargets(()=>r.config,()=>i,{argsRid:n.ref,blockPackRid:o.ref})}:{args:i,enrichmentTargets:this.projectHelper.getEnrichmentTargets(()=>r.config,()=>i)}}getPendingProductionGraph(){return this.pendingProductionGraph===void 0&&(this.pendingProductionGraph=Ke(this.struct,e=>this.getProductionGraphBlockInfo(e,!1))),this.pendingProductionGraph}getActualProductionGraph(){return this.actualProductionGraph===void 0&&(this.actualProductionGraph=Ke(this.struct,e=>this.getProductionGraphBlockInfo(e,!0))),this.actualProductionGraph}getBlockInfo(e){const t=this.blockInfos.get(e);if(t===void 0)throw new Error(`No such block: ${e}`);return t}createJsonFieldValueByContent(e){const t=Buffer.from(e);return{ref:this.tx.createValue(h.Pl.JsonObject,t),value:t,status:"Ready"}}createJsonFieldValue(e){return this.createJsonFieldValueByContent(JSON.stringify(e))}getBlock(e){for(const t of oe(this.struct))if(t.id===e)return t;throw new Error("block not found")}setBlockFieldObj(e,t,r){const n=h.field(this.rid,W(e,t));if(r.ref===void 0)throw new Error("Can't set value with empty ref");this.getBlockInfo(e).fields[t]===void 0?this.tx.createField(n,"Dynamic",r.ref):this.tx.setField(n,r.ref),this.getBlockInfo(e).fields[t]={modCount:this.globalModCount++,...r},this.fieldsChanged=!0}setBlockField(e,t,r,n,i){this.setBlockFieldObj(e,t,{ref:r,status:n,value:i})}deleteBlockFields(e,...t){let r=!1;const n=this.getBlockInfo(e);for(const i of t){const o=n.fields;i in o&&(this.tx.removeField(h.field(this.rid,W(e,i))),delete o[i],this.fieldsChanged=!0,r=!0)}return r}updateLastModified(){this.lastModified=Date.now(),this.lastModifiedChanged=!0}resetStagingRefreshTimestamp(){this.renderingState.stagingRefreshTimestamp=Date.now(),this.renderingStateChanged=!0}resetStaging(e){var r,n,i;const t=this.getBlockInfo(e).fields;((r=t.stagingOutput)==null?void 0:r.status)==="Ready"&&((n=t.stagingCtx)==null?void 0:n.status)==="Ready"&&((i=t.stagingUiCtx)==null?void 0:i.status)==="Ready"&&(this.setBlockFieldObj(e,"stagingOutputPrevious",t.stagingOutput),this.setBlockFieldObj(e,"stagingCtxPrevious",t.stagingCtx),this.setBlockFieldObj(e,"stagingUiCtxPrevious",t.stagingUiCtx)),this.deleteBlockFields(e,"stagingOutput","stagingCtx","stagingUiCtx")&&this.resetStagingRefreshTimestamp()}resetProduction(e){var r,n,i;const t=this.getBlockInfo(e).fields;((r=t.prodOutput)==null?void 0:r.status)==="Ready"&&((n=t.prodCtx)==null?void 0:n.status)==="Ready"&&((i=t.prodUiCtx)==null?void 0:i.status)==="Ready"&&(this.setBlockFieldObj(e,"prodOutputPrevious",t.prodOutput),this.setBlockFieldObj(e,"prodCtxPrevious",t.prodCtx),this.setBlockFieldObj(e,"prodUiCtxPrevious",t.prodUiCtx)),this.deleteBlockFields(e,"prodOutput","prodCtx","prodUiCtx","prodArgs")}resetOrLimboProduction(e){var r,n;const t=this.getBlockInfo(e).fields;return((r=t.prodOutput)==null?void 0:r.status)==="Ready"&&((n=t.prodCtx)==null?void 0:n.status)==="Ready"?this.blocksInLimbo.has(e)?!1:(this.blocksInLimbo.add(e),this.renderingStateChanged=!0,this.deleteBlockFields(e,"prodOutputPrevious","prodCtxPrevious","prodUiCtxPrevious"),!0):this.deleteBlockFields(e,"prodOutput","prodCtx","prodUiCtx","prodArgs","prodOutputPrevious","prodCtxPrevious","prodUiCtxPrevious")}setStates(e){const t=[];let r=!1;for(const n of e){const i=this.getBlockInfo(n.blockId);let o=!1;for(const a of["args","uiState"]){if(!(a in n))continue;const c=n[a];if(c==null)throw new Error(`Can't set ${a} to null or undefined, please omit the key if you don't want to change it`);const l=a==="args"?"currentArgs":"uiState";let u,d=!1;if(a==="args")u=w.canonicalJsonBytes(c);else{const{data:f,isGzipped:y}=w.canonicalJsonGzBytes(c);u=f,d=y}if(Buffer.compare(i.fields[l].value,u)===0)continue;console.log("setting",l,d,u.length);const p=this.tx.createValue(d?h.Pl.JsonGzObject:h.Pl.JsonObject,u);this.setBlockField(n.blockId,l,p,"Ready",u),o=!0,a==="args"&&t.push(n.blockId)}o&&(this.blocksWithChangedInputs.add(n.blockId),r=!0)}this.getStagingGraph().traverse("downstream",t,({id:n})=>this.resetStaging(n)),r&&this.updateLastModified()}setBlockSettings(e,t){this.setBlockFieldObj(e,"blockSettings",this.createJsonFieldValue(t)),this.updateLastModified()}createProdCtx(e){const t=[];return e.forEach(r=>{var i;const n=this.getBlockInfo(r);if(((i=n.fields.prodCtx)==null?void 0:i.ref)===void 0)throw new Error("One of the upstreams staging is not rendered.");t.push(h.Pl.unwrapHolder(this.tx,n.fields.prodCtx.ref))}),Gr(this.tx,t)}createStagingCtx(e){const t=[];return e.forEach(r=>{var i,o;const n=this.getBlockInfo(r);if(((i=n.fields.stagingCtx)==null?void 0:i.ref)===void 0)throw new Error("One of the upstreams staging is not rendered.");t.push(h.Pl.unwrapHolder(this.tx,n.fields.stagingCtx.ref)),((o=n.fields.prodCtx)==null?void 0:o.ref)!==void 0&&t.push(h.Pl.unwrapHolder(this.tx,n.fields.prodCtx.ref))}),Gr(this.tx,t)}exportCtx(e){return Vo(this.tx,h.Pl.unwrapHolder(this.tx,this.ctxExportTplHolder),e)}renderStagingFor(e){this.resetStaging(e);const t=this.getBlockInfo(e),r=this.createStagingCtx(this.getStagingGraph().nodes.get(e).upstream);if(this.getBlock(e).renderingMode!=="Heavy")throw new Error("not supported yet");const n=t.getTemplate(this.tx),i=Jr(this.tx,n,{args:t.fields.currentArgs.ref,blockId:this.tx.createValue(h.Pl.JsonString,JSON.stringify(e)),isProduction:this.tx.createValue(h.Pl.JsonBool,JSON.stringify(!1)),context:r});this.setBlockField(e,"stagingCtx",h.Pl.wrapInEphHolder(this.tx,i.context),"NotReady"),this.setBlockField(e,"stagingUiCtx",this.exportCtx(i.context),"NotReady"),this.setBlockField(e,"stagingOutput",i.result,"NotReady")}renderProductionFor(e){this.resetProduction(e);const t=this.getBlockInfo(e),r=this.createProdCtx(this.getPendingProductionGraph().nodes.get(e).upstream);if(this.getBlock(e).renderingMode==="Light")throw new Error("Can't render production for light block.");const n=t.getTemplate(this.tx),i=Jr(this.tx,n,{args:t.fields.currentArgs.ref,blockId:this.tx.createValue(h.Pl.JsonString,JSON.stringify(e)),isProduction:this.tx.createValue(h.Pl.JsonBool,JSON.stringify(!0)),context:r});this.setBlockField(e,"prodCtx",h.Pl.wrapInEphHolder(this.tx,i.context),"NotReady"),this.setBlockField(e,"prodUiCtx",this.exportCtx(i.context),"NotReady"),this.setBlockField(e,"prodOutput",i.result,"NotReady"),this.setBlockFieldObj(e,"prodArgs",t.fields.currentArgs),this.blocksInLimbo.delete(e)&&(this.renderingStateChanged=!0)}initializeNewBlock(e,t){const r=new ht(e,{},k.extractConfig(t.blockPack.config),t.blockPack.source);this.blockInfos.set(e,r);const n=Wr(this.tx,t.blockPack);this.setBlockField(e,"blockPack",h.Pl.wrapInHolder(this.tx,n),"NotReady"),this.setBlockFieldObj(e,"blockSettings",this.createJsonFieldValue(Q.InitialBlockSettings)),this.setBlockFieldObj(e,"currentArgs",this.createJsonFieldValueByContent(t.args)),this.setBlockFieldObj(e,"uiState",this.createJsonFieldValueByContent(t.uiState??"{}")),r.check()}getFieldNamesToDuplicate(e){var n,i;const t=this.getBlockInfo(e).fields,r=(o,a)=>new Set([...o].filter(c=>!a.has(c)));return((n=t.prodOutput)==null?void 0:n.status)==="Ready"&&((i=t.prodCtx)==null?void 0:i.status)==="Ready"?this.blocksInLimbo.has(e)?dt:r(dt,new Set(["prodOutputPrevious","prodCtxPrevious","prodUiCtxPrevious"])):r(dt,new Set(["prodOutput","prodCtx","prodUiCtx","prodArgs","prodOutputPrevious","prodCtxPrevious","prodUiCtxPrevious"]))}initializeBlockDuplicate(e,t){const r=new ht(e,{},t.config,t.source);this.blockInfos.set(e,r);const n=this.getFieldNamesToDuplicate(e);for(const[i,o]of Object.entries(t.fields))n.has(i)&&o&&o.ref&&this.setBlockFieldObj(e,i,{ref:o.ref,status:o.status,value:o.value});this.resetOrLimboProduction(e),r.check()}updateStructure(e,t=Uo){const r=this.getStagingGraph(),n=this.getActualProductionGraph(),i=dr(e),o=zr(r,i);for(const l of o.onlyInA){const{fields:u}=this.getBlockInfo(l);this.deleteBlockFields(l,...Object.keys(u)),this.blockInfos.delete(l),this.blocksInLimbo.delete(l)&&(this.renderingStateChanged=!0)}for(const l of o.onlyInB)t(l);for(const l of o.different)this.resetStaging(l);const a=Ke(e,l=>this.getProductionGraphBlockInfo(l,!0)),c=zr(n,a);n.traverse("downstream",[...c.different],l=>{this.resetOrLimboProduction(l.id)}),(o.onlyInB.size>0||o.onlyInA.size>0||o.different.size>0)&&this.resetStagingRefreshTimestamp(),this.struct=e,this.structureChanged=!0,this.stagingGraph=void 0,this.pendingProductionGraph=void 0,this.actualProductionGraph=void 0,this.updateLastModified()}addBlock(e,t,r){const n=this.structure;if(r===void 0)n.groups[n.groups.length-1].blocks.push(e);else{let i=!1;for(const o of n.groups){const a=o.blocks.findIndex(c=>c.id===r);if(!(a<0)){o.blocks.splice(a,0,e),i=!0;break}}if(!i)throw new Error(`Can't find element with id: ${r}`)}this.updateStructure(n,i=>{if(i!==e.id)throw new Error("Unexpected");this.initializeNewBlock(i,t)})}duplicateBlock(e,t,r){const n=this.getBlock(e),i=this.getBlockInfo(e),o={id:t,label:n.label,renderingMode:n.renderingMode},a=this.structure;if(r===void 0)a.groups[a.groups.length-1].blocks.push(o);else{let c=!1;for(const l of a.groups){const u=l.blocks.findIndex(d=>d.id===r);if(!(u<0)){l.blocks.splice(u+1,0,o),c=!0;break}}if(!c)throw new Error(`Can't find element with id: ${r}`)}this.updateStructure(a,c=>{if(c!==t)throw new Error("Unexpected");this.initializeBlockDuplicate(c,i)})}deleteBlock(e){const t=this.structure;let r=!1;for(const n of t.groups){const i=n.blocks.findIndex(o=>o.id===e);if(!(i<0)){n.blocks.splice(i,1),r=!0;break}}if(!r)throw new Error(`Can't find element with id: ${e}`);this.updateStructure(t)}migrateBlockPack(e,t,r){const n=this.getBlockInfo(e);this.setBlockField(e,"blockPack",h.Pl.wrapInHolder(this.tx,Wr(this.tx,t)),"NotReady"),r!==void 0?this.setStates([{blockId:e,args:r.args,uiState:r.uiState}]):this.getStagingGraph().traverse("downstream",[e],({id:i})=>this.resetStaging(i)),n.productionRendered&&this.getActualProductionGraph().traverse("downstream",[e],({id:i})=>this.resetOrLimboProduction(i)),this.updateLastModified()}renderProduction(e,t=!1){const r=new Set(e),n=this.getPendingProductionGraph();if(t)n.traverse("upstream",e,a=>{r.add(a.id)});else for(const a of r){const c=n.nodes.get(a);if(c===void 0)throw new Error(`Can't find block with id: ${a}`);for(const l of c.upstream)if(!r.has(l))throw new Error("Can't render blocks not including all upstreams.")}const i=new Set;for(const a of oe(this.structure)){if(!r.has(a.id))continue;let c=this.getBlockInfo(a.id).requireProductionRendering||this.blocksInLimbo.has(a.id);if(!c){for(const l of n.nodes.get(a.id).upstream)if(i.has(l)){c=!0;break}}c&&(this.renderProductionFor(a.id),i.add(a.id))}const o=[...i];return n.traverse("downstream",o,a=>{i.has(a.id)||this.resetOrLimboProduction(a.id)}),this.getStagingGraph().traverse("downstream",o,({id:a})=>{o[0]!==a&&this.resetStaging(a)}),i.size>0&&this.updateLastModified(),i}stopProduction(...e){var o,a;const t=this.getActualProductionGraph(),r=new Xs(e),n=new Set(e),i=[];for(;!r.isEmpty();){const c=r.shift(),l=this.getBlockInfo(c).fields;if(!(((o=l.prodOutput)==null?void 0:o.status)==="Ready"&&((a=l.prodCtx)==null?void 0:a.status)==="Ready")&&this.deleteBlockFields(c,"prodOutput","prodCtx","prodUiCtx","prodArgs")){i.push(c);for(const u of t.traverseIdsExcludingRoots("downstream",c))n.has(u)||(r.push(u),n.add(u))}}for(const c of t.traverseIdsExcludingRoots("downstream",...i))this.resetOrLimboProduction(c)}traverseWithStagingLag(e){const t=new Map;this.getStagingGraph().nodes.forEach(n=>{let o=this.getBlockInfo(n.id).stagingRendered?0:1;n.upstream.forEach(a=>{const c=t.get(a);c!==0&&(o=Math.max(c+1,o))}),e(n.id,o),t.set(n.id,o)})}refreshStagings(e){const t=Date.now()-this.renderingState.stagingRefreshTimestamp,r=e===void 0?void 0:1+Math.max(0,t*e/1e3);let n=0;this.traverseWithStagingLag((i,o)=>{o!==0&&(r===void 0||o<=r)&&(this.renderStagingFor(i),n++)}),n>0&&this.resetStagingRefreshTimestamp()}setMeta(e){this.meta=e,this.metaChanged=!0,this.updateLastModified()}doRefresh(e){this.refreshStagings(e),this.blockInfos.forEach(t=>{var r,n,i,o;((r=t.fields.prodCtx)==null?void 0:r.status)==="Ready"&&((n=t.fields.prodOutput)==null?void 0:n.status)==="Ready"&&this.deleteBlockFields(t.id,"prodOutputPrevious","prodCtxPrevious","prodUiCtxPrevious"),((i=t.fields.stagingCtx)==null?void 0:i.status)==="Ready"&&((o=t.fields.stagingOutput)==null?void 0:o.status)==="Ready"&&this.deleteBlockFields(t.id,"stagingOutputPrevious","stagingCtxPrevious","stagingUiCtxPrevious")})}assignAuthorMarkers(){const e=this.author?JSON.stringify(this.author):void 0;for(const t of this.blocksWithChangedInputs)e===void 0?this.tx.deleteKValue(this.rid,ar(t)):this.tx.setKValue(this.rid,ar(t),e);(this.metaChanged||this.structureChanged)&&(e===void 0?this.tx.deleteKValue(this.rid,cr):this.tx.setKValue(this.rid,cr,e))}save(){this.wasModified&&(this.lastModifiedChanged&&this.tx.setKValue(this.rid,Le,JSON.stringify(this.lastModified)),this.structureChanged&&this.tx.setKValue(this.rid,fe,JSON.stringify(this.struct)),this.renderingStateChanged&&this.tx.setKValue(this.rid,Ye,JSON.stringify({...this.renderingState,blocksInLimbo:[...this.blocksInLimbo]})),this.metaChanged&&this.tx.setKValue(this.rid,Ae,JSON.stringify(this.meta)),this.assignAuthorMarkers())}static async load(e,t,r,n){const i=t.getResourceData(r,!0),o=t.getKValueJson(r,Xe),a=t.getKValueJson(r,Le),c=t.getKValueJson(r,Ae),l=t.getKValueJson(r,fe),u=t.getKValueJson(r,Ye),d=await i,p=new Map;for(const m of d.fields){const v=uo(m.name);if(v===void 0)continue;let P=p.get(v.blockId);P===void 0&&(P={id:v.blockId,fields:{}},p.set(v.blockId,P)),P.fields[v.fieldName]=h.isNullResourceId(m.value)?{modCount:0}:{modCount:0,ref:m.value}}const f=[];p.forEach(m=>{const v=m.fields;for(const[P,S]of Object.entries(v)){if(S.ref===void 0)continue;if(!h.isResource(S.ref)||h.isResourceRef(S.ref))throw new Error("unexpected behaviour");const E=P;f.push([m,E,S,t.getResourceData(S.ref,E=="blockPack")])}});const[y,g,b,F,{stagingRefreshTimestamp:x,blocksInLimbo:D}]=await Promise.all([o,a,c,l,u]);if(y!==$e)throw Number(y)<Number($e)?new k.UiError("Can't perform this action on this project because it has older schema. Try (re)loading the project to update it."):new k.UiError("Can't perform this action on this project because it has newer schema. Upgrade your desktop app to the latest version.");const U=[];for(const[m,v,P,S]of f){const E=await S;if(P.value=E.data,h.isNotNullResourceId(E.error)?P.status="Error":E.resourceReady||h.isNotNullResourceId(E.originalResourceId)?P.status="Ready":P.status="NotReady",v==="blockPack"){const R=E.fields.find(I=>I.name===h.Pl.HolderRefField);if(R===void 0)throw new Error("Block pack ref field is missing");U.push([m,t.getResourceData(h.ensureResourceIdNotNull(R.value),!1)])}}for(const[m,v]of U){const P=await v,S=w.cachedDeserialize(w.notEmpty(P.data));m.blockConfig=k.extractConfig(S.config),m.blockPack=S.source}const q=await mn(),T=lr(q.hash),N=d.fields.find(m=>m.name===T);let O;N!==void 0?O=h.ensureResourceIdNotNull(N.value):(O=h.Pl.wrapInHolder(t,Be(t,q.spec)),t.createField(h.field(r,lr(q.hash)),"Dynamic",O));const K={stagingRefreshTimestamp:x},de=new Set(D),Y=new Map;p.forEach(({id:m,fields:v,blockConfig:P,blockPack:S})=>Y.set(m,new ht(m,v,w.notEmpty(P),w.notEmpty(S))));const G=new Set;for(const m of oe(F)){if(!Y.has(m.id))throw new Error(`Inconsistent project structure: no inputs for ${m.id}`);G.add(m.id)}Y.forEach(m=>{if(!G.has(m.id))throw new Error(`Inconsistent project structure: no structure entry for ${m.id}`);m.check()});const X=new Qe(r,t,n,y,g,b,F,K,de,Y,O,e);return X.fixProblemsAndMigrate(),X}}async function qo(s,e=oo){const t=s.createEphemeral(io);s.lock(t);const r=String(Date.now());s.setKValue(t,Xe,JSON.stringify($e)),s.setKValue(t,yr,r),s.setKValue(t,Le,r),s.setKValue(t,Ae,JSON.stringify(e)),s.setKValue(t,fe,JSON.stringify(so)),s.setKValue(t,Ye,JSON.stringify(no));const n=await mn();return s.createField(h.field(t,lr(n.hash)),"Dynamic",h.Pl.wrapInHolder(s,Be(s,n.spec))),t}async function Ge(s,e,t,r){return ie(s,e,t,void 0,r)}async function ie(s,e,t,r,n,i={}){if(e instanceof h.PlClient)return await e.withWriteTx("ProjectAction",async o=>{const a=await Qe.load(s,o,t,r),c=await n(a);return a.wasModified&&(a.save(),await o.commit(),ee().logProjectMutationStat&&console.log(JSON.stringify(o.stat))),c},i);{const o=await Qe.load(s,e,t,r),a=await n(o);return o.save(),a}}function*Mo(s){switch(s.type){case"Json":return;case"JsonPartitioned":for(const e of Object.values(s.parts))yield e;return;case"BinaryPartitioned":for(const{index:e,values:t}of Object.values(s.parts))yield e,yield t;return;case"ParquetPartitioned":for(const{data:e}of Object.values(s.parts))yield e;return;default:w.assertNever(s)}}function gt(s,e){return Object.fromEntries(Object.entries(s).map(([t,r])=>[t,e(r,t)]))}function Jo(s,e){switch(s.type){case"Json":return{...s};case"JsonPartitioned":return{...s,parts:gt(s.parts,e)};case"BinaryPartitioned":return{...s,parts:gt(s.parts,t=>({index:e(t.index),values:e(t.values)}))};case"ParquetPartitioned":return{...s,parts:gt(s.parts,t=>({...t,data:e(t.data)}))};default:w.assertNever(s)}}const Go=h.resourceType("PColumnData/JsonPartitioned","1"),_o=h.resourceType("PColumnData/Partitioned/JsonPartitioned","1"),Ko=h.resourceType("PColumnData/BinaryPartitioned","1"),Ho=h.resourceType("PColumnData/Partitioned/BinaryPartitioned","1"),Wo=h.resourceType("PColumnData/ParquetPartitioned","1"),zo=h.resourceType("PColumnData/Partitioned/ParquetPartitioned","1"),Xo=h.resourceType("PColumnData/Json","1");function Yo(s){if(!s.getIsReadyOrError())throw new k.PFrameDriverError("Data not ready.");const e=s.getDataAsJson();if(e===void 0)throw new k.PFrameDriverError("unexpected data info structure, no resource data");if(h.resourceTypesEqual(s.resourceType,Xo)){const t=e;return{type:"Json",keyLength:t.keyLength,data:t.data}}else if(h.resourceTypesEqual(s.resourceType,Go)){const t=e,r=Object.fromEntries(s.listInputFields().map(n=>[n,s.traverse({field:n,errorIfFieldNotSet:!0}).resourceInfo]));return{type:"JsonPartitioned",partitionKeyLength:t.partitionKeyLength,parts:r}}else if(h.resourceTypesEqual(s.resourceType,_o)){const t=e,r={};for(const n of s.listInputFields()){const i=s.traverse({field:n,errorIfFieldNotSet:!0}),o=i.listInputFields();if(o===void 0)throw new k.PFrameDriverError(`no partition keys for super key ${n}`);for(const a of o){const c=JSON.stringify([...JSON.parse(n),...JSON.parse(a)]);r[c]=i.traverse({field:a,errorIfFieldNotSet:!0}).resourceInfo}}return{type:"JsonPartitioned",partitionKeyLength:t.superPartitionKeyLength+t.partitionKeyLength,parts:r}}else if(h.resourceTypesEqual(s.resourceType,Ko)){const t=e,r={};for(const n of s.listInputFields())if(n.endsWith(".index")){const i=n.slice(0,n.length-6);let o=r[i];o===void 0&&(o={},r[i]=o),o.index=s.traverse({field:n,errorIfFieldNotSet:!0}).resourceInfo}else if(n.endsWith(".values")){const i=n.slice(0,n.length-7);let o=r[i];o===void 0&&(o={},r[i]=o),o.values=s.traverse({field:n,errorIfFieldNotSet:!0}).resourceInfo}else throw new k.PFrameDriverError(`unrecognized part field name: ${n}`);for(const[n,i]of Object.entries(r)){if(i.index===void 0)throw new k.PFrameDriverError(`no index for part ${n}`);if(i.values===void 0)throw new k.PFrameDriverError(`no values for part ${n}`)}return{type:"BinaryPartitioned",partitionKeyLength:t.partitionKeyLength,parts:r}}else if(h.resourceTypesEqual(s.resourceType,Ho)){const t=e,r={};for(const n of s.listInputFields()){const i=s.traverse({field:n,errorIfFieldNotSet:!0}),o=i.listInputFields();if(o===void 0)throw new k.PFrameDriverError(`no partition keys for super key ${n}`);for(const a of o)if(a.endsWith(".index")){const c=a.slice(0,a.length-6),l=JSON.stringify([...JSON.parse(n),...JSON.parse(c)]);let u=r[l];u===void 0&&(u={},r[l]=u),r[l].index=i.traverse({field:a,errorIfFieldNotSet:!0}).resourceInfo}else if(a.endsWith(".values")){const c=a.slice(0,a.length-7),l=JSON.stringify([...JSON.parse(n),...JSON.parse(c)]);let u=r[l];u===void 0&&(u={},r[l]=u),r[l].values=i.traverse({field:a,errorIfFieldNotSet:!0}).resourceInfo}else throw new k.PFrameDriverError(`unrecognized part field name: ${a}`)}return{type:"BinaryPartitioned",partitionKeyLength:t.superPartitionKeyLength+t.partitionKeyLength,parts:r}}else if(h.resourceTypesEqual(s.resourceType,Wo)){const t=e,r={};for(const n of s.listInputFields()){const i=s.traverse({field:n,assertFieldType:"Input",errorIfFieldNotSet:!0});r[n]=fr(i)}return{type:"ParquetPartitioned",partitionKeyLength:t.partitionKeyLength,parts:r}}else if(h.resourceTypesEqual(s.resourceType,zo)){const t=e,r={};for(const n of s.listInputFields()){const o=s.traverse({field:n,errorIfFieldNotSet:!0}).listInputFields();if(o===void 0)throw new k.PFrameDriverError(`no partition keys for super key ${n}`);for(const a of o){const c=s.traverse({field:a,errorIfFieldNotSet:!0}),l=JSON.stringify([...JSON.parse(n),...JSON.parse(a)]);r[l]=fr(c)}}return{type:"ParquetPartitioned",partitionKeyLength:t.superPartitionKeyLength+t.partitionKeyLength,parts:r}}throw new k.PFrameDriverError(`unsupported resource type: ${h.resourceTypeToString(s.resourceType)}`)}function fr(s){const e=s.traverse({field:"blob",assertFieldType:"Service",errorIfFieldNotSet:!0}).resourceInfo,t=s.getDataAsJson(),r=s.traverse({field:"mapping",assertFieldType:"Service",errorIfFieldNotSet:!0}).getDataAsJson();return{data:e,...t,...r}}function Qo(s,e){const t=s.axesSpec.length,r={};for(const{key:n,val:i}of e){if(n.length!==t)throw new k.PFrameDriverError(`inline column key length ${n.length} differs from axes count ${t}`);r[JSON.stringify(n)]=i}return{type:"Json",keyLength:t,data:r}}function Zo(s,e){const t=te.createHash("sha256");return t.update(ne(s)),t.update(String(h.isNullResourceId(e.originalId)?e.id:e.originalId)),t.digest().toString("hex")}function Xr(s,e){return ne({__isRef:!0,blockId:s,name:e})}function ei(s,e){return ne({resolvePath:s,name:e})}function vn(s,e=!0,t=!1,r=""){var a,c,l;const n=/^(?<name>.*)\.(?<type>spec|data)$/,i=new Map;for(const u of s.listInputFields()){const d=u.match(n);if(!d){if(e)throw new Error(`unexpected field name ${u}`);continue}let p=w.notEmpty((a=d.groups)==null?void 0:a.name);if(!p.startsWith(r)){if(e)throw new Error(`unexpected field name ${u}`);continue}p=p.slice(r.length);const f=w.notEmpty((c=d.groups)==null?void 0:c.type);let y=i.get(p);switch(y===void 0&&(y={},i.set(p,y)),f){case"spec":y.spec=(l=s.traverse({field:u,ignoreError:t,pureFieldErrorToUndefined:t}))==null?void 0:l.getDataAsJson();break;case"data":y.hasData=!0,y.data=()=>s.traverseOrError({field:u,ignoreError:t});break}}const o=s.getInputsLocked();if(o)for(const[,u]of i)u.data===void 0&&(u.hasData=!1);return{locked:o,results:i}}function ti(s,e=!0,t="",r){if(!s.getIsReadyOrError())throw new Error("resource is not ready");const n=vn(s,e,!1,t);Un(n.locked);const i={};for(const[o,a]of n.results){if(a.spec===void 0)throw new Error(`no spec for key ${o}`);if(a.hasData!==!0||a.data===void 0)throw new Error(`no data for key ${o}`);const c=a.data();if(c===void 0)throw new Error(`no data for key ${o}`);if(!c.ok)throw c.error;i[o]={id:r.length===0?Zo(a.spec,c.value):ei(r,o),spec:a.spec,data:c.value}}return i}class Pr{constructor(e,t){C(this,"allSpecsAvailable");this.ctx=e,this.blocks=t;let r=!0;e:for(const n of t.values())for(const i of[n.prod,n.staging])if(i!==void 0){if(!i.locked){r=!1;break e}for(const o of i.results.values())if(o.spec===void 0){r=!1;break e}}this.allSpecsAvailable=r}getSpecByRef(e,t){var i,o,a,c,l,u;const r=this.blocks.get(e);if(r===void 0)return;let n=(a=(o=(i=r.prod)==null?void 0:i.results)==null?void 0:o.get(t))==null?void 0:a.spec;if(n!==void 0||(n=(u=(l=(c=r.staging)==null?void 0:c.results)==null?void 0:l.get(t))==null?void 0:u.spec,n!==void 0))return n;r.staging===void 0?this.ctx.markUnstable(`staging_not_rendered:${e}`):r.staging.locked?r.prod!==void 0&&!r.prod.locked&&this.ctx.markUnstable(`prod_not_locked:${e}`):this.ctx.markUnstable(`staging_not_locked:${e}`)}getDataOrErrorByRef(e,t){var o,a,c;const r=this.blocks.get(e);if(r===void 0)return;const n=(a=(o=r.prod)==null?void 0:o.results)==null?void 0:a.get(t),i=(c=n==null?void 0:n.data)==null?void 0:c.call(n);if(n!==void 0&&n.spec!==void 0&&i!==void 0)return k.mapValueInVOE(i,l=>({id:Xr(e,t),spec:n.spec,data:l}));n!==void 0&&this.ctx.markUnstable(`no_data:${e}:${t}`),r.prod!==void 0&&!r.prod.locked&&this.ctx.markUnstable(`prod_not_locked:${e}`)}getDataByRef(e,t){const r=this.getDataOrErrorByRef(e,t);if(!(r===void 0||!r.ok))return r.value}getData(){const e=this.getDataWithErrors(),t=[];for(const r of e.entries)r.obj.id!==void 0&&r.obj.data.ok&&t.push({ref:r.ref,obj:{id:r.obj.id,spec:r.obj.spec,data:r.obj.data.value}});return{entries:t,isComplete:e.isComplete,instabilityMarker:e.instabilityMarker}}getDataWithErrors(){const e=[];let t=!0,r;const n=o=>{r===void 0&&(r=o),t=!1},i=(o,a,c)=>{if(c.spec!==void 0&&c.hasData===!0&&c.data!==void 0){const l=c.data();l!==void 0?e.push({ref:Je(o,a),obj:{id:l.ok?Xr(o,a):void 0,spec:c.spec,data:l}}):n(`no_data:${o}:${a}`)}};for(const[o,a]of this.blocks){const c=new Set;if(a.prod!==void 0){a.prod.locked||n(`prod_not_locked:${o}`);for(const[l,u]of a.prod.results)c.add(l),i(o,l,u)}if(a.staging!==void 0){a.staging.locked||n(`staging_not_locked:${o}`);for(const[l,u]of a.staging.results)c.has(l)||i(o,l,u)}}return{entries:e,isComplete:t,instabilityMarker:r}}getSpecs(){const e=[];let t=!0,r;const n=i=>{r===void 0&&(r=i),t=!1};for(const[i,o]of this.blocks){const a=new Set;if(o.staging!==void 0){o.staging.locked||n(`staging_not_locked:${i}`);for(const[c,l]of o.staging.results)l.spec!==void 0&&(e.push({ref:Je(i,c),obj:l.spec}),a.add(c))}else n(`staging_not_rendered:${i}`);if(o.prod!==void 0){o.prod.locked||n(`prod_not_locked:${i}`);for(const[c,l]of o.prod.results)a.has(c)||l.spec!==void 0&&e.push({ref:Je(i,c),obj:l.spec})}}return{entries:e,isComplete:t,instabilityMarker:r}}calculateOptions(e){const t=[];for(const r of this.blocks.values()){const n=new Set,i=o=>{for(const[a,c]of o.results)n.has(a)||c.spec===void 0||(n.add(a),k.executePSpecPredicate(e,c.spec)&&t.push({label:r.info.label+" / "+a,ref:Je(r.info.id,a),spec:c.spec}))};r.staging!==void 0&&i(r.staging),r.prod!==void 0&&i(r.prod)}return t}static create(e,t,r){const n=e.accessor(t).node(),i=w.notEmpty(n.getKeyValueAsJson(fe)),a=dr(i).traverseIds("upstream",r),c=new Map;for(const l of oe(i)){if(!a.has(l.id))continue;const u=Yr(n.traverse({field:W(l.id,"prodCtx"),ignoreError:!0,pureFieldErrorToUndefined:!0,stableIfNotFound:!0})!==void 0,n.traverseOrError({field:W(l.id,"prodUiCtx"),stableIfNotFound:!0})),d=Yr(n.traverse({field:W(l.id,"stagingCtx"),ignoreError:!0,pureFieldErrorToUndefined:!0})!==void 0,n.traverseOrError({field:W(l.id,"stagingUiCtx")}));c.set(l.id,{info:l,prod:u,staging:d})}return new Pr(e,c)}}function Yr(s,e){if(e===void 0)return s?{locked:!1,results:new Map}:void 0;if(e.ok)return vn(e.value,!1,!0)}function Cr(s,e){return{blockId:e,args:i=>w.cachedDecode(w.notEmpty(i.accessor(s).node().traverse({field:W(e,"currentArgs"),errorIfFieldNotSet:!0}).getData())),activeArgs:i=>{var a;const o=(a=i.accessor(s).node().traverse({field:W(e,"prodArgs"),stableIfNotFound:!0}))==null?void 0:a.getData();return o?w.cachedDecode(o):void 0},uiState:i=>{var a;const o=(a=i.accessor(s).node().traverse({field:W(e,"uiState"),stableIfNotFound:!0}))==null?void 0:a.getData();return o?w.cachedDecode(o):void 0},blockMeta:i=>{const o=i.accessor(s).node(),a=w.notEmpty(o.getKeyValueAsJson(fe)),c=new Map;for(const l of oe(a))c.set(l.id,l);return c}}}function yn(s,e){return{...Cr(s,e),prod:t=>{var r;return(r=t.accessor(s).node({ignoreError:!0}).traverse({field:W(e,"prodOutput"),stableIfNotFound:!0,ignoreError:!0}))==null?void 0:r.persist()},staging:t=>{var n;const r=(n=t.accessor(s).node({ignoreError:!0}).traverse({field:W(e,"stagingOutput"),ignoreError:!0}))==null?void 0:n.persist();return r===void 0&&t.markUnstable("staging_not_rendered"),r},getResultsPool:t=>Pr.create(t,s,e)}}function*se(s,e){switch(yield s,s.type){case"GetFromCtx":case"Immediate":return;case"Isolate":yield*se(s.cfg);return;case"MakeObject":for(const[,t]of Object.entries(s.template))yield*se(t);return;case"MakeArray":for(const t of s.template)yield*se(t);return;case"GetJsonField":case"GetResourceField":yield*se(s.source),yield*se(s.field);return;case"MapRecordValues":case"MapArrayValues":case"MapResourceFields":yield*se(s.source),yield*se(s.mapping);return;case"Flatten":case"GetResourceValueAsJson":case"GetBlobContent":case"ExtractArchiveAndGetURL":case"GetBlobContentAsString":case"GetBlobContentAsJson":case"GetDownloadedBlobContent":case"GetOnDemandBlobContent":case"GetImportProgress":case"GetLastLogs":case"GetProgressLog":case"GetProgressLogWithInfo":case"GetLogHandle":yield*se(s.source);return;case"IsEmpty":yield*se(s.arg);return;case"Not":yield*se(s.operand);return;case"And":case"Or":yield*se(s.operand1),yield*se(s.operand2);return;default:w.assertNever(s)}}function ri(s,e){const t={};for(const[r,n]of Object.entries(s))t[r]=e(n);return t}function Fe(s,e){return s===void 0?void 0:e(s)}function si(s){switch(s.type){case"GetImportProgress":return!0;default:return!1}}function ni(s){for(const e of se(s))if(si(e))return!0;return!1}function rt(s){return{type:"ReturnResult",result:s}}function A(s){return()=>rt(s)}const oi=s=>{const e={};for(const[t,r]of Object.entries(s))e[t]=r;return A(e)},ii=s=>{const e=s.source;if(e===void 0)return A(void 0);const t=[];for(const r of e)r instanceof Array?t.push(...r):t.push(r);return A(t)},ai=s=>{const e=s.source,t=s.field;return e===void 0||t===void 0?A(void 0):({cCtx:r})=>{var n;return rt((n=r.accessor(e).node().traverse(t))==null?void 0:n.persist())}};function wn(s,e){const t={},r=s.length;for(let n=0;n<r;n++)t[String(n)]=e(s[n]);return t}function ci(s,e){return t=>{const r=t.source;return r===void 0?A(void 0):()=>({type:"ScheduleSubroutine",subroutine:bn(r.length),args:wn(r,n=>B({...s,[e.itVar]:n},e.mapping))})}}function bn(s){return e=>{const t=[];for(let r=0;r<s;r++)t.push(e[String(r)]);return A(t)}}function li(s,e){return t=>{const r=t.source;if(r===void 0)return A(void 0);const n={};for(const[i,o]of Object.entries(r)){const a={...s,[e.itVar]:o};n[i]=B(a,e.mapping)}return()=>({type:"ScheduleSubroutine",subroutine:ui,args:n})}}const ui=s=>A(s),di=s=>{const e=s.arg;return A(e===void 0?void 0:e.length===0)},pi=s=>{const e=s.operand;return A(e===void 0?void 0:!e)},fi=s=>{const e=s.operand1,t=s.operand2;return A(e===void 0||t===void 0?void 0:e&&t)},hi=s=>{const e=s.operand1,t=s.operand2;return A(e===void 0||t===void 0?void 0:e||t)},gi=s=>{const e=s.source;return e===void 0?A(void 0):({cCtx:t})=>{var r;return rt((r=t.accessor(e).node())==null?void 0:r.getDataAsJson())}},mi=s=>{const e=s.source,t=s.field;return A(e===void 0||t===void 0?void 0:e[t])};function vi(s,e){return t=>{const r=t.source;return r===void 0?A(void 0):({cCtx:n})=>{const i=n.accessor(r).node(),o={};for(const a of i.listInputFields()){const c=i.traverse(a);if(c===void 0)o[a]=A(void 0);else{const l={...s,[e.itVar]:c.persist()};o[a]=B(l,e.mapping)}}return{type:"ScheduleSubroutine",subroutine:yi,args:o}}}}const yi=s=>A(s),wi=s=>e=>{const t=e.source;return t===void 0?A(void 0):({drivers:r})=>({type:"ScheduleComputable",computable:J.Computable.make(n=>r.blobDriver.getDownloadedBlob(n.accessor(t).node().resourceInfo),{postprocessValue:async n=>{if(n!==void 0)return await r.blobDriver.getContent(n.handle,s)}})})},bi=s=>e=>{const t=e.source;return t===void 0?A(void 0):({cCtx:r,drivers:n})=>{const i=r.accessor(t).node().resourceInfo;return{type:"ScheduleComputable",computable:J.Computable.make(o=>n.blobDriver.getDownloadedBlob(i,o),{postprocessValue:async o=>o===void 0?void 0:(await n.blobDriver.getContent(o.handle,s)).toString()})}}},Si=s=>e=>{const t=e.source;return t===void 0?A(void 0):({drivers:r})=>({type:"ScheduleComputable",computable:J.Computable.make(n=>r.blobDriver.getDownloadedBlob(n.accessor(t).node().resourceInfo,n),{postprocessValue:async n=>{if(n==null)return;const i=await r.blobDriver.getContent(n.handle,s);if(i!=null)return JSON.parse(Buffer.from(i).toString())}})})},Pi=s=>{const e=s.source;return e===void 0?A(void 0):t=>({type:"ScheduleComputable",computable:t.drivers.blobDriver.getDownloadedBlob(e)})},Ci=s=>{const e=s.source;return e===void 0?A(void 0):({drivers:t})=>({type:"ScheduleComputable",computable:t.blobDriver.getOnDemandBlob(e)})},ki=s=>e=>{const t=e.source;return t===void 0?A(void 0):({drivers:r})=>({type:"ScheduleComputable",computable:r.blobToURLDriver.extractArchiveAndGetURL(t,s)})},Ri=s=>{const e=s.source;return e===void 0?A(void 0):({drivers:t})=>({type:"ScheduleComputable",computable:t.uploadDriver.getProgressId(e)})},Ei=s=>e=>{const t=e.source;return t===void 0?A(void 0):({drivers:r})=>({type:"ScheduleComputable",computable:r.logDriver.getLastLogs(t,s)})},Oi=s=>e=>{const t=e.source;return t===void 0?A(void 0):({drivers:r})=>({type:"ScheduleComputable",computable:r.logDriver.getProgressLog(t,s)})},Ti=s=>e=>{const t=e.source;return t===void 0?A(void 0):({drivers:r})=>({type:"ScheduleComputable",computable:r.logDriver.getProgressLogWithInfo(t,s)})},Fi=s=>{const e=s.source;return e===void 0?A(void 0):({drivers:t})=>({type:"ScheduleComputable",computable:t.logDriver.getLogHandle(e)})};function B(s,e){switch(e.type){case"GetFromCtx":{const t=s[e.variable];return typeof t=="function"?r=>rt(t(r.cCtx)):A(t)}case"Isolate":return({drivers:t})=>({type:"ScheduleComputable",computable:Cn(t,s,e.cfg)});case"Immediate":return A(e.value);case"GetJsonField":return()=>({type:"ScheduleSubroutine",subroutine:mi,args:{source:B(s,e.source),field:B(s,e.field)}});case"MapArrayValues":return()=>({type:"ScheduleSubroutine",subroutine:ci(s,e),args:{source:B(s,e.source)}});case"MapRecordValues":return()=>({type:"ScheduleSubroutine",subroutine:li(s,e),args:{source:B(s,e.source)}});case"MakeObject":return()=>({type:"ScheduleSubroutine",subroutine:oi,args:ri(e.template,t=>B(s,t))});case"MakeArray":return()=>({type:"ScheduleSubroutine",subroutine:bn(e.template.length),args:wn(e.template,t=>B(s,t))});case"Flatten":return()=>({type:"ScheduleSubroutine",subroutine:ii,args:{source:B(s,e.source)}});case"IsEmpty":return()=>({type:"ScheduleSubroutine",subroutine:di,args:{arg:B(s,e.arg)}});case"Not":return()=>({type:"ScheduleSubroutine",subroutine:pi,args:{operand:B(s,e.operand)}});case"And":return()=>({type:"ScheduleSubroutine",subroutine:fi,args:{operand1:B(s,e.operand1),operand2:B(s,e.operand2)}});case"Or":return()=>({type:"ScheduleSubroutine",subroutine:hi,args:{operand1:B(s,e.operand1),operand2:B(s,e.operand2)}});case"MapResourceFields":return()=>({type:"ScheduleSubroutine",subroutine:vi(s,e),args:{source:B(s,e.source)}});case"GetResourceField":return()=>({type:"ScheduleSubroutine",subroutine:ai,args:{source:B(s,e.source),field:B(s,e.field)}});case"GetResourceValueAsJson":return()=>({type:"ScheduleSubroutine",subroutine:gi,args:{source:B(s,e.source)}});case"GetBlobContent":return()=>({type:"ScheduleSubroutine",subroutine:wi(e.range),args:{source:B(s,e.source)}});case"GetBlobContentAsString":return()=>({type:"ScheduleSubroutine",subroutine:bi(e.range),args:{source:B(s,e.source)}});case"GetBlobContentAsJson":return()=>({type:"ScheduleSubroutine",subroutine:Si(e.range),args:{source:B(s,e.source)}});case"GetDownloadedBlobContent":return()=>({type:"ScheduleSubroutine",subroutine:Pi,args:{source:B(s,e.source)}});case"GetOnDemandBlobContent":return()=>({type:"ScheduleSubroutine",subroutine:Ci,args:{source:B(s,e.source)}});case"ExtractArchiveAndGetURL":return()=>({type:"ScheduleSubroutine",subroutine:ki(e.format),args:{source:B(s,e.source)}});case"GetImportProgress":return()=>({type:"ScheduleSubroutine",subroutine:Ri,args:{source:B(s,e.source)}});case"GetLastLogs":return()=>({type:"ScheduleSubroutine",subroutine:Ei(e.lines),args:{source:B(s,e.source)}});case"GetProgressLog":return()=>({type:"ScheduleSubroutine",subroutine:Oi(e.patternToSearch),args:{source:B(s,e.source)}});case"GetProgressLogWithInfo":return()=>({type:"ScheduleSubroutine",subroutine:Ti(e.patternToSearch),args:{source:B(s,e.source)}});case"GetLogHandle":return()=>({type:"ScheduleSubroutine",subroutine:Fi,args:{source:B(s,e.source)}});default:return w.assertNever(e)}}const Ii=["$prod","$staging"];function Di(s){return{$blockId:s.blockId,$args:e=>JSON.parse(s.args(e)),$ui:e=>{const t=s.uiState(e);return t!==void 0?JSON.parse(t):void 0},$prod:s.prod,$staging:s.staging}}const Sn=Symbol(),Pn="return",$i={op:Sn,arg:Pn};function Li(s){return s.op==Sn&&s.arg==Pn}function Ai(){return{pendingSubroutines:new Map}}function Qr(s,e,t,r){const n=new Xs(t),i=(a,c)=>{if(Li(a))return e.result=c,!1;const l=w.notEmpty(e.pendingSubroutines.get(a.op));if(a.arg in l.args)throw new Error("argument already set");return l.args[a.arg]=c,l.argCounter--,l.argCounter===0&&(e.pendingSubroutines.delete(a.op),n.push({destination:l.destination,operation:l.subroutine(l.args)})),!0},o=[];e:for(;n.length>0;){const a=n.shift(),c=a.operation(s);switch(c.type){case"ReturnResult":if(!i(a.destination,c.result))break e;break;case"ScheduleSubroutine":{const l=Symbol(),u=Object.entries(c.args),d=u.length;if(d===0)n.push({destination:a.destination,operation:c.subroutine({})});else{for(const[p,f]of u)n.push({destination:{op:l,arg:p},operation:f});e.pendingSubroutines.set(l,{argCounter:d,args:{},subroutine:c.subroutine,destination:a.destination})}}break;case"ScheduleComputable":if(!r)throw new Error("asynchronous operations are forbidden in this context");o.push({destination:a.destination,computable:c.computable});break;default:w.assertNever(c)}}return o}function Ni(s,e,t,r={}){return Cn(s,Di(e),t,r)}function Cn(s,e,t,r={}){const n=`${e.blockId}#`+ne({ctx:Object.fromEntries(Object.entries(e).filter(([i])=>Ii.indexOf(i)===-1)),cfg:t});return J.Computable.makeRaw(i=>{const o={drivers:s,cCtx:i},a=Ai();return{ir:Qr(o,a,[{destination:$i,operation:B(e,t)}],!0),postprocessValue(l){const u=[];for(const y of l)u.push({destination:y.destination,operation:A(y.computable)});const d={drivers:s,get cCtx(){throw new Error("asynchronous operations are forbidden in this context")}},p=new Map;for(const[y,g]of a.pendingSubroutines)p.set(y,{...g,args:{...g.args}});const f={result:a.result,pendingSubroutines:p};if(Qr(d,f,u,!1),!("result"in f))throw new Error("illegal cfg rendering stack state, no result");return f.result}}},{...r,key:n})}function Zr(s){return s!==void 0?Buffer.from(s).toString("base64"):void 0}class ji{constructor(e,t,r,n,i){C(this,"computablesToResolve",{});C(this,"computableCtx");C(this,"accessors",new Map);C(this,"meta");C(this,"_resultPool");this.parent=e,this.blockCtx=t,this.env=r,this.featureFlags=n,this.computableCtx=i,this.meta=t.blockMeta(i)}resetComputableCtx(){this.computableCtx=void 0,this.accessors.clear()}getAccessorHandleByName(e){if(this.computableCtx===void 0)throw new Error("Accessors can't be used in this context");const t=(r,n)=>{if(!this.accessors.has(r)){const i=this.blockCtx[n];if(i===void 0)throw new Error("Staging context not available");const o=i(this.computableCtx);o?this.accessors.set(r,this.computableCtx.accessor(o).node({ignoreError:!0})):this.accessors.set(r,void 0)}return this.accessors.get(r)?r:void 0};if(e==="staging")return t("staging","staging");if(e==="main")return t("main","prod")}resolveWithCommon(e,t,...r){return this.wrapAccessor(this.getAccessor(e).traverseWithCommon(t,...r))}getResourceType(e){return this.getAccessor(e).resourceType}getInputsLocked(e){return this.getAccessor(e).getInputsLocked()}getOutputsLocked(e){return this.getAccessor(e).getOutputsLocked()}getIsReadyOrError(e){return this.getAccessor(e).getIsReadyOrError()}getIsFinal(e){return this.getAccessor(e).getIsFinal()}getError(e){return this.wrapAccessor(this.getAccessor(e).getError())}listInputFields(e){return this.getAccessor(e).listInputFields()}listOutputFields(e){return this.getAccessor(e).listOutputFields()}listDynamicFields(e){return this.getAccessor(e).listDynamicFields()}getKeyValueBase64(e,t){return Zr(this.getAccessor(e).getKeyValue(t))}getKeyValueAsString(e,t){return this.getAccessor(e).getKeyValueAsString(t)}getDataBase64(e){return Zr(this.getAccessor(e).getData())}getDataAsString(e){return this.getAccessor(e).getDataAsString()}parsePObjectCollection(e,t,r,...n){const i=this.getAccessor(e);if(!i.getIsReadyOrError())return;const o=ti(i,t,r,n),a={};for(const[c,l]of Object.entries(o))a[c]=k.mapPObjectData(l,u=>this.wrapAccessor(u));return a}registerComputable(e,t){const r=`${e}_${te.randomUUID()}`;return this.computablesToResolve[r]=t,r}getBlobContentAsString(e,t){const r=this.getAccessor(e).resourceInfo;return this.registerComputable("getBlobContentAsString",J.Computable.make(n=>this.env.driverKit.blobDriver.getDownloadedBlob(r,n),{postprocessValue:async n=>{if(n!==void 0)return Buffer.from(await this.env.driverKit.blobDriver.getContent(n.handle,t)).toString("utf-8")}}))}getBlobContentAsBase64(e,t){const r=this.getAccessor(e).resourceInfo;return this.registerComputable("getBlobContentAsBase64",J.Computable.make(n=>this.env.driverKit.blobDriver.getDownloadedBlob(r,n),{postprocessValue:async n=>{if(n!==void 0)return Buffer.from(await this.env.driverKit.blobDriver.getContent(n.handle,t)).toString("base64")}}))}getDownloadedBlobContentHandle(e){const t=this.getAccessor(e).resourceInfo;return this.registerComputable("getDownloadedBlobContentHandle",this.env.driverKit.blobDriver.getDownloadedBlob(t))}getOnDemandBlobContentHandle(e){const t=this.getAccessor(e).persist();return this.registerComputable("getOnDemandBlobContentHandle",this.env.driverKit.blobDriver.getOnDemandBlob(t))}extractArchiveAndGetURL(e,t){const r=this.getAccessor(e).persist();return this.registerComputable("extractArchiveAndGetURL",this.env.driverKit.blobToURLDriver.extractArchiveAndGetURL(r,t))}getImportProgress(e){const t=this.getAccessor(e).persist();return this.registerComputable("getImportProgress",this.env.driverKit.uploadDriver.getProgressId(t))}getLastLogs(e,t){const r=this.getAccessor(e).persist();return this.registerComputable("getLastLogs",this.env.driverKit.logDriver.getLastLogs(r,t))}getProgressLog(e,t){const r=this.getAccessor(e).persist();return this.registerComputable("getProgressLog",this.env.driverKit.logDriver.getProgressLog(r,t))}getProgressLogWithInfo(e,t){const r=this.getAccessor(e).persist();return this.registerComputable("getProgressLogWithInfo",this.env.driverKit.logDriver.getProgressLogWithInfo(r,t))}getLogHandle(e){const t=this.getAccessor(e).persist();return this.registerComputable("getLogHandle",this.env.driverKit.logDriver.getLogHandle(t))}getBlockLabel(e){const t=this.meta.get(e);if(t===void 0)throw new Error(`Block ${e} not found.`);return t.label}get resultPool(){if(this._resultPool===void 0){if(this.computableCtx===void 0)throw new Error("can't use result pool in this context (most porbably called from the future mapper)");this._resultPool=w.notEmpty(this.blockCtx.getResultsPool,"getResultsPool")(this.computableCtx)}return this._resultPool}calculateOptions(e){return this.resultPool.calculateOptions(e)}getDataFromResultPool(){const e=this.resultPool.getData();return e.instabilityMarker!==void 0&&this.computableCtx.markUnstable(`incomplete_result_pool:${e.instabilityMarker}`),{isComplete:e.isComplete,entries:e.entries.map(t=>({ref:t.ref,obj:k.mapPObjectData(t.obj,r=>this.wrapAccessor(r))}))}}getDataWithErrorsFromResultPool(){const e=this.resultPool.getDataWithErrors();return e.instabilityMarker!==void 0&&this.computableCtx.markUnstable(`incomplete_result_pool:${e.instabilityMarker}`),{isComplete:e.isComplete,entries:e.entries.map(t=>({ref:t.ref,obj:{id:t.obj.id,spec:t.obj.spec,data:k.mapValueInVOE(t.obj.data,r=>this.wrapAccessor(r))}}))}}getSpecsFromResultPool(){const e=this.resultPool.getSpecs();return e.instabilityMarker!==void 0&&this.computableCtx.markUnstable(`specs_from_pool_incomplete:${e.instabilityMarker}`),e}getSpecFromResultPoolByRef(e,t){return this.resultPool.getSpecByRef(e,t)}getDataFromResultPoolByRef(e,t){return k.mapPObjectData(this.resultPool.getDataByRef(e,t),r=>this.wrapAccessor(r))}createPFrame(e){if(this.computableCtx===void 0)throw new Error("can't instantiate PFrames from this context (most porbably called from the future mapper)");return this.env.driverKit.pFrameDriver.createPFrame(e.map(t=>k.mapPObjectData(t,r=>this.transformInputPData(r))),this.computableCtx)}createPTable(e){if(this.computableCtx===void 0)throw new Error("can't instantiate PTable from this context (most porbably called from the future mapper)");return this.env.driverKit.pFrameDriver.createPTable(k.mapPTableDef(e,t=>k.mapPObjectData(t,r=>this.transformInputPData(r))),this.computableCtx)}transformInputPData(e){return typeof e=="string"?this.getAccessor(e):k.isDataInfo(e)?k.mapDataInfo(e,t=>this.getAccessor(t)):e}getCurrentUnstableMarker(){var e;return(e=this.computableCtx)==null?void 0:e.unstableMarker}logInfo(e){this.env.blockEventDispatcher.logInfo(this.blockCtx.blockId,e)}logWarn(e){this.env.blockEventDispatcher.logWarn(this.blockCtx.blockId,e)}logError(e){this.env.blockEventDispatcher.logError(this.blockCtx.blockId,e)}getAccessor(e){const t=this.accessors.get(e);if(t===void 0)throw new Error("No such accessor");return t}wrapAccessor(e){if(e!==void 0){const t=te.randomUUID();return this.accessors.set(t,e),t}}injectCtx(e){const t=this.parent,r=t.vm;ge.Scope.withScope(n=>{const i=(o,a)=>{const c=(...l)=>{try{return a(...l)}catch(u){const d=t.errorRepo.setAndRecreateForQuickJS(u);throw r.newError(d)}};r.newFunction(o,c).consume(l=>r.setProp(e,o,l)),r.newFunction(o,a).consume(l=>r.setProp(e,o+"__internal__",l))};if(k.checkBlockFlag(this.featureFlags,"supportsLazyState"))i("args",()=>{if(this.computableCtx===void 0)throw new Error("Add dummy call to ctx.args outside the future lambda. Can't be directly used in this context.");return r.newString(this.blockCtx.args(this.computableCtx))}),i("uiState",()=>{if(this.computableCtx===void 0)throw new Error("Add dummy call to ctx.uiState outside the future lambda. Can't be directly used in this context.");return r.newString(this.blockCtx.uiState(this.computableCtx)??"{}")}),i("activeArgs",()=>{if(this.computableCtx===void 0)throw new Error("Add dummy call to ctx.activeArgs outside the future lambda. Can't be directly used in this context.");const o=this.blockCtx.activeArgs(this.computableCtx);return o===void 0?r.undefined:r.newString(o)});else{const o=this.blockCtx.args(this.computableCtx),a=this.blockCtx.activeArgs(this.computableCtx),c=this.blockCtx.uiState(this.computableCtx);r.setProp(e,"args",n.manage(r.newString(o))),r.setProp(e,"uiState",n.manage(r.newString(c??"{}"))),a!==void 0&&r.setProp(e,"activeArgs",n.manage(r.newString(a)))}i("getAccessorHandleByName",o=>t.exportSingleValue(this.getAccessorHandleByName(r.getString(o)),void 0)),i("resolveWithCommon",(o,a,...c)=>t.exportSingleValue(this.resolveWithCommon(r.getString(o),t.importObjectViaJson(a),...c.map(l=>t.importObjectViaJson(l))),void 0)),i("getResourceType",o=>t.exportObjectViaJson(this.getResourceType(r.getString(o)),void 0)),i("getInputsLocked",o=>t.exportSingleValue(this.getInputsLocked(r.getString(o)),void 0)),i("getOutputsLocked",o=>t.exportSingleValue(this.getOutputsLocked(r.getString(o)),void 0)),i("getIsReadyOrError",o=>t.exportSingleValue(this.getIsReadyOrError(r.getString(o)),void 0)),i("getIsFinal",o=>t.exportSingleValue(this.getIsFinal(r.getString(o)),void 0)),i("getError",o=>t.exportSingleValue(this.getError(r.getString(o)),void 0)),i("listInputFields",o=>t.exportObjectViaJson(this.listInputFields(r.getString(o)),void 0)),i("listOutputFields",o=>t.exportObjectViaJson(this.listInputFields(r.getString(o)),void 0)),i("listDynamicFields",o=>t.exportObjectViaJson(this.listInputFields(r.getString(o)),void 0)),i("getKeyValueBase64",(o,a)=>t.exportSingleValue(this.getKeyValueBase64(r.getString(o),r.getString(a)),void 0)),i("getKeyValueAsString",(o,a)=>t.exportSingleValue(this.getKeyValueAsString(r.getString(o),r.getString(a)),void 0)),i("getDataBase64",o=>t.exportSingleValue(this.getDataBase64(r.getString(o)),void 0)),i("getDataAsString",o=>t.exportSingleValue(this.getDataAsString(r.getString(o)),void 0)),i("parsePObjectCollection",(o,a,c,...l)=>t.exportObjectUniversal(this.parsePObjectCollection(r.getString(o),r.dump(a),r.getString(c),...l.map(u=>r.getString(u))),void 0)),i("getBlobContentAsBase64",(o,a)=>t.exportSingleValue(this.getBlobContentAsBase64(r.getString(o),t.importObjectUniversal(a)),void 0)),i("getBlobContentAsString",(o,a)=>t.exportSingleValue(this.getBlobContentAsString(r.getString(o),t.importObjectUniversal(a)),void 0)),i("getDownloadedBlobContentHandle",o=>t.exportSingleValue(this.getDownloadedBlobContentHandle(r.getString(o)),void 0)),i("getOnDemandBlobContentHandle",o=>t.exportSingleValue(this.getOnDemandBlobContentHandle(r.getString(o)),void 0)),i("extractArchiveAndGetURL",(o,a)=>t.exportSingleValue(this.extractArchiveAndGetURL(r.getString(o),r.getString(a)),void 0)),i("getImportProgress",o=>t.exportSingleValue(this.getImportProgress(r.getString(o)),void 0)),i("getLastLogs",(o,a)=>t.exportSingleValue(this.getLastLogs(r.getString(o),r.getNumber(a)),void 0)),i("getProgressLog",(o,a)=>t.exportSingleValue(this.getProgressLog(r.getString(o),r.getString(a)),void 0)),i("getProgressLogWithInfo",(o,a)=>t.exportSingleValue(this.getProgressLogWithInfo(r.getString(o),r.getString(a)),void 0)),i("getLogHandle",o=>t.exportSingleValue(this.getLogHandle(r.getString(o)),void 0)),i("getBlockLabel",o=>t.exportSingleValue(this.getBlockLabel(r.getString(o)),void 0)),i("getDataFromResultPool",()=>t.exportObjectUniversal(this.getDataFromResultPool(),void 0)),i("getDataWithErrorsFromResultPool",()=>t.exportObjectUniversal(this.getDataWithErrorsFromResultPool(),void 0)),i("getSpecsFromResultPool",()=>t.exportObjectUniversal(this.getSpecsFromResultPool(),void 0)),i("calculateOptions",o=>t.exportObjectUniversal(this.calculateOptions(t.importObjectViaJson(o)),void 0)),i("getSpecFromResultPoolByRef",(o,a)=>t.exportObjectUniversal(this.getSpecFromResultPoolByRef(r.getString(o),r.getString(a)),void 0)),i("getDataFromResultPoolByRef",(o,a)=>t.exportObjectUniversal(this.getDataFromResultPoolByRef(r.getString(o),r.getString(a)),void 0)),i("createPFrame",o=>t.exportSingleValue(this.createPFrame(t.importObjectViaJson(o)),void 0)),i("createPTable",o=>t.exportSingleValue(this.createPTable(t.importObjectViaJson(o)),void 0)),i("getCurrentUnstableMarker",()=>t.exportSingleValue(this.getCurrentUnstableMarker(),void 0)),i("logInfo",o=>{this.logInfo(r.getString(o))}),i("logWarn",o=>{this.logWarn(r.getString(o))}),i("logError",o=>{this.logError(r.getString(o))})})}}function Bi(s){return s instanceof ArrayBuffer||ArrayBuffer.isView(s)}class Ne{constructor(e,t,r,n,i){C(this,"callbackRegistry");C(this,"fnJSONStringify");C(this,"fnJSONParse");C(this,"errorRepo",new xi);C(this,"computableHelper");if(this.scope=e,this.vm=t,this.deadlineSetter=r,this.callbackRegistry=this.scope.manage(this.vm.newObject()),this.fnJSONStringify=e.manage(t.getProp(t.global,"JSON").consume(o=>t.getProp(o,"stringify"))),t.typeof(this.fnJSONStringify)!=="function")throw new Error("JSON.stringify() not found.");if(this.fnJSONParse=e.manage(t.getProp(t.global,"JSON").consume(o=>t.getProp(o,"parse"))),t.typeof(this.fnJSONParse)!=="function")throw new Error("JSON.parse() not found.");i!==void 0&&(this.computableHelper=new ji(this,i.blockCtx,i.mlEnv,n,i.computableCtx)),this.injectCtx()}resetComputableCtx(){w.notEmpty(this.computableHelper,"Computable context helper is not initialized").resetComputableCtx()}static cleanErrorContext(e){typeof e=="object"&&e!==null&&"context"in e&&delete e.context}evaluateBundle(e){try{this.deadlineSetter({currentExecutionTarget:"evaluateBundle",deadline:Date.now()+1e4}),this.vm.unwrapResult(this.vm.evalCode(e,"bundle.js",{type:"global"})).dispose()}catch(t){throw Ne.cleanErrorContext(t),t}finally{this.deadlineSetter(void 0)}}runCallback(e,...t){try{return this.deadlineSetter({currentExecutionTarget:e,deadline:Date.now()+1e4}),ge.Scope.withScope(r=>{const n=r.manage(this.vm.getProp(this.callbackRegistry,e));if(this.vm.typeof(n)!=="function")throw new Error(`No such callback: ${e}`);return this.scope.manage(this.vm.unwrapResult(this.vm.callFunction(n,this.vm.undefined,...t.map(i=>this.exportObjectUniversal(i,r)))))})}catch(r){throw Ne.cleanErrorContext(r),this.errorRepo.getOriginal(r)}finally{this.deadlineSetter(void 0)}}exportSingleValue(e,t){const r=this.tryExportSingleValue(e,t);if(r===void 0)throw new Error(`Can't export value: ${e===void 0?"undefined":JSON.stringify(e)}`);return r}tryExportSingleValue(e,t){let r,n=!1;switch(typeof e){case"string":r=this.vm.newString(e),n=!0;break;case"number":r=this.vm.newNumber(e),n=!0;break;case"undefined":r=this.vm.undefined;break;case"boolean":r=e?this.vm.true:this.vm.false;break;default:if(e===null){r=this.vm.null;break}if(Bi(e)){r=this.vm.newArrayBuffer(e),n=!0;break}return}return n&&t!=null?t.manage(r):r}exportObjectUniversal(e,t){const r=this.tryExportSingleValue(e,t);return r!==void 0?r:this.exportObjectViaJson(e,t)}exportObjectViaJson(e,t){const r=this.vm.newString(JSON.stringify(e)).consume(n=>this.vm.unwrapResult(this.vm.callFunction(this.fnJSONParse,this.vm.undefined,n)));return t!==void 0?t.manage(r):r}importObjectUniversal(e){if(e!==void 0)switch(this.vm.typeof(e)){case"undefined":return;case"boolean":case"number":case"string":return this.vm.dump(e);default:return this.importObjectViaJson(e)}}importObjectViaJson(e){const t=this.vm.unwrapResult(this.vm.callFunction(this.fnJSONStringify,this.vm.undefined,e)).consume(r=>this.vm.getString(r));if(t!=="undefined")return JSON.parse(t)}injectCtx(){ge.Scope.withScope(e=>{const t=e.manage(this.vm.newObject());this.vm.setProp(t,"callbackRegistry",this.callbackRegistry),this.vm.setProp(t,"featureFlags",this.exportObjectUniversal(k.JsRenderInternal.GlobalCfgRenderCtxFeatureFlags,e)),this.computableHelper!==void 0&&this.computableHelper.injectCtx(t),this.vm.setProp(this.vm.global,"cfgRenderCtx",t)})}}class xi{constructor(){C(this,"errorIdToError",new Map)}setAndRecreateForQuickJS(e){const t=te.randomUUID();return this.errorIdToError.set(t,e),e instanceof Error?{name:`${e.name}/uuid:${t}`,message:e.message}:{name:`UnknownErrorQuickJS/uuid:${t}`,message:`${e}`}}getOriginal(e){if(!(e instanceof ge.errors.QuickJSUnwrapError))return console.warn("ErrorRepo: quickJSError is not a QuickJSUnwrapError",h.stringifyWithResourceId(e)),e;const t=e.cause;if(!(typeof t=="object"&&t!==null&&"name"in t&&typeof t.name=="string"))return console.warn("ErrorRepo: quickJSError.cause is not an Error (can be stack limit exceeded)",h.stringifyWithResourceId(e)),e;const r=t.name,n=r.slice(r.indexOf("/uuid:")+6);if(!n)throw new Error(`ErrorRepo: quickJSError.cause.name does not contain errorId: ${r}, ${h.stringifyWithResourceId(e)}`);const i=this.errorIdToError.get(n);if(i===void 0)throw new Error(`ErrorRepo: errorId not found: ${n}, ${h.stringifyWithResourceId(e)}`);return new qn.PlQuickJSError(e,i)}}function es(s,e,t,r,n){ee().logOutputStatus&&(ee().logOutputStatus==="any"||!t)&&console.log(t?`Stable output ${s} calculated ${e!==void 0?"defined":"undefined"}; (#${r})`:`Unstable output ${s}; marker = ${n}; ${e!==void 0?"defined":"undefined"} (#${r})`)}function Vi(s,e,t,r,n,i={}){const{code:o,featureFlags:a}=r,c=`${e.blockId}#lambda#${n}#${t.handle}`;return i={...i,key:c},i.mode===void 0&&t.retentive===!0&&(i.mode="StableOnlyRetentive"),J.Computable.makeRaw(l=>{ee().logOutputRecalculations&&console.log(`Block lambda recalculation : ${c} (${l.changeSourceMarker}; ${l.bodyInvocations} invocations)`);const u=new ge.Scope;let d=!1;l.addOnDestroy(()=>{d&&u.dispose()});try{const p=u.manage(s.quickJs.newRuntime());p.setMemoryLimit(1024*1024*8),p.setMaxStackSize(1024*320);let f;p.setInterruptHandler(()=>f===void 0?!1:Date.now()>f.deadline);const y=u.manage(p.newContext()),g=new Ne(u,y,D=>{f=D},a,{computableCtx:l,blockCtx:e,mlEnv:s});g.evaluateBundle(o.content);const b=g.runCallback(t.handle);g.resetComputableCtx();const F=g.computableHelper.computablesToResolve;if(Object.keys(F).length===0){const D=g.importObjectUniversal(b);return es(t.handle,D,l.unstableMarker===void 0,-1,l.unstableMarker),{ir:D}}let x=0;return ee().logOutputStatus&&console.log(`Output ${t.handle} scaffold calculated (not all computables resolved yet).`),d=!0,{ir:F,postprocessValue:(D,{unstableMarker:U,stable:q})=>{for(const[N,O]of Object.entries(D))g.runCallback(N,O);const T=g.importObjectUniversal(b);return x++,es(t.handle,T,q,x,U),T}}}catch(p){throw d=!1,p}finally{d||u.dispose()}},i)}function Ui(s,e,t,...r){const{code:n,featureFlags:i}=t,o=new ge.Scope;try{const a=o.manage(s.newRuntime());a.setMemoryLimit(1024*1024*8),a.setMaxStackSize(1024*320);let c;a.setInterruptHandler(()=>c===void 0?!1:Date.now()>c.deadline);const l=o.manage(a.newContext()),u=new Ne(o,l,d=>{c=d},i);return u.evaluateBundle(n.content),u.importObjectUniversal(u.runCallback(e.handle,...r))}finally{o.dispose()}}function qi(s){return k.isConfigLambda(s)?s.isActive===!0:ni(s)}function Ie(s,e,t,r,n,i={}){if(k.isConfigLambda(t)){if(r===void 0)throw new Error("No code bundle.");return Vi(s,e,t,r,n,i)}else return Ni(s.driverKit,e,t,i)}function je(s,e){return Fe(s.traverse({field:W(e,"blockPack"),assertFieldType:"Dynamic",errorIfFieldNotSet:!0},{field:h.Pl.HolderRefField,assertFieldType:"Input",errorIfFieldNotFound:!0}),t=>{const r=t.getDataAsJson(),n=k.extractConfig(r.config);return{bpResourceId:t.resourceInfo.id,bpId:t.resourceInfo.id.toString(),info:r,cfg:n}})}function Mi(s,e){if(s===e)return!0;if(s===void 0||e===void 0)return!1;const t=Vr.omitBy((r,n)=>n.startsWith("__"));return Vr.isDeepEqual(t(s),t(e))}function Ji(s,e,t){return J.Computable.make(r=>{var y,g,b,F,x,D,U,q;const n=r.accessor(s).node(),i=w.notEmpty(n.getKeyValueAsJson(yr)),o=w.notEmpty(n.getKeyValueAsJson(Le)),a=w.notEmpty(n.getKeyValueAsJson(Ae)),c=w.notEmpty(n.getKeyValueAsJson(fe)),l=w.notEmpty(n.getKeyValueAsJson(Ye)),u=new Map;for(const{id:T}of oe(c)){const N=n.traverse({field:W(T,"currentArgs"),assertFieldType:"Dynamic",errorIfFieldNotSet:!0}),O=N.getDataAsJson();let K;const de=n.traverse({field:W(T,"prodArgs"),assertFieldType:"Dynamic",stableIfNotFound:!0});if(de!==void 0){const Y=de.getDataAsJson(),G=n.getField({field:W(T,"prodOutput"),assertFieldType:"Dynamic",errorIfFieldNotFound:!0}),X=n.getField({field:W(T,"prodUiCtx"),assertFieldType:"Dynamic",errorIfFieldNotFound:!0});K={arguments:Y,stale:!Mi(O,Y),outputError:G.error!==void 0||X.error!==void 0||((y=G.value)==null?void 0:y.getError())!==void 0||((g=X.value)==null?void 0:g.getError())!==void 0,outputsError:((b=G.error)==null?void 0:b.getDataAsString())??((x=(F=G.value)==null?void 0:F.getError())==null?void 0:x.getDataAsString()),exportsError:((D=X.error)==null?void 0:D.getDataAsString())??((q=(U=X.value)==null?void 0:U.getError())==null?void 0:q.getDataAsString()),finished:(G.value!==void 0&&G.value.getIsReadyOrError()||G.error!==void 0&&G.error.getIsReadyOrError())&&(X.value!==void 0&&X.value.getIsReadyOrError()||X.error!==void 0&&X.error.getIsReadyOrError())}}u.set(T,{currentArguments:O,prod:K,argsRid:N.resourceInfo.id})}const d=Ke(c,T=>{const N=je(n,T),O=u.get(T),K=O.currentArguments;return{args:K,enrichmentTargets:t.projectHelper.getEnrichmentTargets(()=>N.cfg,()=>K,{argsRid:O.argsRid,blockPackRid:N.bpResourceId})}}),p=new Set(l.blocksInLimbo),f=[...oe(c)].map(({id:T,label:N,renderingMode:O})=>{var j,$,V,z,M;const K=w.notEmpty(u.get(T)),de=w.notEmpty(d.nodes.get(T));let Y="NotCalculated";K.prod!==void 0&&(p.has(T)?Y="Limbo":Y=K.prod.finished?"Done":"Running");const G=je(n,T),{sections:X,title:m,inputsValid:v,sdkVersion:P,featureFlags:S,isIncompatibleWithRuntime:E}=Fe(G,({bpId:ce,cfg:ve})=>{if(!t.runtimeCapabilities.checkCompatibility(ve.featureFlags))return{isIncompatibleWithRuntime:!0,featureFlags:ve.featureFlags};const lt=Cr(s,T),pe=k.extractCodeWithInfo(ve);return{sections:Ie(t,lt,ve.sections,pe,ce).wrap({recover:Oe=>(t.logger.error("Error in block model sections"),t.logger.error(Oe),[])}),title:Fe(ve.title,Oe=>Ie(t,lt,Oe,pe,ce).wrap({recover:An=>(t.logger.error("Error in block model title"),t.logger.error(An),"Invalid title")})),inputsValid:Ie(t,lt,ve.inputsValid,pe,ce).wrap({recover:Oe=>(t.logger.error("Error in block model argsValid"),t.logger.error(Oe),!1)}),sdkVersion:pe==null?void 0:pe.sdkVersion,featureFlags:(pe==null?void 0:pe.featureFlags)??{},isIncompatibleWithRuntime:!1}})||{},R=n.traverse({field:W(T,"blockSettings"),assertFieldType:"Dynamic",errorIfFieldNotSet:!0}).getDataAsJson(),I=Fe(G,({info:ce})=>t.blockUpdateWatcher.get({currentSpec:ce.source,settings:R}));return{projectResourceId:h.resourceIdToString(s.rid),id:T,label:m??N,title:m??N,renderingMode:O,stale:((j=K.prod)==null?void 0:j.stale)!==!1||Y==="Limbo",missingReference:de.missingReferences,upstreams:[...d.traverseIdsExcludingRoots("upstream",T)],downstreams:[...d.traverseIdsExcludingRoots("downstream",T)],calculationStatus:Y,outputErrors:(($=K.prod)==null?void 0:$.outputError)===!0,outputsError:(V=K.prod)==null?void 0:V.outputsError,exportsError:(z=K.prod)==null?void 0:z.exportsError,settings:R,sections:X,inputsValid:v,updateInfo:{},currentBlockPack:(M=G==null?void 0:G.info)==null?void 0:M.source,updates:I,sdkVersion:P,featureFlags:S,isIncompatibleWithRuntime:E,navigationState:e.getState(T)}});return{meta:a,created:new Date(i),lastModified:new Date(o),authorMarker:n.getKeyValueAsJson(cr),blocks:f}},{postprocessValue:r=>{const n=new Set,i=new Set;return{...r,blocks:r.blocks.map(o=>{var u,d;o.inputsValid||n.add(o.id),o.stale&&i.add(o.id);const a=o.stale||o.upstreams.findIndex(p=>i.has(p))!==-1,c=(a||o.outputErrors)&&!!o.inputsValid&&!o.missingReference&&o.upstreams.findIndex(p=>n.has(p))===-1,l={...o,canRun:c,stale:a,updateSuggestions:((u=o.updates)==null?void 0:u.suggestions)??[],updatedBlockPack:(d=o.updates)==null?void 0:d.mainSuggestion};return delete l.updates,l})}}}).withStableType()}function Gi(s,e){const t=s.node();if(h.resourceTypesEqual(t.resourceType,br)){const r=t.getDataAsJson();if(r===void 0)throw new Error("No resource data.");return e.frontendDownloadDriver.getUrl(new URL(r.url)).withStableType()}else if(h.resourceTypesEqual(t.resourceType,Sr)){const r=t.getDataAsJson();if(r===void 0)throw new Error("No resource data.");return e.signer.verify(r.path,r.signature,`Frontend path signature mismatch for: ${r.path}`),r.path}else throw new Error(`Unsupported resource type: ${JSON.stringify(t.resourceType)}`)}function _i(s,e){if(s!==void 0)return J.Computable.make(t=>Gi(t.accessor(s),e),{postprocessValue:t=>{if(t!==void 0){if(typeof t=="string")return t;if(t.error!==void 0)throw new Error(t.error);return t.url}}}).withStableType()}function Ki(s,e,t){return J.Computable.make(r=>{var a;const n=r.accessor(s).node(),i=je(n,e),o=(a=n.traverse({field:W(e,"blockPack"),assertFieldType:"Dynamic"},{field:h.Pl.HolderRefField,assertFieldType:"Input",errorIfFieldNotFound:!0},{field:hn,assertFieldType:"Input"}))==null?void 0:a.persist();return{url:_i(o,t),sdkVersion:i==null?void 0:i.cfg.sdkVersion}},{mode:"StableOnlyLive"})}function kn(s,e,t){if(t===void 0)return J.Computable.make(o=>kn(s,e,o),{key:`inputs#${h.resourceIdToString(s.rid)}#${e}`});const r=t.accessor(s).node(),n=Cr(s,e),i=n.uiState(t);return{author:r.getKeyValueAsJson(ar(e)),args:w.deepFreeze(JSON.parse(n.args(t))),ui:i!==void 0?w.deepFreeze(JSON.parse(i)):void 0}}function Hi(s,e,t){const r="outputs#"+h.resourceIdToString(s.rid)+"#"+e;return J.Computable.make(n=>{ee().logOutputRecalculations&&console.log(`blockOutput recalculation : ${r} (${n.changeSourceMarker}; ${n.bodyInvocations} invocations)`);const i=n.accessor(s).node(),o=yn(s,e);return Fe(je(i,e),({cfg:a,bpId:c})=>{const l={};for(const[u,d]of Object.entries(a.outputs)){const p=Ie(t,o,d,k.extractCodeWithInfo(a),c);l[u]=J.Computable.wrapError(p,1)}return l})},{key:r}).withStableType()}function Wi(s,e){return J.Computable.make(t=>{const r=t.accessor(s).node(),n=w.notEmpty(r.getKeyValueAsJson(fe)),i=[];for(const{id:o}of oe(n)){const a=je(r,o);if(a===void 0)continue;const c=Object.entries(a.cfg.outputs).map(([,u])=>u).filter(u=>qi(u)).map(u=>u);if(c.length===0)continue;const l=yn(r.persist(),o);for(const u of c)i.push(J.Computable.wrapError(Ie(e,l,u,k.extractCodeWithInfo(a.cfg),a.bpId)))}return i})}class zi{constructor(){C(this,"states",new Map)}setState(e,t){const r=this.states.get(e);if(r===void 0){this.states.set(e,{state:t,change:new J.ChangeSource});return}r.state={...t},r.change.markChanged("navigation state changed")}readState(e,t){let r=this.states.get(t);return r===void 0&&(r={state:{...k.DefaultNavigationState},change:new J.ChangeSource},this.states.set(t,r)),r.change.attachWatcher(e.watcher),r.state}getState(e){return J.Computable.make(t=>this.readState(t,e),{key:`navigationState#${e}`})}deleteBlock(e){const t=this.states.get(e);t!==void 0&&(this.states.delete(e),t.change.markChanged("block deleted"))}}function Xi(s){return J.Computable.make(e=>{const t=e.accessor(s).node(),r=w.notEmpty(t.getKeyValueAsJson(fe));return{listOfBlocks:[...oe(r)].map(n=>n.id)}})}const Yi="1",Qi="BlockFrontendState/";async function Zi(s,e){await s.withWriteTx("ProjectMigration",async t=>{const r=await t.getKValueJson(e,Xe);if(r!==$e){if(r===Yi)await ea(t,e);else throw new Error(`Unknown project schema version: ${r}`);t.setKValue(e,Xe,JSON.stringify($e)),await t.commit()}})}async function ea(s,e){const[t,r]=await Promise.all([s.getKValueJson(e,fe),s.listKeyValues(e)]),n=new Map(r.map(i=>[i.key,i.value]));for(const i of oe(t)){const o=Qi+i.id,a=n.get(o),c=a?w.cachedDeserialize(a):{},l=s.createJsonGzValue(c),u=h.field(e,W(i.id,"uiState"));s.createField(u,"Dynamic",l),s.deleteKValue(e,o)}}function ts(s){return JSON.stringify(s,(e,t)=>typeof t=="bigint"?h.resourceIdToString(t):ArrayBuffer.isView(t)||t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof BigInt64Array||t instanceof BigUint64Array?Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("base64"):Buffer.isBuffer(t)?t.toString("base64"):t)}class st{constructor(e,t,r){C(this,"rid");C(this,"overview");C(this,"overviewLight");C(this,"navigationStates",new zi);C(this,"blockComputables",new Map);C(this,"blockFrontends",new Map);C(this,"activeConfigs");C(this,"refreshLoopResult");C(this,"abortController",new AbortController);C(this,"destroyed",!1);this.env=e,this.projectTree=r,this.overview=Ji(r.entry(),this.navigationStates,e).withPreCalculatedValueTree(),this.overviewLight=Xi(r.entry()).withPreCalculatedValueTree(),this.rid=t,this.refreshLoopResult=this.refreshLoop(),this.activeConfigs=Wi(r.entry(),e)}async refreshLoop(){for(;!this.destroyed;)try{await Ge(this.env.projectHelper,this.env.pl,this.rid,r=>{r.doRefresh(this.env.ops.stagingRenderingRate)}),await this.activeConfigs.getValue(),await Ys.setTimeout(this.env.ops.projectRefreshInterval,this.abortController.signal);const e=await this.overviewLight.getValue(),t=new Set(e.listOfBlocks);for(const r of this.blockComputables.keys())if(!t.has(r)){const n=this.blockComputables.get(r);n!=null&&n.fullState.resetState(),this.blockComputables.set(r,null)}}catch(e){if(h.isNotFoundError(e)){console.warn("project refresh routine terminated, because project was externally deleted");break}else if(!h.isTimeoutOrCancelError(e))throw new Error("Unexpected exception",{cause:e})}}async addBlock(e,t,r,n=void 0,i=te.randomUUID()){const o=await this.env.bpPreparer.prepare(t),a=await this.env.bpPreparer.getBlockConfigContainer(t),c=k.extractConfig(a);return await ie(this.env.projectHelper,this.env.pl,this.rid,n,l=>l.addBlock({id:i,label:e,renderingMode:c.renderingMode},{args:ne(c.initialArgs),uiState:ne(c.initialUiState),blockPack:o},r),{retryOptions:{...h.DefaultRetryOptions,backoffMultiplier:h.DefaultRetryOptions.backoffMultiplier*1.1}}),await this.projectTree.refreshState(),i}async duplicateBlock(e,t,r=void 0,n=te.randomUUID()){return await ie(this.env.projectHelper,this.env.pl,this.rid,r,i=>i.duplicateBlock(e,n,t)),await this.projectTree.refreshState(),n}async updateBlockPack(e,t,r=!1,n){const i=await this.env.bpPreparer.prepare(t),o=k.extractConfig(await this.env.bpPreparer.getBlockConfigContainer(t));await ie(this.env.projectHelper,this.env.pl,this.rid,n,a=>a.migrateBlockPack(e,i,r?{args:o.initialArgs,uiState:o.initialUiState}:void 0)),await this.projectTree.refreshState()}async deleteBlock(e,t){await ie(this.env.projectHelper,this.env.pl,this.rid,t,r=>r.deleteBlock(e)),this.navigationStates.deleteBlock(e),await this.projectTree.refreshState()}async reorderBlocks(e,t){await ie(this.env.projectHelper,this.env.pl,this.rid,t,r=>{const n=r.structure;if(n.groups.length!==1)throw new Error("Unexpected project structure, non-sinular block group");const i=n.groups[0];if(i.blocks.length!==e.length)throw new Error(`Lengh mismatch: ${i.blocks.length} !== ${e.length}`);if(new Set(e).size!==e.length)throw new Error("Repeated block ids");const o={groups:[{id:i.id,label:i.label,blocks:e.map(a=>{const c=i.blocks.find(l=>l.id===a);if(c===void 0)throw new Error(`Can't find block: ${a}`);return c})}]};r.updateStructure(o)}),await this.projectTree.refreshState()}async runBlock(e){await Ge(this.env.projectHelper,this.env.pl,this.rid,t=>t.renderProduction([e],!0)),await this.projectTree.refreshState()}async stopBlock(e){await Ge(this.env.projectHelper,this.env.pl,this.rid,t=>t.stopProduction(e)),await this.projectTree.refreshState()}async setBlockArgs(e,t,r){await ie(this.env.projectHelper,this.env.pl,this.rid,r,n=>n.setStates([{blockId:e,args:t}])),await this.projectTree.refreshState()}async setUiState(e,t,r){await ie(this.env.projectHelper,this.env.pl,this.rid,r,n=>n.setStates([{blockId:e,uiState:t}])),await this.projectTree.refreshState()}async setNavigationState(e,t){this.navigationStates.setState(e,t)}async setBlockArgsAndUiState(e,t,r,n){await ie(this.env.projectHelper,this.env.pl,this.rid,n,i=>{i.setStates([{blockId:e,args:t,uiState:r}])}),await this.projectTree.refreshState()}async setBlockSettings(e,t){await ie(this.env.projectHelper,this.env.pl,this.rid,void 0,r=>{r.setBlockSettings(e,t)}),await this.projectTree.refreshState()}async resetBlockArgsAndUiState(e,t){await this.env.pl.withWriteTx("BlockInputsReset",async r=>{const n=h.ensureResourceIdNotNull((await r.getField(h.field(this.rid,W(e,"blockPack")))).value),i=h.ensureResourceIdNotNull((await r.getField(h.field(n,h.Pl.HolderRefField))).value),o=await r.getResourceData(i,!1),a=k.extractConfig(w.cachedDeserialize(w.notEmpty(o.data)).config);await ie(this.env.projectHelper,r,this.rid,t,c=>{c.setStates([{blockId:e,args:a.initialArgs,uiState:a.initialUiState}])}),await r.commit()}),await this.projectTree.refreshState()}getBlockComputables(e){const t=this.blockComputables.get(e);if(t===null)throw new Error(`Block ${e} is deleted`);if(t===void 0){const r=Hi(this.projectTree.entry(),e,this.env),i={fullState:J.Computable.make(o=>({argsAndUiState:kn(this.projectTree.entry(),e,o),outputs:r,navigationState:this.navigationStates.getState(e),overview:this.overview}),{postprocessValue:o=>{var u,d,p;const a=(p=(d=(u=o.overview)==null?void 0:u.blocks)==null?void 0:d.find(f=>f.id==e))==null?void 0:p.sdkVersion,l=a&&ra(a)&&o.outputs!==void 0?na(o.outputs):o.outputs;return{...o.argsAndUiState,outputs:l,navigationState:o.navigationState}}}).withPreCalculatedValueTree()};return this.blockComputables.set(e,i),i}return t}getBlockState(e){return this.getBlockComputables(e).fullState}getBlockFrontend(e){const t=this.blockFrontends.get(e);if(t===void 0){const r=Ki(this.projectTree.entry(),e,this.env).withPreCalculatedValueTree();return this.blockFrontends.set(e,r),r}return t}async destroy(){this.destroyed=!0,this.abortController.abort(),await this.refreshLoopResult,await this.projectTree.terminate(),this.overview.resetState(),this.blockFrontends.forEach(e=>e.resetState()),this.blockComputables.forEach(e=>{e!==null&&e.fullState.resetState()}),this.activeConfigs.resetState()}async destroyAndAwaitTermination(){await this.destroy()}static async init(e,t){await Zi(e.pl,t),await Ge(e.projectHelper,e.pl,t,n=>{});const r=await We.SynchronizedTreeState.init(e.pl,t,{...e.ops.defaultTreeOptions,pruning:ta},e.logger);if(e.ops.debugOps.dumpInitialTreeState){const n=r.dumpState();n.sort((o,a)=>{var c,l;return(((c=a.data)==null?void 0:c.byteLength)??0)-(((l=o.data)==null?void 0:l.byteLength)??0)});const i=We.treeDumpStats(n);await De.writeFile(`${h.resourceIdToString(t)}.json`,ts(n)),await De.writeFile(`${h.resourceIdToString(t)}.stats.json`,ts(i))}return new st(e,t,r)}}function ta(s){if(s.type.name.startsWith("StreamWorkdir/"))return[];switch(s.type.name){case"BlockPackCustom":return s.fields.filter(e=>e.name!=="template");case"UserProject":return s.fields.filter(e=>!e.name.startsWith("__serviceTemplate"));case"Blob":return[];default:return s.fields}}function ra(s){return!sa(s,"1.26.0")}function sa(s,e){const t=s.split(".").map(Number),r=e.split(".").map(Number);return t[0]>r[0]||t[0]===r[0]&&t[1]>r[1]||t[0]===r[0]&&t[1]===r[1]&&t[2]>r[2]}function na(s){const e={};for(const[t,r]of Object.entries(s)){if(r.ok){e[t]=r;continue}e[t]={ok:!1,errors:r.errors.map(n=>typeof n=="string"?n:n.type=="PlError"&&n.fullMessage!==void 0?n.fullMessage:n.message),moreErrors:r.moreErrors}}return e}const kr={logger:new w.ConsoleLoggerAdapter,blobDriverOps:{cacheSoftSizeBytes:8*1024*1024*1024,rangesCacheMaxSizeBytes:8*1024*1024*1024,nConcurrentDownloads:10},frontendDownloadDriverOps:{cacheSoftSizeBytes:1*1024*1024*1024,withGunzip:!0,nConcurrentDownloads:50},downloadBlobToURLDriverOps:{cacheSoftSizeBytes:1*1024*1024*1024,nConcurrentDownloads:10},uploadDriverOps:{nConcurrentPartUploads:10,nConcurrentGetProgresses:10,pollingInterval:1e3,stopPollingDelay:1e3},logStreamDriverOps:{nConcurrentGetLogs:10,pollingInterval:1e3,stopPollingDelay:1e3},pFrameDriverOps:{pFrameConcurrency:1,pTableConcurrency:1,pFrameCacheMaxCount:18,pFramesCacheMaxSize:8*1024*1024*1024}};function Rr(s){return{blobDownloadPath:_.join(s,"download"),blobDownloadRangesCachePath:_.join(s,"downloadRangesCache"),downloadBlobToURLPath:_.join(s,"downloadToURL"),pframesSpillPath:_.join(s,"pframes")}}const Rn={...kr,defaultTreeOptions:{pollingInterval:350,stopPollingDelay:2500,initialTreeLoadingTimeout:100*60*60*1e3},debugOps:{dumpInitialTreeState:!1},devBlockUpdateRecheckInterval:1e3,projectRefreshInterval:700,stagingRenderingRate:5};function En(s){return{...Rr(s),frontendDownloadPath:_.join(s,"frontend")}}function oa(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var _e={exports:{}},mt,rs;function nt(){if(rs)return mt;rs=1;const s="2.0.0",e=256,t=Number.MAX_SAFE_INTEGER||9007199254740991,r=16,n=e-6;return mt={MAX_LENGTH:e,MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_SAFE_INTEGER:t,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:s,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},mt}var vt,ss;function ot(){return ss||(ss=1,vt=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{}),vt}var ns;function xe(){return ns||(ns=1,function(s,e){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:n}=nt(),i=ot();e=s.exports={};const o=e.re=[],a=e.safeRe=[],c=e.src=[],l=e.safeSrc=[],u=e.t={};let d=0;const p="[a-zA-Z0-9-]",f=[["\\s",1],["\\d",n],[p,r]],y=b=>{for(const[F,x]of f)b=b.split(`${F}*`).join(`${F}{0,${x}}`).split(`${F}+`).join(`${F}{1,${x}}`);return b},g=(b,F,x)=>{const D=y(F),U=d++;i(b,U,F),u[b]=U,c[U]=F,l[U]=D,o[U]=new RegExp(F,x?"g":void 0),a[U]=new RegExp(D,x?"g":void 0)};g("NUMERICIDENTIFIER","0|[1-9]\\d*"),g("NUMERICIDENTIFIERLOOSE","\\d+"),g("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),g("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),g("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),g("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),g("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),g("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),g("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),g("BUILDIDENTIFIER",`${p}+`),g("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),g("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),g("FULL",`^${c[u.FULLPLAIN]}$`),g("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),g("LOOSE",`^${c[u.LOOSEPLAIN]}$`),g("GTLT","((?:<|>)?=?)"),g("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),g("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),g("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),g("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),g("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),g("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),g("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),g("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),g("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?(?:${c[u.BUILD]})?(?:$|[^\\d])`),g("COERCERTL",c[u.COERCE],!0),g("COERCERTLFULL",c[u.COERCEFULL],!0),g("LONETILDE","(?:~>?)"),g("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",g("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),g("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),g("LONECARET","(?:\\^)"),g("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",g("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),g("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),g("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),g("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),g("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",g("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),g("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),g("STAR","(<|>)?=?\\s*\\*"),g("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),g("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(_e,_e.exports)),_e.exports}var yt,os;function Er(){if(os)return yt;os=1;const s=Object.freeze({loose:!0}),e=Object.freeze({});return yt=r=>r?typeof r!="object"?s:r:e,yt}var wt,is;function On(){if(is)return wt;is=1;const s=/^[0-9]+$/,e=(r,n)=>{const i=s.test(r),o=s.test(n);return i&&o&&(r=+r,n=+n),r===n?0:i&&!o?-1:o&&!i?1:r<n?-1:1};return wt={compareIdentifiers:e,rcompareIdentifiers:(r,n)=>e(n,r)},wt}var bt,as;function re(){if(as)return bt;as=1;const s=ot(),{MAX_LENGTH:e,MAX_SAFE_INTEGER:t}=nt(),{safeRe:r,t:n}=xe(),i=Er(),{compareIdentifiers:o}=On();class a{constructor(l,u){if(u=i(u),l instanceof a){if(l.loose===!!u.loose&&l.includePrerelease===!!u.includePrerelease)return l;l=l.version}else if(typeof l!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof l}".`);if(l.length>e)throw new TypeError(`version is longer than ${e} characters`);s("SemVer",l,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const d=l.trim().match(u.loose?r[n.LOOSE]:r[n.FULL]);if(!d)throw new TypeError(`Invalid Version: ${l}`);if(this.raw=l,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>t||this.major<0)throw new TypeError("Invalid major version");if(this.minor>t||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>t||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){const f=+p;if(f>=0&&f<t)return f}return p}):this.prerelease=[],this.build=d[5]?d[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(l){if(s("SemVer.compare",this.version,this.options,l),!(l instanceof a)){if(typeof l=="string"&&l===this.version)return 0;l=new a(l,this.options)}return l.version===this.version?0:this.compareMain(l)||this.comparePre(l)}compareMain(l){return l instanceof a||(l=new a(l,this.options)),o(this.major,l.major)||o(this.minor,l.minor)||o(this.patch,l.patch)}comparePre(l){if(l instanceof a||(l=new a(l,this.options)),this.prerelease.length&&!l.prerelease.length)return-1;if(!this.prerelease.length&&l.prerelease.length)return 1;if(!this.prerelease.length&&!l.prerelease.length)return 0;let u=0;do{const d=this.prerelease[u],p=l.prerelease[u];if(s("prerelease compare",u,d,p),d===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(d===void 0)return-1;if(d===p)continue;return o(d,p)}while(++u)}compareBuild(l){l instanceof a||(l=new a(l,this.options));let u=0;do{const d=this.build[u],p=l.build[u];if(s("build compare",u,d,p),d===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(d===void 0)return-1;if(d===p)continue;return o(d,p)}while(++u)}inc(l,u,d){if(l.startsWith("pre")){if(!u&&d===!1)throw new Error("invalid increment argument: identifier is empty");if(u){const p=`-${u}`.match(this.options.loose?r[n.PRERELEASELOOSE]:r[n.PRERELEASE]);if(!p||p[1]!==u)throw new Error(`invalid identifier: ${u}`)}}switch(l){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",u,d);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",u,d);break;case"prepatch":this.prerelease.length=0,this.inc("patch",u,d),this.inc("pre",u,d);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",u,d),this.inc("pre",u,d);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const p=Number(d)?1:0;if(this.prerelease.length===0)this.prerelease=[p];else{let f=this.prerelease.length;for(;--f>=0;)typeof this.prerelease[f]=="number"&&(this.prerelease[f]++,f=-2);if(f===-1){if(u===this.prerelease.join(".")&&d===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(p)}}if(u){let f=[u,p];d===!1&&(f=[u]),o(this.prerelease[0],u)===0?isNaN(this.prerelease[1])&&(this.prerelease=f):this.prerelease=f}break}default:throw new Error(`invalid increment argument: ${l}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return bt=a,bt}var St,cs;function Ce(){if(cs)return St;cs=1;const s=re();return St=(t,r,n=!1)=>{if(t instanceof s)return t;try{return new s(t,r)}catch(i){if(!n)return null;throw i}},St}var Pt,ls;function ia(){if(ls)return Pt;ls=1;const s=Ce();return Pt=(t,r)=>{const n=s(t,r);return n?n.version:null},Pt}var Ct,us;function aa(){if(us)return Ct;us=1;const s=Ce();return Ct=(t,r)=>{const n=s(t.trim().replace(/^[=v]+/,""),r);return n?n.version:null},Ct}var kt,ds;function ca(){if(ds)return kt;ds=1;const s=re();return kt=(t,r,n,i,o)=>{typeof n=="string"&&(o=i,i=n,n=void 0);try{return new s(t instanceof s?t.version:t,n).inc(r,i,o).version}catch{return null}},kt}var Rt,ps;function la(){if(ps)return Rt;ps=1;const s=Ce();return Rt=(t,r)=>{const n=s(t,null,!0),i=s(r,null,!0),o=n.compare(i);if(o===0)return null;const a=o>0,c=a?n:i,l=a?i:n,u=!!c.prerelease.length;if(!!l.prerelease.length&&!u){if(!l.patch&&!l.minor)return"major";if(l.compareMain(c)===0)return l.minor&&!l.patch?"minor":"patch"}const p=u?"pre":"";return n.major!==i.major?p+"major":n.minor!==i.minor?p+"minor":n.patch!==i.patch?p+"patch":"prerelease"},Rt}var Et,fs;function ua(){if(fs)return Et;fs=1;const s=re();return Et=(t,r)=>new s(t,r).major,Et}var Ot,hs;function da(){if(hs)return Ot;hs=1;const s=re();return Ot=(t,r)=>new s(t,r).minor,Ot}var Tt,gs;function pa(){if(gs)return Tt;gs=1;const s=re();return Tt=(t,r)=>new s(t,r).patch,Tt}var Ft,ms;function fa(){if(ms)return Ft;ms=1;const s=Ce();return Ft=(t,r)=>{const n=s(t,r);return n&&n.prerelease.length?n.prerelease:null},Ft}var It,vs;function le(){if(vs)return It;vs=1;const s=re();return It=(t,r,n)=>new s(t,n).compare(new s(r,n)),It}var Dt,ys;function ha(){if(ys)return Dt;ys=1;const s=le();return Dt=(t,r,n)=>s(r,t,n),Dt}var $t,ws;function ga(){if(ws)return $t;ws=1;const s=le();return $t=(t,r)=>s(t,r,!0),$t}var Lt,bs;function Or(){if(bs)return Lt;bs=1;const s=re();return Lt=(t,r,n)=>{const i=new s(t,n),o=new s(r,n);return i.compare(o)||i.compareBuild(o)},Lt}var At,Ss;function ma(){if(Ss)return At;Ss=1;const s=Or();return At=(t,r)=>t.sort((n,i)=>s(n,i,r)),At}var Nt,Ps;function va(){if(Ps)return Nt;Ps=1;const s=Or();return Nt=(t,r)=>t.sort((n,i)=>s(i,n,r)),Nt}var jt,Cs;function it(){if(Cs)return jt;Cs=1;const s=le();return jt=(t,r,n)=>s(t,r,n)>0,jt}var Bt,ks;function Tr(){if(ks)return Bt;ks=1;const s=le();return Bt=(t,r,n)=>s(t,r,n)<0,Bt}var xt,Rs;function Tn(){if(Rs)return xt;Rs=1;const s=le();return xt=(t,r,n)=>s(t,r,n)===0,xt}var Vt,Es;function Fn(){if(Es)return Vt;Es=1;const s=le();return Vt=(t,r,n)=>s(t,r,n)!==0,Vt}var Ut,Os;function Fr(){if(Os)return Ut;Os=1;const s=le();return Ut=(t,r,n)=>s(t,r,n)>=0,Ut}var qt,Ts;function Ir(){if(Ts)return qt;Ts=1;const s=le();return qt=(t,r,n)=>s(t,r,n)<=0,qt}var Mt,Fs;function In(){if(Fs)return Mt;Fs=1;const s=Tn(),e=Fn(),t=it(),r=Fr(),n=Tr(),i=Ir();return Mt=(a,c,l,u)=>{switch(c){case"===":return typeof a=="object"&&(a=a.version),typeof l=="object"&&(l=l.version),a===l;case"!==":return typeof a=="object"&&(a=a.version),typeof l=="object"&&(l=l.version),a!==l;case"":case"=":case"==":return s(a,l,u);case"!=":return e(a,l,u);case">":return t(a,l,u);case">=":return r(a,l,u);case"<":return n(a,l,u);case"<=":return i(a,l,u);default:throw new TypeError(`Invalid operator: ${c}`)}},Mt}var Jt,Is;function ya(){if(Is)return Jt;Is=1;const s=re(),e=Ce(),{safeRe:t,t:r}=xe();return Jt=(i,o)=>{if(i instanceof s)return i;if(typeof i=="number"&&(i=String(i)),typeof i!="string")return null;o=o||{};let a=null;if(!o.rtl)a=i.match(o.includePrerelease?t[r.COERCEFULL]:t[r.COERCE]);else{const f=o.includePrerelease?t[r.COERCERTLFULL]:t[r.COERCERTL];let y;for(;(y=f.exec(i))&&(!a||a.index+a[0].length!==i.length);)(!a||y.index+y[0].length!==a.index+a[0].length)&&(a=y),f.lastIndex=y.index+y[1].length+y[2].length;f.lastIndex=-1}if(a===null)return null;const c=a[2],l=a[3]||"0",u=a[4]||"0",d=o.includePrerelease&&a[5]?`-${a[5]}`:"",p=o.includePrerelease&&a[6]?`+${a[6]}`:"";return e(`${c}.${l}.${u}${d}${p}`,o)},Jt}var Gt,Ds;function wa(){if(Ds)return Gt;Ds=1;class s{constructor(){this.max=1e3,this.map=new Map}get(t){const r=this.map.get(t);if(r!==void 0)return this.map.delete(t),this.map.set(t,r),r}delete(t){return this.map.delete(t)}set(t,r){if(!this.delete(t)&&r!==void 0){if(this.map.size>=this.max){const i=this.map.keys().next().value;this.delete(i)}this.map.set(t,r)}return this}}return Gt=s,Gt}var _t,$s;function ue(){if($s)return _t;$s=1;const s=/\s+/g;class e{constructor(v,P){if(P=n(P),v instanceof e)return v.loose===!!P.loose&&v.includePrerelease===!!P.includePrerelease?v:new e(v.raw,P);if(v instanceof i)return this.raw=v.value,this.set=[[v]],this.formatted=void 0,this;if(this.options=P,this.loose=!!P.loose,this.includePrerelease=!!P.includePrerelease,this.raw=v.trim().replace(s," "),this.set=this.raw.split("||").map(S=>this.parseRange(S.trim())).filter(S=>S.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const S=this.set[0];if(this.set=this.set.filter(E=>!g(E[0])),this.set.length===0)this.set=[S];else if(this.set.length>1){for(const E of this.set)if(E.length===1&&b(E[0])){this.set=[E];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let v=0;v<this.set.length;v++){v>0&&(this.formatted+="||");const P=this.set[v];for(let S=0;S<P.length;S++)S>0&&(this.formatted+=" "),this.formatted+=P[S].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(v){const S=((this.options.includePrerelease&&f)|(this.options.loose&&y))+":"+v,E=r.get(S);if(E)return E;const R=this.options.loose,I=R?c[l.HYPHENRANGELOOSE]:c[l.HYPHENRANGE];v=v.replace(I,G(this.options.includePrerelease)),o("hyphen replace",v),v=v.replace(c[l.COMPARATORTRIM],u),o("comparator trim",v),v=v.replace(c[l.TILDETRIM],d),o("tilde trim",v),v=v.replace(c[l.CARETTRIM],p),o("caret trim",v);let j=v.split(" ").map(M=>x(M,this.options)).join(" ").split(/\s+/).map(M=>Y(M,this.options));R&&(j=j.filter(M=>(o("loose invalid filter",M,this.options),!!M.match(c[l.COMPARATORLOOSE])))),o("range list",j);const $=new Map,V=j.map(M=>new i(M,this.options));for(const M of V){if(g(M))return[M];$.set(M.value,M)}$.size>1&&$.has("")&&$.delete("");const z=[...$.values()];return r.set(S,z),z}intersects(v,P){if(!(v instanceof e))throw new TypeError("a Range is required");return this.set.some(S=>F(S,P)&&v.set.some(E=>F(E,P)&&S.every(R=>E.every(I=>R.intersects(I,P)))))}test(v){if(!v)return!1;if(typeof v=="string")try{v=new a(v,this.options)}catch{return!1}for(let P=0;P<this.set.length;P++)if(X(this.set[P],v,this.options))return!0;return!1}}_t=e;const t=wa(),r=new t,n=Er(),i=at(),o=ot(),a=re(),{safeRe:c,t:l,comparatorTrimReplace:u,tildeTrimReplace:d,caretTrimReplace:p}=xe(),{FLAG_INCLUDE_PRERELEASE:f,FLAG_LOOSE:y}=nt(),g=m=>m.value==="<0.0.0-0",b=m=>m.value==="",F=(m,v)=>{let P=!0;const S=m.slice();let E=S.pop();for(;P&&S.length;)P=S.every(R=>E.intersects(R,v)),E=S.pop();return P},x=(m,v)=>(o("comp",m,v),m=T(m,v),o("caret",m),m=U(m,v),o("tildes",m),m=O(m,v),o("xrange",m),m=de(m,v),o("stars",m),m),D=m=>!m||m.toLowerCase()==="x"||m==="*",U=(m,v)=>m.trim().split(/\s+/).map(P=>q(P,v)).join(" "),q=(m,v)=>{const P=v.loose?c[l.TILDELOOSE]:c[l.TILDE];return m.replace(P,(S,E,R,I,j)=>{o("tilde",m,S,E,R,I,j);let $;return D(E)?$="":D(R)?$=`>=${E}.0.0 <${+E+1}.0.0-0`:D(I)?$=`>=${E}.${R}.0 <${E}.${+R+1}.0-0`:j?(o("replaceTilde pr",j),$=`>=${E}.${R}.${I}-${j} <${E}.${+R+1}.0-0`):$=`>=${E}.${R}.${I} <${E}.${+R+1}.0-0`,o("tilde return",$),$})},T=(m,v)=>m.trim().split(/\s+/).map(P=>N(P,v)).join(" "),N=(m,v)=>{o("caret",m,v);const P=v.loose?c[l.CARETLOOSE]:c[l.CARET],S=v.includePrerelease?"-0":"";return m.replace(P,(E,R,I,j,$)=>{o("caret",m,E,R,I,j,$);let V;return D(R)?V="":D(I)?V=`>=${R}.0.0${S} <${+R+1}.0.0-0`:D(j)?R==="0"?V=`>=${R}.${I}.0${S} <${R}.${+I+1}.0-0`:V=`>=${R}.${I}.0${S} <${+R+1}.0.0-0`:$?(o("replaceCaret pr",$),R==="0"?I==="0"?V=`>=${R}.${I}.${j}-${$} <${R}.${I}.${+j+1}-0`:V=`>=${R}.${I}.${j}-${$} <${R}.${+I+1}.0-0`:V=`>=${R}.${I}.${j}-${$} <${+R+1}.0.0-0`):(o("no pr"),R==="0"?I==="0"?V=`>=${R}.${I}.${j}${S} <${R}.${I}.${+j+1}-0`:V=`>=${R}.${I}.${j}${S} <${R}.${+I+1}.0-0`:V=`>=${R}.${I}.${j} <${+R+1}.0.0-0`),o("caret return",V),V})},O=(m,v)=>(o("replaceXRanges",m,v),m.split(/\s+/).map(P=>K(P,v)).join(" ")),K=(m,v)=>{m=m.trim();const P=v.loose?c[l.XRANGELOOSE]:c[l.XRANGE];return m.replace(P,(S,E,R,I,j,$)=>{o("xRange",m,S,E,R,I,j,$);const V=D(R),z=V||D(I),M=z||D(j),ce=M;return E==="="&&ce&&(E=""),$=v.includePrerelease?"-0":"",V?E===">"||E==="<"?S="<0.0.0-0":S="*":E&&ce?(z&&(I=0),j=0,E===">"?(E=">=",z?(R=+R+1,I=0,j=0):(I=+I+1,j=0)):E==="<="&&(E="<",z?R=+R+1:I=+I+1),E==="<"&&($="-0"),S=`${E+R}.${I}.${j}${$}`):z?S=`>=${R}.0.0${$} <${+R+1}.0.0-0`:M&&(S=`>=${R}.${I}.0${$} <${R}.${+I+1}.0-0`),o("xRange return",S),S})},de=(m,v)=>(o("replaceStars",m,v),m.trim().replace(c[l.STAR],"")),Y=(m,v)=>(o("replaceGTE0",m,v),m.trim().replace(c[v.includePrerelease?l.GTE0PRE:l.GTE0],"")),G=m=>(v,P,S,E,R,I,j,$,V,z,M,ce)=>(D(S)?P="":D(E)?P=`>=${S}.0.0${m?"-0":""}`:D(R)?P=`>=${S}.${E}.0${m?"-0":""}`:I?P=`>=${P}`:P=`>=${P}${m?"-0":""}`,D(V)?$="":D(z)?$=`<${+V+1}.0.0-0`:D(M)?$=`<${V}.${+z+1}.0-0`:ce?$=`<=${V}.${z}.${M}-${ce}`:m?$=`<${V}.${z}.${+M+1}-0`:$=`<=${$}`,`${P} ${$}`.trim()),X=(m,v,P)=>{for(let S=0;S<m.length;S++)if(!m[S].test(v))return!1;if(v.prerelease.length&&!P.includePrerelease){for(let S=0;S<m.length;S++)if(o(m[S].semver),m[S].semver!==i.ANY&&m[S].semver.prerelease.length>0){const E=m[S].semver;if(E.major===v.major&&E.minor===v.minor&&E.patch===v.patch)return!0}return!1}return!0};return _t}var Kt,Ls;function at(){if(Ls)return Kt;Ls=1;const s=Symbol("SemVer ANY");class e{static get ANY(){return s}constructor(u,d){if(d=t(d),u instanceof e){if(u.loose===!!d.loose)return u;u=u.value}u=u.trim().split(/\s+/).join(" "),o("comparator",u,d),this.options=d,this.loose=!!d.loose,this.parse(u),this.semver===s?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(u){const d=this.options.loose?r[n.COMPARATORLOOSE]:r[n.COMPARATOR],p=u.match(d);if(!p)throw new TypeError(`Invalid comparator: ${u}`);this.operator=p[1]!==void 0?p[1]:"",this.operator==="="&&(this.operator=""),p[2]?this.semver=new a(p[2],this.options.loose):this.semver=s}toString(){return this.value}test(u){if(o("Comparator.test",u,this.options.loose),this.semver===s||u===s)return!0;if(typeof u=="string")try{u=new a(u,this.options)}catch{return!1}return i(u,this.operator,this.semver,this.options)}intersects(u,d){if(!(u instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new c(u.value,d).test(this.value):u.operator===""?u.value===""?!0:new c(this.value,d).test(u.semver):(d=t(d),d.includePrerelease&&(this.value==="<0.0.0-0"||u.value==="<0.0.0-0")||!d.includePrerelease&&(this.value.startsWith("<0.0.0")||u.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&u.operator.startsWith(">")||this.operator.startsWith("<")&&u.operator.startsWith("<")||this.semver.version===u.semver.version&&this.operator.includes("=")&&u.operator.includes("=")||i(this.semver,"<",u.semver,d)&&this.operator.startsWith(">")&&u.operator.startsWith("<")||i(this.semver,">",u.semver,d)&&this.operator.startsWith("<")&&u.operator.startsWith(">")))}}Kt=e;const t=Er(),{safeRe:r,t:n}=xe(),i=In(),o=ot(),a=re(),c=ue();return Kt}var Ht,As;function ct(){if(As)return Ht;As=1;const s=ue();return Ht=(t,r,n)=>{try{r=new s(r,n)}catch{return!1}return r.test(t)},Ht}var Wt,Ns;function ba(){if(Ns)return Wt;Ns=1;const s=ue();return Wt=(t,r)=>new s(t,r).set.map(n=>n.map(i=>i.value).join(" ").trim().split(" ")),Wt}var zt,js;function Sa(){if(js)return zt;js=1;const s=re(),e=ue();return zt=(r,n,i)=>{let o=null,a=null,c=null;try{c=new e(n,i)}catch{return null}return r.forEach(l=>{c.test(l)&&(!o||a.compare(l)===-1)&&(o=l,a=new s(o,i))}),o},zt}var Xt,Bs;function Pa(){if(Bs)return Xt;Bs=1;const s=re(),e=ue();return Xt=(r,n,i)=>{let o=null,a=null,c=null;try{c=new e(n,i)}catch{return null}return r.forEach(l=>{c.test(l)&&(!o||a.compare(l)===1)&&(o=l,a=new s(o,i))}),o},Xt}var Yt,xs;function Ca(){if(xs)return Yt;xs=1;const s=re(),e=ue(),t=it();return Yt=(n,i)=>{n=new e(n,i);let o=new s("0.0.0");if(n.test(o)||(o=new s("0.0.0-0"),n.test(o)))return o;o=null;for(let a=0;a<n.set.length;++a){const c=n.set[a];let l=null;c.forEach(u=>{const d=new s(u.semver.version);switch(u.operator){case">":d.prerelease.length===0?d.patch++:d.prerelease.push(0),d.raw=d.format();case"":case">=":(!l||t(d,l))&&(l=d);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),l&&(!o||t(o,l))&&(o=l)}return o&&n.test(o)?o:null},Yt}var Qt,Vs;function ka(){if(Vs)return Qt;Vs=1;const s=ue();return Qt=(t,r)=>{try{return new s(t,r).range||"*"}catch{return null}},Qt}var Zt,Us;function Dr(){if(Us)return Zt;Us=1;const s=re(),e=at(),{ANY:t}=e,r=ue(),n=ct(),i=it(),o=Tr(),a=Ir(),c=Fr();return Zt=(u,d,p,f)=>{u=new s(u,f),d=new r(d,f);let y,g,b,F,x;switch(p){case">":y=i,g=a,b=o,F=">",x=">=";break;case"<":y=o,g=c,b=i,F="<",x="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(n(u,d,f))return!1;for(let D=0;D<d.set.length;++D){const U=d.set[D];let q=null,T=null;if(U.forEach(N=>{N.semver===t&&(N=new e(">=0.0.0")),q=q||N,T=T||N,y(N.semver,q.semver,f)?q=N:b(N.semver,T.semver,f)&&(T=N)}),q.operator===F||q.operator===x||(!T.operator||T.operator===F)&&g(u,T.semver))return!1;if(T.operator===x&&b(u,T.semver))return!1}return!0},Zt}var er,qs;function Ra(){if(qs)return er;qs=1;const s=Dr();return er=(t,r,n)=>s(t,r,">",n),er}var tr,Ms;function Ea(){if(Ms)return tr;Ms=1;const s=Dr();return tr=(t,r,n)=>s(t,r,"<",n),tr}var rr,Js;function Oa(){if(Js)return rr;Js=1;const s=ue();return rr=(t,r,n)=>(t=new s(t,n),r=new s(r,n),t.intersects(r,n)),rr}var sr,Gs;function Ta(){if(Gs)return sr;Gs=1;const s=ct(),e=le();return sr=(t,r,n)=>{const i=[];let o=null,a=null;const c=t.sort((p,f)=>e(p,f,n));for(const p of c)s(p,r,n)?(a=p,o||(o=p)):(a&&i.push([o,a]),a=null,o=null);o&&i.push([o,null]);const l=[];for(const[p,f]of i)p===f?l.push(p):!f&&p===c[0]?l.push("*"):f?p===c[0]?l.push(`<=${f}`):l.push(`${p} - ${f}`):l.push(`>=${p}`);const u=l.join(" || "),d=typeof r.raw=="string"?r.raw:String(r);return u.length<d.length?u:r},sr}var nr,_s;function Fa(){if(_s)return nr;_s=1;const s=ue(),e=at(),{ANY:t}=e,r=ct(),n=le(),i=(d,p,f={})=>{if(d===p)return!0;d=new s(d,f),p=new s(p,f);let y=!1;e:for(const g of d.set){for(const b of p.set){const F=c(g,b,f);if(y=y||F!==null,F)continue e}if(y)return!1}return!0},o=[new e(">=0.0.0-0")],a=[new e(">=0.0.0")],c=(d,p,f)=>{if(d===p)return!0;if(d.length===1&&d[0].semver===t){if(p.length===1&&p[0].semver===t)return!0;f.includePrerelease?d=o:d=a}if(p.length===1&&p[0].semver===t){if(f.includePrerelease)return!0;p=a}const y=new Set;let g,b;for(const O of d)O.operator===">"||O.operator===">="?g=l(g,O,f):O.operator==="<"||O.operator==="<="?b=u(b,O,f):y.add(O.semver);if(y.size>1)return null;let F;if(g&&b){if(F=n(g.semver,b.semver,f),F>0)return null;if(F===0&&(g.operator!==">="||b.operator!=="<="))return null}for(const O of y){if(g&&!r(O,String(g),f)||b&&!r(O,String(b),f))return null;for(const K of p)if(!r(O,String(K),f))return!1;return!0}let x,D,U,q,T=b&&!f.includePrerelease&&b.semver.prerelease.length?b.semver:!1,N=g&&!f.includePrerelease&&g.semver.prerelease.length?g.semver:!1;T&&T.prerelease.length===1&&b.operator==="<"&&T.prerelease[0]===0&&(T=!1);for(const O of p){if(q=q||O.operator===">"||O.operator===">=",U=U||O.operator==="<"||O.operator==="<=",g){if(N&&O.semver.prerelease&&O.semver.prerelease.length&&O.semver.major===N.major&&O.semver.minor===N.minor&&O.semver.patch===N.patch&&(N=!1),O.operator===">"||O.operator===">="){if(x=l(g,O,f),x===O&&x!==g)return!1}else if(g.operator===">="&&!r(g.semver,String(O),f))return!1}if(b){if(T&&O.semver.prerelease&&O.semver.prerelease.length&&O.semver.major===T.major&&O.semver.minor===T.minor&&O.semver.patch===T.patch&&(T=!1),O.operator==="<"||O.operator==="<="){if(D=u(b,O,f),D===O&&D!==b)return!1}else if(b.operator==="<="&&!r(b.semver,String(O),f))return!1}if(!O.operator&&(b||g)&&F!==0)return!1}return!(g&&U&&!b&&F!==0||b&&q&&!g&&F!==0||N||T)},l=(d,p,f)=>{if(!d)return p;const y=n(d.semver,p.semver,f);return y>0?d:y<0||p.operator===">"&&d.operator===">="?p:d},u=(d,p,f)=>{if(!d)return p;const y=n(d.semver,p.semver,f);return y<0?d:y>0||p.operator==="<"&&d.operator==="<="?p:d};return nr=i,nr}var or,Ks;function Ia(){if(Ks)return or;Ks=1;const s=xe(),e=nt(),t=re(),r=On(),n=Ce(),i=ia(),o=aa(),a=ca(),c=la(),l=ua(),u=da(),d=pa(),p=fa(),f=le(),y=ha(),g=ga(),b=Or(),F=ma(),x=va(),D=it(),U=Tr(),q=Tn(),T=Fn(),N=Fr(),O=Ir(),K=In(),de=ya(),Y=at(),G=ue(),X=ct(),m=ba(),v=Sa(),P=Pa(),S=Ca(),E=ka(),R=Dr(),I=Ra(),j=Ea(),$=Oa(),V=Ta(),z=Fa();return or={parse:n,valid:i,clean:o,inc:a,diff:c,major:l,minor:u,patch:d,prerelease:p,compare:f,rcompare:y,compareLoose:g,compareBuild:b,sort:F,rsort:x,gt:D,lt:U,eq:q,neq:T,gte:N,lte:O,cmp:K,coerce:de,Comparator:Y,Range:G,satisfies:X,toComparators:m,maxSatisfying:v,minSatisfying:P,minVersion:S,validRange:E,outside:R,gtr:I,ltr:j,intersects:$,simplifyRange:V,subset:z,SemVer:t,re:s.re,src:s.src,tokens:s.t,SEMVER_SPEC_VERSION:e.SEMVER_SPEC_VERSION,RELEASE_TYPES:e.RELEASE_TYPES,compareIdentifiers:r.compareIdentifiers,rcompareIdentifiers:r.rcompareIdentifiers},or}var Da=Ia();const $a=oa(Da),La={minDelay:1500},Aa="__no_updates__";class Na extends J.PollComputablePool{constructor(t,r,n={}){super({...n,...La},r);C(this,"http");C(this,"preferredUpdateChannel");this.registryProvider=t,this.http=n.http,this.preferredUpdateChannel=n.preferredUpdateChannel}getKey(t){switch(t.currentSpec.type){case"dev-v1":return`dev_1_${t.currentSpec.folder}_${t.currentSpec.mtime}`;case"dev-v2":return`dev_2_${t.currentSpec.folder}_${t.currentSpec.mtime}`;case"from-registry-v2":return`from_registry_v2_${ne(t)}`;default:return Aa}}async readValue(t){var r,n;try{const i=t.currentSpec;switch(i.type){case"dev-v1":try{const o=await vr(i.folder);return o===i.mtime?{suggestions:[]}:{mainSuggestion:{...i,mtime:o},suggestions:[]}}catch(o){return this.logger.warn(o),{suggestions:[]}}case"dev-v2":try{const o=await Z.tryLoadPackDescription(i.folder,this.logger);if(o===void 0)return{suggestions:[]};const a=await et(o);return a===i.mtime?{suggestions:[]}:{mainSuggestion:{...i,mtime:a},suggestions:[]}}catch(o){return this.logger.warn(o),{suggestions:[]}}case"from-registry-v2":try{const{versionLock:o,skipVersion:a}=t.settings;if(o==="patch")return{suggestions:[]};const c=this.registryProvider.getRegistry(i.registryUrl);let l=this.preferredUpdateChannel;if(l===void 0)if(i.channel===void 0)if(await c.getLatestOverview(i.id,Q.StableChannel))l=Q.StableChannel;else{if(await c.getLatestOverview(i.id,Q.AnyChannel)===void 0)return this.logger.error(`No "any" channel record for ${Q.blockPackIdToString(i.id)}`),{suggestions:[]};l=Q.AnyChannel}else l=i.channel;const u=await c.getUpdateSuggestions(i.id,l);if(u===void 0||u.length===0)return{suggestions:[]};u.reverse();let d;switch(o){case void 0:d=u[0].update;break;case"major":d=(r=u.find(y=>y.type!=="major"))==null?void 0:r.update;break;case"minor":d=(n=u.find(y=>y.type==="patch"))==null?void 0:n.update;break}const p=u.map(({type:y,update:g})=>({type:y,update:{...i,id:{...i.id,version:g}}}));if(d===void 0)return{suggestions:p};if(a!==void 0&&$a.lte(d,a))return{suggestions:p};const f={...i,id:{...i.id,version:d}};return(async()=>{try{await c.getComponents(f.id)}catch(y){this.logger.warn(y)}})(),{suggestions:p,mainSuggestion:f}}catch(o){return this.logger.warn(o),{suggestions:[]}}default:return{suggestions:[]}}}catch(i){return this.logger.warn(i),{suggestions:[]}}}resultsEqual(t,r){return ne(t)===ne(r)}}class Hs{constructor(){C(this,"resources",new Map);C(this,"disposeQueue",Promise.resolve())}check(e){const t=this.resources.get(e);if(t===void 0)throw new Error("Unexpected state.");if(t.refCount===0){this.resources.delete(e);const r=t.resource;w.isDisposable(r)?this.disposeQueue.then(()=>r[Symbol.dispose]()):w.isAsyncDisposable(r)&&this.disposeQueue.then(()=>r[Symbol.asyncDispose]())}}acquire(e){const t=this.calculateParamsKey(e);let r=this.resources.get(t);r===void 0&&(r={refCount:0,resource:this.createNewResource(e)},this.resources.set(t,r)),r.refCount++;let n=!1;return{resource:r.resource,key:t,unref:()=>{n||(r.refCount--,n=!0,this.check(t))}}}getByKey(e){const t=this.resources.get(e);if(t===void 0)throw new Error(`resource not found, key = ${e}`);return t.resource}tryGetByKey(e){var t;return(t=this.resources.get(e))==null?void 0:t.resource}}function Se(s){return String(s.id)}const ja=["Int","Long","Float","Double","String","Bytes"];function Te(s){const e=[],t=[];for(const r of s)r.type==="bySingleColumn"?(e.push(r),t.push({...r,type:"bySingleColumnV2"})):t.push(r);if(e.length>0){const r=JSON.stringify(e);console.warn(`type overriten from 'bySingleColumn' to 'bySingleColumnV2' for filters: ${r}`)}return t}function Ws(s){return"partitionFilters"in s?{...s,partitionFilters:Te(s.partitionFilters),filters:Te(s.filters)}:{...s,partitionFilters:Te(s.filters.filter(e=>e.column.type==="axis")),filters:Te(s.filters.filter(e=>e.column.type==="column"))}}const we=(s,e)=>typeof e=="bigint"?e.toString():e;class Ba{constructor(e,t){C(this,"perFrame",new Map);C(this,"global");C(this,"disposeListeners",new Map);this.logger=e,this.ops=t,this.global=new ze.LRUCache({maxSize:this.ops.pFramesCacheMaxSize,dispose:(r,n,i)=>{var a,c;i==="evict"&&((a=this.perFrame.get(r.resource.pFrame))==null||a.delete(n)),((c=this.perFrame.get(r.resource.pFrame))==null?void 0:c.size)===0&&this.perFrame.delete(r.resource.pFrame);const o=this.disposeListeners.get(n);this.disposeListeners.delete(n),r.resource.disposeSignal.removeEventListener("abort",o),r.unref(),ee().logPFrameRequests&&this.logger.info(`calculateTableData cache - removed PTable ${n}`)}})}cache(e,t){const r=e.key;ee().logPFrameRequests&&this.logger.info(`calculateTableData cache - added PTable ${r} with size ${t}`),this.global.set(r,e,{size:t});let n=this.perFrame.get(e.resource.pFrame);n||(n=new ze.LRUCache({max:this.ops.pFrameCacheMaxCount,dispose:(o,a,c)=>{c==="evict"&&this.global.delete(a)}}),this.perFrame.set(e.resource.pFrame,n)),n.set(r,e);const i=()=>{var o;(o=this.perFrame.get(e.resource.pFrame))==null||o.delete(r),this.global.delete(r)};this.disposeListeners.set(r,i),e.resource.disposeSignal.addEventListener("abort",i)}}class xa{constructor(e,t,r,n){C(this,"pFramePromise");C(this,"abortController",new AbortController);C(this,"blobIdToResource",new Map);C(this,"blobHandleComputables",new Map);C(this,"preloadBlob",async e=>{const t=e.map(r=>this.getOrCreateComputableForBlob(r));for(const r of t)try{await r.awaitStableFullValue(this.disposeSignal)}catch(n){if(k.isAbortError(n))break;throw n}});C(this,"resolveBlobContent",async e=>{const t=this.getOrCreateComputableForBlob(e),r=this.blobDriver.getLocalPath((await t.awaitStableValue(this.disposeSignal)).handle);return await en.readFile(r)});this.blobDriver=e,this.logger=t,this.spillPath=r;const i=(a,c)=>this.logger[a](c);for(const a of n)for(const c of Mo(a.data))this.blobIdToResource.set(Se(c),c);const o=[...new Map(n.map(a=>({...a,data:Jo(a.data,Se)})).map(a=>[ne(a),a])).values()];try{const a=new Qs.PFrame(this.spillPath,i);a.setDataSource(this);const c=[];for(const l of o)a.addColumnSpec(l.id,l.spec),c.push(a.setColumnData(l.id,l.data,{signal:this.disposeSignal}));this.pFramePromise=Promise.all(c).then(()=>a).catch(l=>{throw this.dispose(),a.dispose(),new k.PFrameDriverError(`PFrame creation failed asynchronously, columns: ${JSON.stringify(o)}, error: ${k.ensureError(l)}`)})}catch(a){throw new k.PFrameDriverError(`PFrame creation failed synchronously, columns: ${JSON.stringify(o)}, error: ${k.ensureError(a)}`)}}getOrCreateComputableForBlob(e){let t=this.blobHandleComputables.get(e);if(t!==void 0)return t;const r=this.blobIdToResource.get(e);if(r===void 0)throw new k.PFrameDriverError(`Blob with id ${e} not found.`);return t=this.blobDriver.getDownloadedBlob(r).withPreCalculatedValueTree(),this.blobHandleComputables.set(e,t),t}get disposeSignal(){return this.abortController.signal}dispose(){this.abortController.abort();for(const e of this.blobHandleComputables.values())e.resetState()}async[Symbol.asyncDispose](){this.dispose(),await this.pFramePromise.then(e=>e.dispose()).catch(()=>{})}}class ir{constructor(e,t,r,n){C(this,"abortController",new AbortController);C(this,"combinedDisposeSignal");this.pFrame=e,this.pTablePromise=r,this.predecessor=n,this.combinedDisposeSignal=AbortSignal.any([t,this.abortController.signal])}get disposeSignal(){return this.combinedDisposeSignal}async[Symbol.asyncDispose](){var e;this.abortController.abort(),await this.pTablePromise.then(t=>t.dispose()).catch(()=>{}),(e=this.predecessor)==null||e.unref()}}class $r{constructor(e,t,r,n){C(this,"pFrames");C(this,"pTables");C(this,"pTableCache");C(this,"frameConcurrencyLimiter");C(this,"tableConcurrencyLimiter");this.blobDriver=e,this.logger=t,this.spillPath=r;const i=new w.ConcurrencyLimitingExecutor(n.pFrameConcurrency);this.frameConcurrencyLimiter=i,this.tableConcurrencyLimiter=new w.ConcurrencyLimitingExecutor(n.pTableConcurrency),this.pTableCache=new Ba(this.logger,n),this.pFrames=new class extends Hs{constructor(o,a,c){super(),this.blobDriver=o,this.logger=a,this.spillPath=c}acquire(o){return super.acquire(o)}getByKey(o){const a=super.tryGetByKey(o);if(!a)throw new k.PFrameDriverError(`PFrame not found, handle = ${o}`);return a}createNewResource(o){return ee().logPFrameRequests&&t.info(`PFrame creation (pFrameHandle = ${this.calculateParamsKey(o)}): ${JSON.stringify(o,we)}`),new xa(this.blobDriver,this.logger,this.spillPath,o)}calculateParamsKey(o){try{return Ua(o)}catch(a){throw k.isPFrameDriverError(a)?a:new k.PFrameDriverError(`PFrame handle calculation failed, request: ${JSON.stringify(o,we)}, error: ${k.ensureError(a)}`)}}}(this.blobDriver,this.logger,this.spillPath),this.pTables=new class extends Hs{constructor(o){super(),this.pFrames=o}getByKey(o){const a=super.tryGetByKey(o);if(!a)throw new k.PFrameDriverError(`PTable not found, handle = ${o}`);return a}createNewResource(o){ee().logPFrameRequests&&t.info(`PTable creation (pTableHandle = ${this.calculateParamsKey(o)}): ${JSON.stringify(o,we)}`);const a=o.pFrameHandle,{pFramePromise:c,disposeSignal:l}=this.pFrames.getByKey(a);if(o.def.sorting.length>0){const d=this.acquire({...o,def:{...o.def,sorting:[]}}),{resource:{pTablePromise:p}}=d,f=p.then(y=>y.sort(o.def.sorting));return new ir(a,l,f,d)}if(o.def.filters.length>0){const d=this.acquire({...o,def:{...o.def,filters:[]}}),{resource:{pTablePromise:p}}=d,f=p.then(y=>y.filter(o.def.filters));return new ir(a,l,f,d)}const u=c.then(d=>d.createTable({src:He(o.def.src),filters:o.def.partitionFilters}));return new ir(a,l,u)}calculateParamsKey(o){try{return Va(o)}catch(a){throw new k.PFrameDriverError(`PTable handle calculation failed, request: ${JSON.stringify(o)}, error: ${k.ensureError(a)}`)}}}(this.pFrames)}async pprofDump(){return await Qs.PFrame.pprofDump()}static async init(e,t,r,n){const i=_n.resolve(r);return await w.emptyDir(i),new $r(e,t,i,n)}createPFrame(e,t){const r=e.filter(i=>ja.find(o=>o===i.spec.valueType)).map(i=>k.mapPObjectData(i,o=>We.isPlTreeNodeAccessor(o)?Yo(o):k.isDataInfo(o)?o.type==="ParquetPartitioned"?k.mapDataInfo(o,a=>fr(a)):k.mapDataInfo(o,a=>a.resourceInfo):Qo(i.spec,o))),n=this.pFrames.acquire(r);return t.addOnDestroy(n.unref),n.key}createPTable(e,t){const r=Ws(e),n=this.createPFrame(k.extractAllColumns(r.src),t),i=k.mapPTableDef(r,a=>a.id),o=this.pTables.acquire({def:i,pFrameHandle:n});return ee().logPFrameRequests&&this.logger.info(`Create PTable call (pFrameHandle = ${n}; pTableHandle = ${JSON.stringify(o)}): ${JSON.stringify(k.mapPTableDef(r,a=>a.spec),we)}`),t.addOnDestroy(o.unref),o.key}async findColumns(e,t){const r={...t,compatibleWith:t.compatibleWith.length!==0?[{axesSpec:[...new Map(t.compatibleWith.map(a=>[ne(a),a])).values()],qualifications:[]}]:[]},{pFramePromise:n}=this.pFrames.getByKey(e);return{hits:(await(await n).findColumns(r)).hits.filter(a=>a.mappingVariants.length===0||a.mappingVariants.some(c=>c.qualifications.forHit.length===0&&c.qualifications.forQueries.every(l=>l.length===0))).map(a=>a.hit)}}async getColumnSpec(e,t){const{pFramePromise:r}=this.pFrames.getByKey(e);return await(await r).getColumnSpec(t)}async listColumns(e){const{pFramePromise:t}=this.pFrames.getByKey(e);return await(await t).listColumns()}async calculateTableData(e,t,r,n){ee().logPFrameRequests&&this.logger.info(`Call calculateTableData, handle = ${e}, request = ${JSON.stringify(t,we)}`);const i=this.pTables.acquire({pFrameHandle:e,def:Ws(t)}),{resource:{pTablePromise:o,disposeSignal:a}}=i,c=await o,l=AbortSignal.any([n,a].filter(u=>!!u));return await this.frameConcurrencyLimiter.run(async()=>{try{const u=c.getSpec(),d=await c.getData([...u.keys()],{range:r,signal:l}),p=await c.getFootprint({withPredecessors:!0,signal:l});return this.pTableCache.cache(i,p),u.map((f,y)=>({spec:f,data:d[y]}))}catch(u){throw i.unref(),u}})}async getUniqueValues(e,t,r){ee().logPFrameRequests&&this.logger.info(`Call getUniqueValues, handle = ${e}, request = ${JSON.stringify(t,we)}`);const{pFramePromise:n,disposeSignal:i}=this.pFrames.getByKey(e),o=await n,a=AbortSignal.any([r,i].filter(c=>!!c));return await this.frameConcurrencyLimiter.run(async()=>await o.getUniqueValues({...t,filters:Te(t.filters)},{signal:a}))}async getSpec(e){const{pTablePromise:t}=this.pTables.getByKey(e);return(await t).getSpec()}async getShape(e,t){const{pTablePromise:r,disposeSignal:n}=this.pTables.getByKey(e),i=await r,o=AbortSignal.any([t,n].filter(a=>!!a));return await this.tableConcurrencyLimiter.run(async()=>await i.getShape({signal:o}))}async getData(e,t,r,n){const{pTablePromise:i,disposeSignal:o}=this.pTables.getByKey(e),a=await i,c=AbortSignal.any([n,o].filter(l=>!!l));return await this.tableConcurrencyLimiter.run(async()=>await a.getData(t,{range:r,signal:c}))}}function He(s){switch(s.type){case"column":return{type:"column",columnId:s.column};case"slicedColumn":return{type:"slicedColumn",columnId:s.column,newId:s.newId,axisFilters:s.axisFilters};case"inlineColumn":return{type:"inlineColumn",newId:s.column.id,spec:s.column.spec,dataInfo:{type:"Json",keyLength:s.column.spec.axesSpec.length,data:s.column.data.reduce((e,t)=>(e[JSON.stringify(t.key)]=t.val,e),{})}};case"inner":case"full":return{type:s.type,entries:s.entries.map(e=>He(e))};case"outer":return{type:"outer",primary:He(s.primary),secondary:s.secondary.map(e=>He(e))};default:w.assertNever(s)}}function Va(s){const e=te.createHash("sha256");return e.update(ne(s)),e.digest().toString("hex")}function Ua(s){const e=[...s].map(r=>k.mapPObjectData(r,n=>{let i;const o=n.type;switch(o){case"Json":i={type:n.type,keyLength:n.keyLength,payload:Object.entries(n.data).map(([a,c])=>({key:a,value:c}))};break;case"JsonPartitioned":i={type:n.type,keyLength:n.partitionKeyLength,payload:Object.entries(n.parts).map(([a,c])=>({key:a,value:Se(c)}))};break;case"BinaryPartitioned":i={type:n.type,keyLength:n.partitionKeyLength,payload:Object.entries(n.parts).map(([a,c])=>({key:a,value:[Se(c.index),Se(c.values)]}))};break;case"ParquetPartitioned":i={type:n.type,keyLength:n.partitionKeyLength,payload:Object.entries(n.parts).map(([a,c])=>({key:a,value:c.dataDigest||[Se(c.data),JSON.stringify({axes:c.axes,column:c.column})]}))};break;default:throw new k.PFrameDriverError(`unsupported resource type: ${JSON.stringify(o)}`)}return i.payload.sort((a,c)=>a.key.localeCompare(c.key)),i}));e.sort((r,n)=>r.id.localeCompare(n.id));const t=te.createHash("sha256");return t.update(ne(e)),t.digest().toString("hex")}async function Dn(s,e,t,r){const n={...kr,...Rr(e),...r},i=new w.HmacSha256Signer(n.localSecret),o=H.createDownloadClient(n.logger,s,n.localProjections),a=H.createLogsClient(s,n.logger),c=H.createUploadBlobClient(s,n.logger),l=H.createUploadProgressClient(s,n.logger),u=await H.DownloadDriver.init(n.logger,o,a,n.blobDownloadPath,n.blobDownloadRangesCachePath,i,n.blobDriverOps),d=new H.DownloadBlobToURLDriver(n.logger,i,o,n.downloadBlobToURLPath,n.downloadBlobToURLDriverOps),p=new H.UploadDriver(n.logger,i,c,l,n.uploadDriverOps),f=new H.LogsStreamDriver(n.logger,a,n.logStreamDriverOps),y=new H.LogsDriver(n.logger,f,u),g=await H.LsDriver.init(n.logger,s,i,n.localProjections,n.openFileDialogCallback,n.virtualLocalStoragesOverride),b=await $r.init(u,n.logger,n.pframesSpillPath,n.pFrameDriverOps),F=new H.DownloadUrlDriver(n.logger,s.httpDispatcher,t,i,n.frontendDownloadDriverOps);return{blobDriver:u,blobToURLDriver:d,logDriver:y,lsDriver:g,signer:i,uploadDriver:p,pFrameDriver:b,frontendDriver:F}}class qa{constructor(e){C(this,"enrichmentTargetsCache",new ze.LRUCache({max:256,memoMethod:(e,t,{context:r})=>({value:this.calculateEnrichmentTargets(r)})}));this.quickJs=e}calculateEnrichmentTargets(e){const t=e.blockConfig();if(t.enrichmentTargets===void 0)return;const r=e.args();return Ui(this.quickJs,t.enrichmentTargets,k.extractCodeWithInfo(t),r)}getEnrichmentTargets(e,t,r){const n={blockConfig:e,args:t};if(r===void 0)return this.calculateEnrichmentTargets(n);const i=`${r.argsRid}:${r.blockPackRid}`;return this.enrichmentTargetsCache.memo(i,{context:n}).value}}class Lr{constructor(e,t,r,n,i,o,a,c){C(this,"pl");C(this,"projectList");C(this,"openedProjectsByRid",new Map);this.env=e,this.driverKit=t,this.signer=r,this.projectListResourceId=n,this.openedProjectsList=i,this.projectListTree=o,this.blockRegistryProvider=a,this.projectList=c,this.pl=this.env.pl}addRuntimeCapability(e,t=!0){this.env.runtimeCapabilities.addSupportedRequirement(e,t)}get internalDriverKit(){return this.env.driverKit}async createProject(e,t=te.randomUUID()){const r=await this.pl.withWriteTx("MLCreateProject",async n=>{const i=await qo(n,e);return n.createField(h.field(this.projectListResourceId,t),"Dynamic",i),await n.commit(),await h.toGlobalResourceId(i)});return await this.projectListTree.refreshState(),r}async setProjectMeta(e,t,r){await ie(this.env.projectHelper,this.pl,e,r,n=>{n.setMeta(t)}),await this.projectListTree.refreshState()}async deleteProject(e){await this.pl.withWriteTx("MLRemoveProject",async t=>{t.removeField(h.field(this.projectListResourceId,e)),await t.commit()}),await this.projectListTree.refreshState()}async projectIdToResourceId(e){return await this.pl.withReadTx("Project id to resource id",async t=>{const r=(await t.getField(h.field(this.projectListResourceId,e))).value;if(h.isNullResourceId(r))throw new Error("Unexpected project list structure.");return r})}async ensureProjectRid(e){return typeof e=="string"?await this.projectIdToResourceId(e):e}async openProject(e){const t=await this.ensureProjectRid(e);if(this.openedProjectsByRid.has(t))throw new Error(`Project ${t} already opened`);this.openedProjectsByRid.set(t,await st.init(this.env,t)),this.openedProjectsList.setValue([...this.openedProjectsByRid.keys()])}async closeProject(e){const t=this.openedProjectsByRid.get(e);if(t===void 0)throw new Error(`Project ${e} not found among opened projects`);this.openedProjectsByRid.delete(e),await t.destroy(),this.openedProjectsList.setValue([...this.openedProjectsByRid.keys()])}getOpenedProject(e){const t=this.openedProjectsByRid.get(e);if(t===void 0)throw new Error(`Project ${e} not found among opened projects`);return t}async close(){await Promise.all([...this.openedProjectsByRid.values()].map(e=>e.destroy())),await this.projectListTree.terminate(),await this.env.retryHttpDispatcher.destroy(),await this.pl.close()}async closeAndAwaitTermination(){await this.close()}static generateLocalSecret(){return w.HmacSha256Signer.generateSecret()}get blockEventDispatcher(){return this.env.blockEventDispatcher}static async init(e,t,r){const n={...Rn,...En(t),...r};n.defaultTreeOptions.logStat=ee().logTreeStats,n.debugOps.dumpInitialTreeState=ee().dumpInitialTreeState;const i=await e.withWriteTx("MLInitialization",async b=>{const F=h.field(b.clientRoot,po);b.createField(F,"Dynamic");const x=await b.getField(F);if(h.isNullResourceId(x.value)){const D=b.createEphemeral(sn);return b.lock(D),b.setField(F,D),await b.commit(),await D.globalId}else return x.value}),o=n.logger,a=await Dn(e,t,n.frontendDownloadPath,n),c=new Ze.RetryAgent(e.httpDispatcher),l=new rn(c),u=new Ao(l,a.signer,c),d=await ge.getQuickJS(),p=new k.RuntimeCapabilities;p.addSupportedRequirement("requiresModelAPIVersion",1);const f={pl:e,blockEventDispatcher:new w.BlockEventDispatcher,signer:a.signer,logger:o,httpDispatcher:e.httpDispatcher,retryHttpDispatcher:c,ops:n,bpPreparer:u,frontendDownloadDriver:a.frontendDriver,driverKit:a,blockUpdateWatcher:new Na(l,o,{minDelay:n.devBlockUpdateRecheckInterval,http:c,preferredUpdateChannel:n.preferredUpdateChannel}),runtimeCapabilities:p,quickJs:d,projectHelper:new qa(d)},y=new J.WatchableValue([]),g=await ho(e,i,y,f);return new Lr(f,a,a.signer,i,y,g.tree,l,g.computable)}}async function Ma(s,e){return await ke(s.pingCheckDurationMs,s.maxPingsPerSecond,async()=>{const r=await new h.UnauthenticatedPlClient(e).ping();return JSON.stringify(r).slice(0,s.bodyLimit)+"..."})}async function Ja(s,e){return await ke(s.blockRegistryDurationMs,s.maxRegistryChecksPerSecond,async()=>await Ve(new URL(s.blockOverviewPath,s.blockRegistryUrl),s,e))}async function Ga(s,e){return await ke(s.blockRegistryDurationMs,s.maxRegistryChecksPerSecond,async()=>await Ve(new URL(s.blockOverviewPath,s.blockGARegistryUrl),s,e))}async function _a(s,e){return await ke(s.blockRegistryDurationMs,s.maxRegistryChecksPerSecond,async()=>await Ve(new URL(s.blockUiPath,s.blockRegistryUrl),s,e))}async function Ka(s,e){return await ke(s.blockRegistryDurationMs,s.maxRegistryChecksPerSecond,async()=>await Ve(new URL(s.blockUiPath,s.blockGARegistryUrl),s,e))}async function Ha(s,e){return await ke(s.autoUpdateCdnDurationMs,s.maxAutoUpdateCdnChecksPerSecond,async()=>await Ve(s.autoUpdateCdnUrl,s,e))}async function ke(s,e,t){const r=Date.now(),n=[];for(;zs(r)<s;){const i=Date.now();let o;try{o={ok:!0,value:await t()}}catch(l){o={ok:!1,error:l}}const a=zs(i);n.push({elapsedMs:a,response:o});const c=1e3/e-a;c>0&&await Ys.setTimeout(c)}return n}async function Ve(s,e,t){const{body:r,statusCode:n}=await Ze.request(s,{dispatcher:t,headersTimeout:e.httpTimeoutMs,bodyTimeout:e.httpTimeoutMs}),i=await r.text();return{statusCode:n,beginningOfBody:i.slice(0,e.bodyLimit)+"..."}}function zs(s){return Date.now()-s}function be(s){const e=s.filter(o=>o.response.ok),t=s.length-e.length,{mean:r,median:n}=Wa(s),i=`
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
${a(y.ok)} auto-update CDN
|
|
17
|
-
${c(s.uploadTemplateCheck)} upload template
|
|
18
|
-
${c(s.uploadFileCheck)} upload file
|
|
19
|
-
${c(s.downloadFileCheck)} download file
|
|
20
|
-
${c(s.softwareCheck)} software check
|
|
21
|
-
${c(s.pythonSoftwareCheck)} python software check
|
|
22
|
-
${g}
|
|
23
|
-
|
|
24
|
-
details:
|
|
25
|
-
pl endpoint: ${e};
|
|
26
|
-
options: ${JSON.stringify(t,null,2)}.
|
|
27
|
-
|
|
28
|
-
Upload template response: ${s.uploadTemplateCheck.message}
|
|
29
|
-
|
|
30
|
-
Upload file response: ${s.uploadFileCheck.message}
|
|
31
|
-
|
|
32
|
-
Download file response: ${s.downloadFileCheck.message}
|
|
33
|
-
|
|
34
|
-
Software check response: ${s.softwareCheck.message}
|
|
35
|
-
Python software check response: ${s.pythonSoftwareCheck.message}
|
|
36
|
-
Storage to download responses: ${JSON.stringify(s.storageToDownloadReport,null,2)}
|
|
37
|
-
|
|
38
|
-
Platforma pings: ${l.details}
|
|
39
|
-
|
|
40
|
-
Block registry overview responses: ${u.details}
|
|
41
|
-
|
|
42
|
-
Block ga registry overview responses: ${d.details}
|
|
43
|
-
|
|
44
|
-
Block registry ui responses: ${p.details}
|
|
45
|
-
|
|
46
|
-
Block ga registry ui responses: ${f.details}
|
|
47
|
-
|
|
48
|
-
Auto-update CDN responses: ${y.details}
|
|
49
|
-
|
|
50
|
-
dumps:
|
|
51
|
-
Block registry overview dumps:
|
|
52
|
-
${JSON.stringify(s.blockRegistryOverviewChecks,null,2)}
|
|
53
|
-
|
|
54
|
-
Block ga registry overview dumps:
|
|
55
|
-
${JSON.stringify(s.blockGARegistryOverviewChecks,null,2)}
|
|
56
|
-
|
|
57
|
-
Block registry ui dumps:
|
|
58
|
-
${JSON.stringify(s.blockRegistryUiChecks,null,2)}
|
|
59
|
-
|
|
60
|
-
Block ga registry ui dumps:
|
|
61
|
-
${JSON.stringify(s.blockGARegistryUiChecks,null,2)}
|
|
62
|
-
|
|
63
|
-
Auto-update CDN dumps:
|
|
64
|
-
${JSON.stringify(s.autoUpdateCdnChecks,null,2)}
|
|
65
|
-
|
|
66
|
-
Platforma pings error dumps:
|
|
67
|
-
${JSON.stringify(i,null,2)}
|
|
68
|
-
|
|
69
|
-
Platforma pings success dump examples:
|
|
70
|
-
${JSON.stringify(o,null,2)}
|
|
71
|
-
|
|
72
|
-
Undici logs:
|
|
73
|
-
${r.join(`
|
|
74
|
-
`)}
|
|
75
|
-
`}const dc=["undici:request:create","undici:request:bodySent","undici:request:headers","undici:request:error","undici:request:trailers","undici:client:sendHeaders","undici:client:beforeConnect","undici:client:connected","undici:client:connectError","undici:socket:close","undici:socket:connect","undici:socket:error","undici:pool:request","undici:pool:connect","undici:pool:disconnect","undici:pool:destroy","undici:dispatcher:request","undici:dispatcher:connect","undici:dispatcher:disconnect","undici:dispatcher:retry"];exports.BlockPackRegistry=Zn;exports.CentralBlockRegistry=eo;exports.DefaultDriverKitOpsPaths=Rr;exports.DefaultDriverKitOpsSettings=kr;exports.DefaultMiddleLayerOpsPaths=En;exports.DefaultMiddleLayerOpsSettings=Rn;exports.FrontendFromFolderResourceType=Sr;exports.FrontendFromUrlResourceType=br;exports.MiddleLayer=Lr;exports.Project=st;exports.TengoTemplateGet=ln;exports.TengoTemplateGetRegistry=un;exports.TengoTemplateGetTemplate=pn;exports.TengoTemplateGetTemplateURI=dn;exports.TengoTemplatePack=Ro;exports.TengoTemplatePackConvert=Eo;exports.TengoTemplatePackConvertTemplate=To;exports.TengoTemplatePackConvertTemplatePack=Oo;exports.V1CentralDevSnapshotRegistry=ro;exports.V1CentralRegistry=to;exports.V2RegistryProvider=rn;exports.checkNetwork=lc;exports.createRenderTemplate=tt;exports.getDevV1PacketMtime=vr;exports.getDevV2PacketMtime=et;exports.initDriverKit=Dn;exports.initNetworkCheck=Ln;exports.loadTemplate=Be;exports.prepareTemplateSpec=wr;Object.keys(k).forEach(s=>{s!=="default"&&!Object.prototype.hasOwnProperty.call(exports,s)&&Object.defineProperty(exports,s,{enumerable:!0,get:()=>k[s]})});Object.keys(Q).forEach(s=>{s!=="default"&&!Object.prototype.hasOwnProperty.call(exports,s)&&Object.defineProperty(exports,s,{enumerable:!0,get:()=>Q[s]})});Object.keys(xr).forEach(s=>{s!=="default"&&!Object.prototype.hasOwnProperty.call(exports,s)&&Object.defineProperty(exports,s,{enumerable:!0,get:()=>xr[s]})});Object.keys(h).forEach(s=>{s!=="default"&&!Object.prototype.hasOwnProperty.call(exports,s)&&Object.defineProperty(exports,s,{enumerable:!0,get:()=>h[s]})});
|
|
1
|
+
export * from '@platforma-sdk/model';
|
|
2
|
+
export * from '@milaboratories/pl-model-middle-layer';
|
|
3
|
+
export * from '@milaboratories/pl-deployments';
|
|
4
|
+
export { BlockPackRegistry, getDevV1PacketMtime, getDevV2PacketMtime } from './block_registry/registry.js';
|
|
5
|
+
export { V2RegistryProvider } from './block_registry/registry-v2-provider.js';
|
|
6
|
+
export { CentralBlockRegistry, V1CentralDevSnapshotRegistry, V1CentralRegistry } from './block_registry/well_known_registries.js';
|
|
7
|
+
export { MiddleLayer } from './middle_layer/middle_layer.js';
|
|
8
|
+
export { Project } from './middle_layer/project.js';
|
|
9
|
+
export { initDriverKit } from './middle_layer/driver_kit.js';
|
|
10
|
+
export { DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings, DefaultMiddleLayerOpsPaths, DefaultMiddleLayerOpsSettings } from './middle_layer/ops.js';
|
|
11
|
+
export { FrontendFromFolderResourceType, FrontendFromUrlResourceType } from './model/block_pack_spec.js';
|
|
12
|
+
export { checkNetwork, initNetworkCheck } from './network_check/network_check.js';
|
|
13
|
+
export * from '@milaboratories/pl-client';
|
|
14
|
+
export { TengoTemplateGet, TengoTemplateGetRegistry, TengoTemplateGetTemplate, TengoTemplateGetTemplateURI, TengoTemplatePack, TengoTemplatePackConvert, TengoTemplatePackConvertTemplate, TengoTemplatePackConvertTemplatePack, loadTemplate, prepareTemplateSpec } from './mutator/template/template_loading.js';
|
|
15
|
+
export { createRenderTemplate } from './mutator/template/render_template.js';
|
|
76
16
|
//# sourceMappingURL=index.js.map
|