@milaboratories/pl-middle-layer 1.48.11 → 1.48.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/dist/_virtual/_@oxc-project_runtime@0.114.0/helpers/usingCtx.cjs +59 -0
  2. package/dist/_virtual/_@oxc-project_runtime@0.114.0/helpers/usingCtx.js +58 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +29 -0
  4. package/dist/block_registry/index.cjs +3 -0
  5. package/dist/block_registry/index.d.ts +3 -4
  6. package/dist/block_registry/index.js +3 -0
  7. package/dist/block_registry/registry-v2-provider.cjs +18 -19
  8. package/dist/block_registry/registry-v2-provider.cjs.map +1 -1
  9. package/dist/block_registry/registry-v2-provider.d.ts +10 -6
  10. package/dist/block_registry/registry-v2-provider.js +17 -17
  11. package/dist/block_registry/registry-v2-provider.js.map +1 -1
  12. package/dist/block_registry/registry.cjs +188 -219
  13. package/dist/block_registry/registry.cjs.map +1 -1
  14. package/dist/block_registry/registry.d.ts +18 -14
  15. package/dist/block_registry/registry.js +184 -217
  16. package/dist/block_registry/registry.js.map +1 -1
  17. package/dist/block_registry/watcher.cjs +141 -170
  18. package/dist/block_registry/watcher.cjs.map +1 -1
  19. package/dist/block_registry/watcher.d.ts +26 -24
  20. package/dist/block_registry/watcher.js +139 -168
  21. package/dist/block_registry/watcher.js.map +1 -1
  22. package/dist/block_registry/well_known_registries.cjs +9 -8
  23. package/dist/block_registry/well_known_registries.cjs.map +1 -1
  24. package/dist/block_registry/well_known_registries.d.ts +8 -4
  25. package/dist/block_registry/well_known_registries.js +9 -7
  26. package/dist/block_registry/well_known_registries.js.map +1 -1
  27. package/dist/cfg_render/executor.cjs +136 -137
  28. package/dist/cfg_render/executor.cjs.map +1 -1
  29. package/dist/cfg_render/executor.js +133 -135
  30. package/dist/cfg_render/executor.js.map +1 -1
  31. package/dist/cfg_render/renderer.cjs +354 -462
  32. package/dist/cfg_render/renderer.cjs.map +1 -1
  33. package/dist/cfg_render/renderer.js +353 -460
  34. package/dist/cfg_render/renderer.js.map +1 -1
  35. package/dist/cfg_render/traverse.cjs +58 -60
  36. package/dist/cfg_render/traverse.cjs.map +1 -1
  37. package/dist/cfg_render/traverse.js +57 -58
  38. package/dist/cfg_render/traverse.js.map +1 -1
  39. package/dist/cfg_render/util.cjs +14 -19
  40. package/dist/cfg_render/util.cjs.map +1 -1
  41. package/dist/cfg_render/util.js +14 -17
  42. package/dist/cfg_render/util.js.map +1 -1
  43. package/dist/debug/index.cjs +13 -17
  44. package/dist/debug/index.cjs.map +1 -1
  45. package/dist/debug/index.js +13 -16
  46. package/dist/debug/index.js.map +1 -1
  47. package/dist/dev_env/index.cjs +60 -44
  48. package/dist/dev_env/index.cjs.map +1 -1
  49. package/dist/dev_env/index.js +57 -33
  50. package/dist/dev_env/index.js.map +1 -1
  51. package/dist/dev_env/util.cjs +12 -32
  52. package/dist/dev_env/util.cjs.map +1 -1
  53. package/dist/dev_env/util.js +10 -11
  54. package/dist/dev_env/util.js.map +1 -1
  55. package/dist/index.cjs +75 -74
  56. package/dist/index.d.ts +21 -13
  57. package/dist/index.js +25 -18
  58. package/dist/js_render/computable_context.cjs +432 -568
  59. package/dist/js_render/computable_context.cjs.map +1 -1
  60. package/dist/js_render/computable_context.js +431 -566
  61. package/dist/js_render/computable_context.js.map +1 -1
  62. package/dist/js_render/context.cjs +184 -237
  63. package/dist/js_render/context.cjs.map +1 -1
  64. package/dist/js_render/context.js +184 -235
  65. package/dist/js_render/context.js.map +1 -1
  66. package/dist/js_render/index.cjs +137 -156
  67. package/dist/js_render/index.cjs.map +1 -1
  68. package/dist/js_render/index.js +136 -154
  69. package/dist/js_render/index.js.map +1 -1
  70. package/dist/middle_layer/active_cfg.cjs +28 -35
  71. package/dist/middle_layer/active_cfg.cjs.map +1 -1
  72. package/dist/middle_layer/active_cfg.js +27 -33
  73. package/dist/middle_layer/active_cfg.js.map +1 -1
  74. package/dist/middle_layer/block.cjs +36 -42
  75. package/dist/middle_layer/block.cjs.map +1 -1
  76. package/dist/middle_layer/block.js +35 -40
  77. package/dist/middle_layer/block.js.map +1 -1
  78. package/dist/middle_layer/block_ctx.cjs +91 -133
  79. package/dist/middle_layer/block_ctx.cjs.map +1 -1
  80. package/dist/middle_layer/block_ctx.js +90 -131
  81. package/dist/middle_layer/block_ctx.js.map +1 -1
  82. package/dist/middle_layer/block_ctx_unsafe.cjs +20 -19
  83. package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -1
  84. package/dist/middle_layer/block_ctx_unsafe.js +20 -18
  85. package/dist/middle_layer/block_ctx_unsafe.js.map +1 -1
  86. package/dist/middle_layer/driver_kit.cjs +47 -51
  87. package/dist/middle_layer/driver_kit.cjs.map +1 -1
  88. package/dist/middle_layer/driver_kit.d.ts +31 -27
  89. package/dist/middle_layer/driver_kit.js +46 -49
  90. package/dist/middle_layer/driver_kit.js.map +1 -1
  91. package/dist/middle_layer/frontend_path.cjs +49 -55
  92. package/dist/middle_layer/frontend_path.cjs.map +1 -1
  93. package/dist/middle_layer/frontend_path.js +48 -53
  94. package/dist/middle_layer/frontend_path.js.map +1 -1
  95. package/dist/middle_layer/index.cjs +4 -0
  96. package/dist/middle_layer/index.d.ts +4 -5
  97. package/dist/middle_layer/index.js +4 -0
  98. package/dist/middle_layer/middle_layer.cjs +216 -245
  99. package/dist/middle_layer/middle_layer.cjs.map +1 -1
  100. package/dist/middle_layer/middle_layer.d.ts +95 -91
  101. package/dist/middle_layer/middle_layer.js +215 -243
  102. package/dist/middle_layer/middle_layer.js.map +1 -1
  103. package/dist/middle_layer/navigation_states.cjs +45 -38
  104. package/dist/middle_layer/navigation_states.cjs.map +1 -1
  105. package/dist/middle_layer/navigation_states.js +44 -36
  106. package/dist/middle_layer/navigation_states.js.map +1 -1
  107. package/dist/middle_layer/ops.cjs +56 -57
  108. package/dist/middle_layer/ops.cjs.map +1 -1
  109. package/dist/middle_layer/ops.d.ts +86 -96
  110. package/dist/middle_layer/ops.js +54 -55
  111. package/dist/middle_layer/ops.js.map +1 -1
  112. package/dist/middle_layer/project.cjs +497 -527
  113. package/dist/middle_layer/project.cjs.map +1 -1
  114. package/dist/middle_layer/project.d.ts +155 -152
  115. package/dist/middle_layer/project.js +494 -525
  116. package/dist/middle_layer/project.js.map +1 -1
  117. package/dist/middle_layer/project_list.cjs +45 -43
  118. package/dist/middle_layer/project_list.cjs.map +1 -1
  119. package/dist/middle_layer/project_list.js +45 -41
  120. package/dist/middle_layer/project_list.js.map +1 -1
  121. package/dist/middle_layer/project_overview.cjs +202 -240
  122. package/dist/middle_layer/project_overview.cjs.map +1 -1
  123. package/dist/middle_layer/project_overview.js +201 -238
  124. package/dist/middle_layer/project_overview.js.map +1 -1
  125. package/dist/middle_layer/project_overview_light.cjs +11 -14
  126. package/dist/middle_layer/project_overview_light.cjs.map +1 -1
  127. package/dist/middle_layer/project_overview_light.js +10 -12
  128. package/dist/middle_layer/project_overview_light.js.map +1 -1
  129. package/dist/middle_layer/render.cjs +14 -18
  130. package/dist/middle_layer/render.cjs.map +1 -1
  131. package/dist/middle_layer/render.js +13 -16
  132. package/dist/middle_layer/render.js.map +1 -1
  133. package/dist/middle_layer/types.d.ts +7 -10
  134. package/dist/middle_layer/util.cjs +26 -21
  135. package/dist/middle_layer/util.cjs.map +1 -1
  136. package/dist/middle_layer/util.js +25 -19
  137. package/dist/middle_layer/util.js.map +1 -1
  138. package/dist/model/args.cjs +44 -53
  139. package/dist/model/args.cjs.map +1 -1
  140. package/dist/model/args.js +44 -51
  141. package/dist/model/args.js.map +1 -1
  142. package/dist/model/block_pack_spec.cjs +9 -5
  143. package/dist/model/block_pack_spec.cjs.map +1 -1
  144. package/dist/model/block_pack_spec.d.ts +34 -30
  145. package/dist/model/block_pack_spec.js +9 -4
  146. package/dist/model/block_pack_spec.js.map +1 -1
  147. package/dist/model/frontend.d.ts +8 -5
  148. package/dist/model/index.d.ts +2 -3
  149. package/dist/model/project_helper.cjs +154 -193
  150. package/dist/model/project_helper.cjs.map +1 -1
  151. package/dist/model/project_helper.d.ts +96 -92
  152. package/dist/model/project_helper.js +153 -191
  153. package/dist/model/project_helper.js.map +1 -1
  154. package/dist/model/project_model.cjs +33 -32
  155. package/dist/model/project_model.cjs.map +1 -1
  156. package/dist/model/project_model.d.ts +13 -64
  157. package/dist/model/project_model.js +34 -30
  158. package/dist/model/project_model.js.map +1 -1
  159. package/dist/model/project_model_util.cjs +119 -158
  160. package/dist/model/project_model_util.cjs.map +1 -1
  161. package/dist/model/project_model_util.js +120 -156
  162. package/dist/model/project_model_util.js.map +1 -1
  163. package/dist/model/project_model_v1.cjs +3 -2
  164. package/dist/model/project_model_v1.cjs.map +1 -1
  165. package/dist/model/project_model_v1.js +3 -1
  166. package/dist/model/project_model_v1.js.map +1 -1
  167. package/dist/model/template_spec.d.ts +20 -16
  168. package/dist/mutator/block-pack/block_pack.cjs +200 -223
  169. package/dist/mutator/block-pack/block_pack.cjs.map +1 -1
  170. package/dist/mutator/block-pack/block_pack.d.ts +20 -19
  171. package/dist/mutator/block-pack/block_pack.js +199 -221
  172. package/dist/mutator/block-pack/block_pack.js.map +1 -1
  173. package/dist/mutator/block-pack/frontend.cjs +14 -16
  174. package/dist/mutator/block-pack/frontend.cjs.map +1 -1
  175. package/dist/mutator/block-pack/frontend.js +13 -14
  176. package/dist/mutator/block-pack/frontend.js.map +1 -1
  177. package/dist/mutator/context_export.cjs +18 -17
  178. package/dist/mutator/context_export.cjs.map +1 -1
  179. package/dist/mutator/context_export.js +17 -15
  180. package/dist/mutator/context_export.js.map +1 -1
  181. package/dist/mutator/migration.cjs +86 -112
  182. package/dist/mutator/migration.cjs.map +1 -1
  183. package/dist/mutator/migration.js +85 -110
  184. package/dist/mutator/migration.js.map +1 -1
  185. package/dist/mutator/project.cjs +903 -1240
  186. package/dist/mutator/project.cjs.map +1 -1
  187. package/dist/mutator/project.js +901 -1237
  188. package/dist/mutator/project.js.map +1 -1
  189. package/dist/mutator/template/direct_template_loader.cjs +104 -130
  190. package/dist/mutator/template/direct_template_loader.cjs.map +1 -1
  191. package/dist/mutator/template/direct_template_loader.js +103 -128
  192. package/dist/mutator/template/direct_template_loader.js.map +1 -1
  193. package/dist/mutator/template/direct_template_loader_v3.cjs +104 -124
  194. package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -1
  195. package/dist/mutator/template/direct_template_loader_v3.js +103 -122
  196. package/dist/mutator/template/direct_template_loader_v3.js.map +1 -1
  197. package/dist/mutator/template/render_block.cjs +26 -30
  198. package/dist/mutator/template/render_block.cjs.map +1 -1
  199. package/dist/mutator/template/render_block.js +26 -23
  200. package/dist/mutator/template/render_block.js.map +1 -1
  201. package/dist/mutator/template/render_template.cjs +25 -25
  202. package/dist/mutator/template/render_template.cjs.map +1 -1
  203. package/dist/mutator/template/render_template.d.ts +6 -3
  204. package/dist/mutator/template/render_template.js +24 -23
  205. package/dist/mutator/template/render_template.js.map +1 -1
  206. package/dist/mutator/template/template_loading.cjs +42 -46
  207. package/dist/mutator/template/template_loading.cjs.map +1 -1
  208. package/dist/mutator/template/template_loading.d.ts +16 -12
  209. package/dist/mutator/template/template_loading.js +40 -44
  210. package/dist/mutator/template/template_loading.js.map +1 -1
  211. package/dist/network_check/network_check.cjs +149 -194
  212. package/dist/network_check/network_check.cjs.map +1 -1
  213. package/dist/network_check/network_check.d.ts +50 -66
  214. package/dist/network_check/network_check.js +146 -190
  215. package/dist/network_check/network_check.js.map +1 -1
  216. package/dist/network_check/pings.cjs +71 -69
  217. package/dist/network_check/pings.cjs.map +1 -1
  218. package/dist/network_check/pings.js +71 -65
  219. package/dist/network_check/pings.js.map +1 -1
  220. package/dist/network_check/template.cjs +256 -273
  221. package/dist/network_check/template.cjs.map +1 -1
  222. package/dist/network_check/template.js +253 -265
  223. package/dist/network_check/template.js.map +1 -1
  224. package/dist/pool/data.cjs +205 -226
  225. package/dist/pool/data.cjs.map +1 -1
  226. package/dist/pool/data.d.ts +10 -27
  227. package/dist/pool/data.js +196 -209
  228. package/dist/pool/data.js.map +1 -1
  229. package/dist/pool/driver.cjs +180 -207
  230. package/dist/pool/driver.cjs.map +1 -1
  231. package/dist/pool/driver.d.ts +12 -17
  232. package/dist/pool/driver.js +178 -205
  233. package/dist/pool/driver.js.map +1 -1
  234. package/dist/pool/index.cjs +2 -0
  235. package/dist/pool/index.d.ts +2 -3
  236. package/dist/pool/index.js +2 -0
  237. package/dist/pool/p_object_collection.cjs +67 -79
  238. package/dist/pool/p_object_collection.cjs.map +1 -1
  239. package/dist/pool/p_object_collection.d.ts +7 -28
  240. package/dist/pool/p_object_collection.js +65 -77
  241. package/dist/pool/p_object_collection.js.map +1 -1
  242. package/dist/pool/result_pool.cjs +217 -262
  243. package/dist/pool/result_pool.cjs.map +1 -1
  244. package/dist/pool/result_pool.d.ts +4 -27
  245. package/dist/pool/result_pool.js +216 -260
  246. package/dist/pool/result_pool.js.map +1 -1
  247. package/dist/worker/WorkerManager.cjs +51 -49
  248. package/dist/worker/WorkerManager.cjs.map +1 -1
  249. package/dist/worker/WorkerManager.js +49 -47
  250. package/dist/worker/WorkerManager.js.map +1 -1
  251. package/dist/worker/worker.cjs +19 -15
  252. package/dist/worker/worker.cjs.map +1 -1
  253. package/dist/worker/worker.d.ts +1 -2
  254. package/dist/worker/worker.js +18 -13
  255. package/dist/worker/worker.js.map +1 -1
  256. package/dist/worker/workerApi.cjs +14 -18
  257. package/dist/worker/workerApi.cjs.map +1 -1
  258. package/dist/worker/workerApi.js +13 -16
  259. package/dist/worker/workerApi.js.map +1 -1
  260. package/package.json +24 -24
  261. package/src/mutator/template/template_render.test.ts +22 -18
  262. package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.cjs +0 -77
  263. package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.cjs.map +0 -1
  264. package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.js +0 -74
  265. package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.js.map +0 -1
  266. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/comparator.cjs +0 -162
  267. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/comparator.cjs.map +0 -1
  268. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/comparator.js +0 -160
  269. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/comparator.js.map +0 -1
  270. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/range.cjs +0 -576
  271. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/range.cjs.map +0 -1
  272. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/range.js +0 -574
  273. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/range.js.map +0 -1
  274. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/semver.cjs +0 -337
  275. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/semver.cjs.map +0 -1
  276. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/semver.js +0 -335
  277. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/classes/semver.js.map +0 -1
  278. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/clean.cjs +0 -22
  279. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/clean.cjs.map +0 -1
  280. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/clean.js +0 -20
  281. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/clean.js.map +0 -1
  282. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/cmp.cjs +0 -73
  283. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/cmp.cjs.map +0 -1
  284. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/cmp.js +0 -71
  285. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/cmp.js.map +0 -1
  286. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/coerce.cjs +0 -78
  287. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/coerce.cjs.map +0 -1
  288. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/coerce.js +0 -76
  289. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/coerce.js.map +0 -1
  290. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-build.cjs +0 -23
  291. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-build.cjs.map +0 -1
  292. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-build.js +0 -21
  293. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-build.js.map +0 -1
  294. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-loose.cjs +0 -19
  295. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-loose.cjs.map +0 -1
  296. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-loose.js +0 -17
  297. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare-loose.js.map +0 -1
  298. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare.cjs +0 -21
  299. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare.cjs.map +0 -1
  300. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare.js +0 -19
  301. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/compare.js.map +0 -1
  302. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/diff.cjs +0 -74
  303. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/diff.cjs.map +0 -1
  304. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/diff.js +0 -72
  305. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/diff.js.map +0 -1
  306. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/eq.cjs +0 -19
  307. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/eq.cjs.map +0 -1
  308. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/eq.js +0 -17
  309. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/eq.js.map +0 -1
  310. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gt.cjs +0 -19
  311. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gt.cjs.map +0 -1
  312. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gt.js +0 -17
  313. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gt.js.map +0 -1
  314. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gte.cjs +0 -19
  315. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gte.cjs.map +0 -1
  316. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gte.js +0 -17
  317. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/gte.js.map +0 -1
  318. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/inc.cjs +0 -35
  319. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/inc.cjs.map +0 -1
  320. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/inc.js +0 -33
  321. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/inc.js.map +0 -1
  322. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lt.cjs +0 -19
  323. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lt.cjs.map +0 -1
  324. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lt.js +0 -17
  325. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lt.js.map +0 -1
  326. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lte.cjs +0 -19
  327. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lte.cjs.map +0 -1
  328. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lte.js +0 -17
  329. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/lte.js.map +0 -1
  330. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/major.cjs +0 -19
  331. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/major.cjs.map +0 -1
  332. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/major.js +0 -17
  333. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/major.js.map +0 -1
  334. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/minor.cjs +0 -19
  335. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/minor.cjs.map +0 -1
  336. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/minor.js +0 -17
  337. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/minor.js.map +0 -1
  338. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/neq.cjs +0 -19
  339. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/neq.cjs.map +0 -1
  340. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/neq.js +0 -17
  341. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/neq.js.map +0 -1
  342. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/parse.cjs +0 -32
  343. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/parse.cjs.map +0 -1
  344. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/parse.js +0 -30
  345. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/parse.js.map +0 -1
  346. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/patch.cjs +0 -19
  347. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/patch.cjs.map +0 -1
  348. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/patch.js +0 -17
  349. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/patch.js.map +0 -1
  350. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/prerelease.cjs +0 -22
  351. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/prerelease.cjs.map +0 -1
  352. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/prerelease.js +0 -20
  353. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/prerelease.js.map +0 -1
  354. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rcompare.cjs +0 -19
  355. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rcompare.cjs.map +0 -1
  356. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rcompare.js +0 -17
  357. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rcompare.js.map +0 -1
  358. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rsort.cjs +0 -19
  359. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rsort.cjs.map +0 -1
  360. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rsort.js +0 -17
  361. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/rsort.js.map +0 -1
  362. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/satisfies.cjs +0 -26
  363. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/satisfies.cjs.map +0 -1
  364. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/satisfies.js +0 -24
  365. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/satisfies.js.map +0 -1
  366. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/sort.cjs +0 -19
  367. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/sort.cjs.map +0 -1
  368. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/sort.js +0 -17
  369. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/sort.js.map +0 -1
  370. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/valid.cjs +0 -22
  371. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/valid.cjs.map +0 -1
  372. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/valid.js +0 -20
  373. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/functions/valid.js.map +0 -1
  374. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/index.cjs +0 -145
  375. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/index.cjs.map +0 -1
  376. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/index.js +0 -143
  377. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/index.js.map +0 -1
  378. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/constants.cjs +0 -49
  379. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/constants.cjs.map +0 -1
  380. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/constants.js +0 -47
  381. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/constants.js.map +0 -1
  382. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/debug.cjs +0 -23
  383. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/debug.cjs.map +0 -1
  384. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/debug.js +0 -21
  385. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/debug.js.map +0 -1
  386. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/identifiers.cjs +0 -37
  387. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/identifiers.cjs.map +0 -1
  388. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/identifiers.js +0 -35
  389. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/identifiers.js.map +0 -1
  390. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/lrucache.cjs +0 -54
  391. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/lrucache.cjs.map +0 -1
  392. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/lrucache.js +0 -52
  393. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/lrucache.js.map +0 -1
  394. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/parse-options.cjs +0 -29
  395. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/parse-options.cjs.map +0 -1
  396. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/parse-options.js +0 -27
  397. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/parse-options.js.map +0 -1
  398. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/re.cjs +0 -240
  399. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/re.cjs.map +0 -1
  400. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/re.js +0 -238
  401. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/internal/re.js.map +0 -1
  402. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/gtr.cjs +0 -20
  403. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/gtr.cjs.map +0 -1
  404. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/gtr.js +0 -18
  405. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/gtr.js.map +0 -1
  406. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/intersects.cjs +0 -23
  407. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/intersects.cjs.map +0 -1
  408. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/intersects.js +0 -21
  409. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/intersects.js.map +0 -1
  410. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/ltr.cjs +0 -20
  411. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/ltr.cjs.map +0 -1
  412. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/ltr.js +0 -18
  413. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/ltr.js.map +0 -1
  414. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/max-satisfying.cjs +0 -42
  415. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/max-satisfying.cjs.map +0 -1
  416. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/max-satisfying.js +0 -40
  417. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/max-satisfying.js.map +0 -1
  418. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-satisfying.cjs +0 -41
  419. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-satisfying.cjs.map +0 -1
  420. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-satisfying.js +0 -39
  421. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-satisfying.js.map +0 -1
  422. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-version.cjs +0 -79
  423. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-version.cjs.map +0 -1
  424. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-version.js +0 -77
  425. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/min-version.js.map +0 -1
  426. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/outside.cjs +0 -103
  427. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/outside.cjs.map +0 -1
  428. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/outside.js +0 -101
  429. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/outside.js.map +0 -1
  430. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/simplify.cjs +0 -64
  431. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/simplify.cjs.map +0 -1
  432. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/simplify.js +0 -62
  433. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/simplify.js.map +0 -1
  434. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/subset.cjs +0 -266
  435. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/subset.cjs.map +0 -1
  436. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/subset.js +0 -264
  437. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/subset.js.map +0 -1
  438. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/to-comparators.cjs +0 -24
  439. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/to-comparators.cjs.map +0 -1
  440. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/to-comparators.js +0 -22
  441. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/to-comparators.js.map +0 -1
  442. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/valid.cjs +0 -27
  443. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/valid.cjs.map +0 -1
  444. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/valid.js +0 -25
  445. package/dist/__external/.pnpm/semver@7.7.2/__external/semver/ranges/valid.js.map +0 -1
  446. package/dist/_virtual/index.cjs +0 -8
  447. package/dist/_virtual/index.cjs.map +0 -1
  448. package/dist/_virtual/index.js +0 -6
  449. package/dist/_virtual/index.js.map +0 -1
  450. package/dist/_virtual/re.cjs +0 -6
  451. package/dist/_virtual/re.cjs.map +0 -1
  452. package/dist/_virtual/re.js +0 -4
  453. package/dist/_virtual/re.js.map +0 -1
  454. package/dist/block_registry/index.d.ts.map +0 -1
  455. package/dist/block_registry/registry-v2-provider.d.ts.map +0 -1
  456. package/dist/block_registry/registry.d.ts.map +0 -1
  457. package/dist/block_registry/registry.test.d.ts +0 -2
  458. package/dist/block_registry/registry.test.d.ts.map +0 -1
  459. package/dist/block_registry/watcher.d.ts.map +0 -1
  460. package/dist/block_registry/well_known_registries.d.ts.map +0 -1
  461. package/dist/cfg_render/executor.d.ts +0 -9
  462. package/dist/cfg_render/executor.d.ts.map +0 -1
  463. package/dist/cfg_render/executor.test.d.ts +0 -2
  464. package/dist/cfg_render/executor.test.d.ts.map +0 -1
  465. package/dist/cfg_render/operation.d.ts +0 -29
  466. package/dist/cfg_render/operation.d.ts.map +0 -1
  467. package/dist/cfg_render/renderer.d.ts +0 -6
  468. package/dist/cfg_render/renderer.d.ts.map +0 -1
  469. package/dist/cfg_render/traverse.d.ts +0 -3
  470. package/dist/cfg_render/traverse.d.ts.map +0 -1
  471. package/dist/cfg_render/util.d.ts +0 -5
  472. package/dist/cfg_render/util.d.ts.map +0 -1
  473. package/dist/debug/index.d.ts +0 -9
  474. package/dist/debug/index.d.ts.map +0 -1
  475. package/dist/dev_env/index.d.ts +0 -21
  476. package/dist/dev_env/index.d.ts.map +0 -1
  477. package/dist/dev_env/util.d.ts +0 -3
  478. package/dist/dev_env/util.d.ts.map +0 -1
  479. package/dist/index.cjs.map +0 -1
  480. package/dist/index.d.ts.map +0 -1
  481. package/dist/index.js.map +0 -1
  482. package/dist/js_render/computable_context.d.ts +0 -74
  483. package/dist/js_render/computable_context.d.ts.map +0 -1
  484. package/dist/js_render/context.d.ts +0 -73
  485. package/dist/js_render/context.d.ts.map +0 -1
  486. package/dist/js_render/index.d.ts +0 -57
  487. package/dist/js_render/index.d.ts.map +0 -1
  488. package/dist/middle_layer/active_cfg.d.ts +0 -6
  489. package/dist/middle_layer/active_cfg.d.ts.map +0 -1
  490. package/dist/middle_layer/block.d.ts +0 -10
  491. package/dist/middle_layer/block.d.ts.map +0 -1
  492. package/dist/middle_layer/block_ctx.d.ts +0 -23
  493. package/dist/middle_layer/block_ctx.d.ts.map +0 -1
  494. package/dist/middle_layer/block_ctx_unsafe.d.ts +0 -16
  495. package/dist/middle_layer/block_ctx_unsafe.d.ts.map +0 -1
  496. package/dist/middle_layer/driver_kit.d.ts.map +0 -1
  497. package/dist/middle_layer/frontend_path.d.ts +0 -6
  498. package/dist/middle_layer/frontend_path.d.ts.map +0 -1
  499. package/dist/middle_layer/index.d.ts.map +0 -1
  500. package/dist/middle_layer/middle_layer.d.ts.map +0 -1
  501. package/dist/middle_layer/navigation_states.d.ts +0 -10
  502. package/dist/middle_layer/navigation_states.d.ts.map +0 -1
  503. package/dist/middle_layer/ops.d.ts.map +0 -1
  504. package/dist/middle_layer/project.d.ts.map +0 -1
  505. package/dist/middle_layer/project_list.d.ts +0 -11
  506. package/dist/middle_layer/project_list.d.ts.map +0 -1
  507. package/dist/middle_layer/project_overview.d.ts +0 -8
  508. package/dist/middle_layer/project_overview.d.ts.map +0 -1
  509. package/dist/middle_layer/project_overview_light.d.ts +0 -8
  510. package/dist/middle_layer/project_overview_light.d.ts.map +0 -1
  511. package/dist/middle_layer/render.d.ts +0 -7
  512. package/dist/middle_layer/render.d.ts.map +0 -1
  513. package/dist/middle_layer/render.test.d.ts +0 -5
  514. package/dist/middle_layer/render.test.d.ts.map +0 -1
  515. package/dist/middle_layer/types.d.ts.map +0 -1
  516. package/dist/middle_layer/util.d.ts +0 -16
  517. package/dist/middle_layer/util.d.ts.map +0 -1
  518. package/dist/model/args.d.ts +0 -14
  519. package/dist/model/args.d.ts.map +0 -1
  520. package/dist/model/block_pack.d.ts +0 -8
  521. package/dist/model/block_pack.d.ts.map +0 -1
  522. package/dist/model/block_pack_spec.d.ts.map +0 -1
  523. package/dist/model/frontend.d.ts.map +0 -1
  524. package/dist/model/index.d.ts.map +0 -1
  525. package/dist/model/project_helper.d.ts.map +0 -1
  526. package/dist/model/project_model.d.ts.map +0 -1
  527. package/dist/model/project_model.test.d.ts +0 -2
  528. package/dist/model/project_model.test.d.ts.map +0 -1
  529. package/dist/model/project_model_util.d.ts +0 -43
  530. package/dist/model/project_model_util.d.ts.map +0 -1
  531. package/dist/model/project_model_util.test.d.ts +0 -2
  532. package/dist/model/project_model_util.test.d.ts.map +0 -1
  533. package/dist/model/project_model_v1.d.ts +0 -8
  534. package/dist/model/project_model_v1.d.ts.map +0 -1
  535. package/dist/model/template_spec.d.ts.map +0 -1
  536. package/dist/mutator/block-pack/block_pack.d.ts.map +0 -1
  537. package/dist/mutator/block-pack/block_pack.test.d.ts +0 -2
  538. package/dist/mutator/block-pack/block_pack.test.d.ts.map +0 -1
  539. package/dist/mutator/block-pack/frontend.d.ts +0 -4
  540. package/dist/mutator/block-pack/frontend.d.ts.map +0 -1
  541. package/dist/mutator/context_export.d.ts +0 -9
  542. package/dist/mutator/context_export.d.ts.map +0 -1
  543. package/dist/mutator/migration.d.ts +0 -9
  544. package/dist/mutator/migration.d.ts.map +0 -1
  545. package/dist/mutator/project-v3.test.d.ts +0 -2
  546. package/dist/mutator/project-v3.test.d.ts.map +0 -1
  547. package/dist/mutator/project.d.ts +0 -211
  548. package/dist/mutator/project.d.ts.map +0 -1
  549. package/dist/mutator/project.test.d.ts +0 -2
  550. package/dist/mutator/project.test.d.ts.map +0 -1
  551. package/dist/mutator/template/direct_template_loader.d.ts +0 -5
  552. package/dist/mutator/template/direct_template_loader.d.ts.map +0 -1
  553. package/dist/mutator/template/direct_template_loader_v3.d.ts +0 -15
  554. package/dist/mutator/template/direct_template_loader_v3.d.ts.map +0 -1
  555. package/dist/mutator/template/render_block.d.ts +0 -32
  556. package/dist/mutator/template/render_block.d.ts.map +0 -1
  557. package/dist/mutator/template/render_template.d.ts.map +0 -1
  558. package/dist/mutator/template/template_loading.d.ts.map +0 -1
  559. package/dist/mutator/template/template_render.test.d.ts +0 -2
  560. package/dist/mutator/template/template_render.test.d.ts.map +0 -1
  561. package/dist/network_check/network_check.d.ts.map +0 -1
  562. package/dist/network_check/network_check.test.d.ts +0 -2
  563. package/dist/network_check/network_check.test.d.ts.map +0 -1
  564. package/dist/network_check/pings.d.ts +0 -32
  565. package/dist/network_check/pings.d.ts.map +0 -1
  566. package/dist/network_check/template.d.ts +0 -57
  567. package/dist/network_check/template.d.ts.map +0 -1
  568. package/dist/network_check/template.test.d.ts +0 -2
  569. package/dist/network_check/template.test.d.ts.map +0 -1
  570. package/dist/network_check/test_utils.d.ts +0 -6
  571. package/dist/network_check/test_utils.d.ts.map +0 -1
  572. package/dist/pool/data.d.ts.map +0 -1
  573. package/dist/pool/driver.d.ts.map +0 -1
  574. package/dist/pool/index.d.ts.map +0 -1
  575. package/dist/pool/p_object_collection.d.ts.map +0 -1
  576. package/dist/pool/result_pool.d.ts.map +0 -1
  577. package/dist/test/block_packs.d.ts +0 -6
  578. package/dist/test/block_packs.d.ts.map +0 -1
  579. package/dist/test/explicit_templates.d.ts +0 -3
  580. package/dist/test/explicit_templates.d.ts.map +0 -1
  581. package/dist/test/known_templates.d.ts +0 -6
  582. package/dist/test/known_templates.d.ts.map +0 -1
  583. package/dist/test_env.d.ts +0 -6
  584. package/dist/test_env.d.ts.map +0 -1
  585. package/dist/worker/WorkerManager.d.ts +0 -12
  586. package/dist/worker/WorkerManager.d.ts.map +0 -1
  587. package/dist/worker/worker.d.ts.map +0 -1
  588. package/dist/worker/workerApi.d.ts +0 -15
  589. package/dist/worker/workerApi.d.ts.map +0 -1
@@ -1,167 +1,148 @@
1
- 'use strict';
2
-
3
- var computable = require('@milaboratories/computable');
4
- var quickjsEmscripten = require('quickjs-emscripten');
5
- var context = require('./context.cjs');
6
- var index = require('../debug/index.cjs');
1
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
+ const require_index = require('../debug/index.cjs');
3
+ const require_context = require('./context.cjs');
4
+ let _milaboratories_computable = require("@milaboratories/computable");
5
+ let quickjs_emscripten = require("quickjs-emscripten");
7
6
 
7
+ //#region src/js_render/index.ts
8
8
  function logOutputStatus(handle, renderedResult, stable, recalculationCounter, unstableMarker) {
9
- if (index.getDebugFlags().logOutputStatus && (index.getDebugFlags().logOutputStatus === "any" || !stable)) {
10
- if (stable)
11
- console.log(`Stable output ${handle} calculated ${renderedResult !== undefined ? "defined" : "undefined"}; (#${recalculationCounter})`);
12
- else
13
- console.log(`Unstable output ${handle}; marker = ${unstableMarker}; ${renderedResult !== undefined ? "defined" : "undefined"} (#${recalculationCounter})`);
14
- }
9
+ if (require_index.getDebugFlags().logOutputStatus && (require_index.getDebugFlags().logOutputStatus === "any" || !stable)) if (stable) console.log(`Stable output ${handle} calculated ${renderedResult !== void 0 ? "defined" : "undefined"}; (#${recalculationCounter})`);
10
+ else console.log(`Unstable output ${handle}; marker = ${unstableMarker}; ${renderedResult !== void 0 ? "defined" : "undefined"} (#${recalculationCounter})`);
15
11
  }
16
12
  /**
17
- * Creates a Computable that executes a render function (`fh`) from a block's code in a QuickJS virtual machine.
18
- * This function handles both synchronous and asynchronous execution patterns of the sandboxed JS code.
19
- *
20
- * The overall data flow is as follows:
21
- * 1. A QuickJS VM is initialized.
22
- * 2. A `JsExecutionContext` is created to bridge the host (TypeScript) and guest (QuickJS) environments. It injects a
23
- * context object (`cfgRenderCtx`) into the VM, providing helper methods for the sandboxed code to interact with the
24
- * platform (e.g., to request data).
25
- * 3. The block's Javascript bundle is evaluated in the VM.
26
- * 4. The specified render function (`fh.handle`) is executed.
27
- *
28
- * Two execution paths are possible depending on the behavior of the render function:
29
- *
30
- * ### Synchronous Path
31
- * If the render function computes its result without requesting any external data requiring asynchronous calculations,
32
- * it executes synchronously.
33
- * - The `computablesToResolve` map in `JsExecutionContext` remains empty.
34
- * - The function returns an object with an `ir` field holding the result (`{ ir: importedResult }`).
35
- * Since `postprocessValue` is not specified, `ir` is treated as the final resolved value of the Computable.
36
- * - The QuickJS VM is disposed of immediately as it's no longer needed.
37
- *
38
- * ### Asynchronous Path (with `postprocessValue`)
39
- * If the render function needs external data requiring asynchronous calculations (e.g., fetching a file), it calls
40
- * one of the injected helper methods. These methods don't return data directly. Instead, they:
41
- * a. Create a new `Computable` for the data request (e.g., to fetch a blob).
42
- * b. Register this new `Computable` in the `computablesToResolve` map.
43
- * c. Return a handle (string) to the sandboxed code.
44
- *
45
- * In this case:
46
- * - The initial execution of the render function returns a scaffold of the final result, which depends on the pending
47
- * computables.
48
- * - The `computablesToResolve` map is passed as the `ir` (initial result) to `Computable.makeRaw`.
49
- * - The `postprocessValue` function is provided to handle the results once the computables are resolved.
50
- * - The QuickJS VM is kept alive (`keepVmAlive = true`) because its state is needed in `postprocessValue`.
51
- * - Once the `computable` framework resolves all dependencies, it calls `postprocessValue` with the resolved data.
52
- * - `postprocessValue` feeds the resolved data back into the VM, allowing the sandboxed code to compute the final
53
- * result.
54
- * - The VM is eventually disposed of when the host Computable is destroyed.
55
- *
56
- * @param env The middle layer environment.
57
- * @param ctx The block context.
58
- * @param fh The config render lambda to execute.
59
- * @param codeWithInfo The block's code and feature flags.
60
- * @param configKey A key for the configuration, used for cache busting.
61
- * @param ops Options for the computable.
62
- * @returns A `Computable` that will resolve to the result of the lambda execution.
63
- */
13
+ * Creates a Computable that executes a render function (`fh`) from a block's code in a QuickJS virtual machine.
14
+ * This function handles both synchronous and asynchronous execution patterns of the sandboxed JS code.
15
+ *
16
+ * The overall data flow is as follows:
17
+ * 1. A QuickJS VM is initialized.
18
+ * 2. A `JsExecutionContext` is created to bridge the host (TypeScript) and guest (QuickJS) environments. It injects a
19
+ * context object (`cfgRenderCtx`) into the VM, providing helper methods for the sandboxed code to interact with the
20
+ * platform (e.g., to request data).
21
+ * 3. The block's Javascript bundle is evaluated in the VM.
22
+ * 4. The specified render function (`fh.handle`) is executed.
23
+ *
24
+ * Two execution paths are possible depending on the behavior of the render function:
25
+ *
26
+ * ### Synchronous Path
27
+ * If the render function computes its result without requesting any external data requiring asynchronous calculations,
28
+ * it executes synchronously.
29
+ * - The `computablesToResolve` map in `JsExecutionContext` remains empty.
30
+ * - The function returns an object with an `ir` field holding the result (`{ ir: importedResult }`).
31
+ * Since `postprocessValue` is not specified, `ir` is treated as the final resolved value of the Computable.
32
+ * - The QuickJS VM is disposed of immediately as it's no longer needed.
33
+ *
34
+ * ### Asynchronous Path (with `postprocessValue`)
35
+ * If the render function needs external data requiring asynchronous calculations (e.g., fetching a file), it calls
36
+ * one of the injected helper methods. These methods don't return data directly. Instead, they:
37
+ * a. Create a new `Computable` for the data request (e.g., to fetch a blob).
38
+ * b. Register this new `Computable` in the `computablesToResolve` map.
39
+ * c. Return a handle (string) to the sandboxed code.
40
+ *
41
+ * In this case:
42
+ * - The initial execution of the render function returns a scaffold of the final result, which depends on the pending
43
+ * computables.
44
+ * - The `computablesToResolve` map is passed as the `ir` (initial result) to `Computable.makeRaw`.
45
+ * - The `postprocessValue` function is provided to handle the results once the computables are resolved.
46
+ * - The QuickJS VM is kept alive (`keepVmAlive = true`) because its state is needed in `postprocessValue`.
47
+ * - Once the `computable` framework resolves all dependencies, it calls `postprocessValue` with the resolved data.
48
+ * - `postprocessValue` feeds the resolved data back into the VM, allowing the sandboxed code to compute the final
49
+ * result.
50
+ * - The VM is eventually disposed of when the host Computable is destroyed.
51
+ *
52
+ * @param env The middle layer environment.
53
+ * @param ctx The block context.
54
+ * @param fh The config render lambda to execute.
55
+ * @param codeWithInfo The block's code and feature flags.
56
+ * @param configKey A key for the configuration, used for cache busting.
57
+ * @param ops Options for the computable.
58
+ * @returns A `Computable` that will resolve to the result of the lambda execution.
59
+ */
64
60
  function computableFromRF(env, ctx, fh, codeWithInfo, configKey, ops = {}) {
65
- // adding configKey to reload all outputs on block-pack update
66
- const key = `${ctx.blockId}#lambda#${configKey}#${fh.handle}`;
67
- ops = { ...ops, key };
68
- if (ops.mode === undefined && fh.retentive === true)
69
- ops.mode = "StableOnlyRetentive";
70
- return computable.Computable.makeRaw((cCtx) => {
71
- const { code, featureFlags } = codeWithInfo;
72
- if (index.getDebugFlags().logOutputRecalculations)
73
- console.log(`Block lambda recalculation : ${key} (${cCtx.changeSourceMarker}; ${cCtx.bodyInvocations} invocations)`);
74
- const scope = new quickjsEmscripten.Scope();
75
- let keepVmAlive = false;
76
- cCtx.addOnDestroy(() => {
77
- // If keepVmAlive is false, the scope will be disposed by the finally block,
78
- // no need to dispose it here.
79
- if (keepVmAlive)
80
- scope.dispose();
81
- });
82
- try {
83
- const runtime = scope.manage(env.quickJs.newRuntime());
84
- runtime.setMemoryLimit(1024 * 1024 * 8);
85
- runtime.setMaxStackSize(1024 * 320);
86
- let deadlineSettings;
87
- runtime.setInterruptHandler(() => {
88
- if (deadlineSettings === undefined)
89
- return false;
90
- if (Date.now() > deadlineSettings.deadline)
91
- return true;
92
- return false;
93
- });
94
- const vm = scope.manage(runtime.newContext());
95
- const rCtx = new context.JsExecutionContext(scope, vm, (s) => {
96
- deadlineSettings = s;
97
- }, featureFlags, { computableCtx: cCtx, blockCtx: ctx, mlEnv: env });
98
- rCtx.evaluateBundle(code.content);
99
- const result = rCtx.runCallback(fh.handle);
100
- rCtx.resetComputableCtx();
101
- const toBeResolved = rCtx.computableHelper.computablesToResolve;
102
- if (Object.keys(toBeResolved).length === 0) {
103
- const importedResult = rCtx.importObjectUniversal(result);
104
- logOutputStatus(fh.handle, importedResult, cCtx.unstableMarker === undefined, -1, cCtx.unstableMarker);
105
- return { ir: importedResult };
106
- }
107
- let recalculationCounter = 0;
108
- if (index.getDebugFlags().logOutputStatus)
109
- console.log(`Output ${fh.handle} scaffold calculated (not all computables resolved yet).`);
110
- keepVmAlive = true;
111
- return {
112
- ir: toBeResolved,
113
- postprocessValue: (resolved, { unstableMarker, stable }) => {
114
- // resolving futures
115
- for (const [handle, value] of Object.entries(resolved))
116
- rCtx.runCallback(handle, value);
117
- // rendering result
118
- const renderedResult = rCtx.importObjectUniversal(result);
119
- // logging
120
- recalculationCounter++;
121
- logOutputStatus(fh.handle, renderedResult, stable, recalculationCounter, unstableMarker);
122
- return renderedResult;
123
- },
124
- };
125
- }
126
- catch (e) {
127
- keepVmAlive = false;
128
- throw e;
129
- }
130
- finally {
131
- if (!keepVmAlive)
132
- scope.dispose();
133
- }
134
- }, ops);
61
+ const key = `${ctx.blockId}#lambda#${configKey}#${fh.handle}`;
62
+ ops = {
63
+ ...ops,
64
+ key
65
+ };
66
+ if (ops.mode === void 0 && fh.retentive === true) ops.mode = "StableOnlyRetentive";
67
+ return _milaboratories_computable.Computable.makeRaw((cCtx) => {
68
+ const { code, featureFlags } = codeWithInfo;
69
+ if (require_index.getDebugFlags().logOutputRecalculations) console.log(`Block lambda recalculation : ${key} (${cCtx.changeSourceMarker}; ${cCtx.bodyInvocations} invocations)`);
70
+ const scope = new quickjs_emscripten.Scope();
71
+ let keepVmAlive = false;
72
+ cCtx.addOnDestroy(() => {
73
+ if (keepVmAlive) scope.dispose();
74
+ });
75
+ try {
76
+ const runtime = scope.manage(env.quickJs.newRuntime());
77
+ runtime.setMemoryLimit(1024 * 1024 * 8);
78
+ runtime.setMaxStackSize(1024 * 320);
79
+ let deadlineSettings;
80
+ runtime.setInterruptHandler(() => {
81
+ if (deadlineSettings === void 0) return false;
82
+ if (Date.now() > deadlineSettings.deadline) return true;
83
+ return false;
84
+ });
85
+ const rCtx = new require_context.JsExecutionContext(scope, scope.manage(runtime.newContext()), (s) => {
86
+ deadlineSettings = s;
87
+ }, featureFlags, {
88
+ computableCtx: cCtx,
89
+ blockCtx: ctx,
90
+ mlEnv: env
91
+ });
92
+ rCtx.evaluateBundle(code.content);
93
+ const result = rCtx.runCallback(fh.handle);
94
+ rCtx.resetComputableCtx();
95
+ const toBeResolved = rCtx.computableHelper.computablesToResolve;
96
+ if (Object.keys(toBeResolved).length === 0) {
97
+ const importedResult = rCtx.importObjectUniversal(result);
98
+ logOutputStatus(fh.handle, importedResult, cCtx.unstableMarker === void 0, -1, cCtx.unstableMarker);
99
+ return { ir: importedResult };
100
+ }
101
+ let recalculationCounter = 0;
102
+ if (require_index.getDebugFlags().logOutputStatus) console.log(`Output ${fh.handle} scaffold calculated (not all computables resolved yet).`);
103
+ keepVmAlive = true;
104
+ return {
105
+ ir: toBeResolved,
106
+ postprocessValue: (resolved, { unstableMarker, stable }) => {
107
+ for (const [handle, value] of Object.entries(resolved)) rCtx.runCallback(handle, value);
108
+ const renderedResult = rCtx.importObjectUniversal(result);
109
+ recalculationCounter++;
110
+ logOutputStatus(fh.handle, renderedResult, stable, recalculationCounter, unstableMarker);
111
+ return renderedResult;
112
+ }
113
+ };
114
+ } catch (e) {
115
+ keepVmAlive = false;
116
+ throw e;
117
+ } finally {
118
+ if (!keepVmAlive) scope.dispose();
119
+ }
120
+ }, ops);
135
121
  }
136
122
  function executeSingleLambda(quickJs, fh, codeWithInfo, ...args) {
137
- const { code, featureFlags } = codeWithInfo;
138
- const scope = new quickjsEmscripten.Scope();
139
- try {
140
- const runtime = scope.manage(quickJs.newRuntime());
141
- runtime.setMemoryLimit(1024 * 1024 * 8);
142
- runtime.setMaxStackSize(1024 * 320);
143
- let deadlineSettings;
144
- runtime.setInterruptHandler(() => {
145
- if (deadlineSettings === undefined)
146
- return false;
147
- if (Date.now() > deadlineSettings.deadline)
148
- return true;
149
- return false;
150
- });
151
- const vm = scope.manage(runtime.newContext());
152
- const rCtx = new context.JsExecutionContext(scope, vm, (s) => {
153
- deadlineSettings = s;
154
- }, featureFlags);
155
- // Initializing the model
156
- rCtx.evaluateBundle(code.content);
157
- // Running the lambda with arguments (e.g., state for args(), args for enrichmentTargets())
158
- return rCtx.importObjectUniversal(rCtx.runCallback(fh.handle, ...args));
159
- }
160
- finally {
161
- scope.dispose();
162
- }
123
+ const { code, featureFlags } = codeWithInfo;
124
+ const scope = new quickjs_emscripten.Scope();
125
+ try {
126
+ const runtime = scope.manage(quickJs.newRuntime());
127
+ runtime.setMemoryLimit(1024 * 1024 * 8);
128
+ runtime.setMaxStackSize(1024 * 320);
129
+ let deadlineSettings;
130
+ runtime.setInterruptHandler(() => {
131
+ if (deadlineSettings === void 0) return false;
132
+ if (Date.now() > deadlineSettings.deadline) return true;
133
+ return false;
134
+ });
135
+ const rCtx = new require_context.JsExecutionContext(scope, scope.manage(runtime.newContext()), (s) => {
136
+ deadlineSettings = s;
137
+ }, featureFlags);
138
+ rCtx.evaluateBundle(code.content);
139
+ return rCtx.importObjectUniversal(rCtx.runCallback(fh.handle, ...args));
140
+ } finally {
141
+ scope.dispose();
142
+ }
163
143
  }
164
144
 
145
+ //#endregion
165
146
  exports.computableFromRF = computableFromRF;
166
147
  exports.executeSingleLambda = executeSingleLambda;
167
- //# sourceMappingURL=index.cjs.map
148
+ //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/js_render/index.ts"],"sourcesContent":["import type { MiddleLayerEnvironment } from \"../middle_layer/middle_layer\";\nimport type { BlockCodeWithInfo, ConfigRenderLambda } from \"@platforma-sdk/model\";\nimport type { ComputableRenderingOps } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { QuickJSWASMModule } from \"quickjs-emscripten\";\nimport { Scope } from \"quickjs-emscripten\";\nimport type { DeadlineSettings } from \"./context\";\nimport { JsExecutionContext } from \"./context\";\nimport type { BlockContextAny } from \"../middle_layer/block_ctx\";\nimport { getDebugFlags } from \"../debug\";\n\nfunction logOutputStatus(\n handle: string,\n renderedResult: unknown,\n stable: boolean,\n recalculationCounter: number,\n unstableMarker?: string,\n) {\n if (getDebugFlags().logOutputStatus && (getDebugFlags().logOutputStatus === \"any\" || !stable)) {\n if (stable)\n console.log(\n `Stable output ${handle} calculated ${renderedResult !== undefined ? \"defined\" : \"undefined\"}; (#${recalculationCounter})`,\n );\n else\n console.log(\n `Unstable output ${handle}; marker = ${unstableMarker}; ${renderedResult !== undefined ? \"defined\" : \"undefined\"} (#${recalculationCounter})`,\n );\n }\n}\n\n/**\n * Creates a Computable that executes a render function (`fh`) from a block's code in a QuickJS virtual machine.\n * This function handles both synchronous and asynchronous execution patterns of the sandboxed JS code.\n *\n * The overall data flow is as follows:\n * 1. A QuickJS VM is initialized.\n * 2. A `JsExecutionContext` is created to bridge the host (TypeScript) and guest (QuickJS) environments. It injects a\n * context object (`cfgRenderCtx`) into the VM, providing helper methods for the sandboxed code to interact with the\n * platform (e.g., to request data).\n * 3. The block's Javascript bundle is evaluated in the VM.\n * 4. The specified render function (`fh.handle`) is executed.\n *\n * Two execution paths are possible depending on the behavior of the render function:\n *\n * ### Synchronous Path\n * If the render function computes its result without requesting any external data requiring asynchronous calculations,\n * it executes synchronously.\n * - The `computablesToResolve` map in `JsExecutionContext` remains empty.\n * - The function returns an object with an `ir` field holding the result (`{ ir: importedResult }`).\n * Since `postprocessValue` is not specified, `ir` is treated as the final resolved value of the Computable.\n * - The QuickJS VM is disposed of immediately as it's no longer needed.\n *\n * ### Asynchronous Path (with `postprocessValue`)\n * If the render function needs external data requiring asynchronous calculations (e.g., fetching a file), it calls\n * one of the injected helper methods. These methods don't return data directly. Instead, they:\n * a. Create a new `Computable` for the data request (e.g., to fetch a blob).\n * b. Register this new `Computable` in the `computablesToResolve` map.\n * c. Return a handle (string) to the sandboxed code.\n *\n * In this case:\n * - The initial execution of the render function returns a scaffold of the final result, which depends on the pending\n * computables.\n * - The `computablesToResolve` map is passed as the `ir` (initial result) to `Computable.makeRaw`.\n * - The `postprocessValue` function is provided to handle the results once the computables are resolved.\n * - The QuickJS VM is kept alive (`keepVmAlive = true`) because its state is needed in `postprocessValue`.\n * - Once the `computable` framework resolves all dependencies, it calls `postprocessValue` with the resolved data.\n * - `postprocessValue` feeds the resolved data back into the VM, allowing the sandboxed code to compute the final\n * result.\n * - The VM is eventually disposed of when the host Computable is destroyed.\n *\n * @param env The middle layer environment.\n * @param ctx The block context.\n * @param fh The config render lambda to execute.\n * @param codeWithInfo The block's code and feature flags.\n * @param configKey A key for the configuration, used for cache busting.\n * @param ops Options for the computable.\n * @returns A `Computable` that will resolve to the result of the lambda execution.\n */\nexport function computableFromRF(\n env: MiddleLayerEnvironment,\n ctx: BlockContextAny,\n fh: ConfigRenderLambda,\n codeWithInfo: BlockCodeWithInfo,\n configKey: string,\n ops: Partial<ComputableRenderingOps> = {},\n): Computable<unknown> {\n // adding configKey to reload all outputs on block-pack update\n const key = `${ctx.blockId}#lambda#${configKey}#${fh.handle}`;\n ops = { ...ops, key };\n if (ops.mode === undefined && fh.retentive === true) ops.mode = \"StableOnlyRetentive\";\n return Computable.makeRaw((cCtx) => {\n const { code, featureFlags } = codeWithInfo;\n\n if (getDebugFlags().logOutputRecalculations)\n console.log(\n `Block lambda recalculation : ${key} (${cCtx.changeSourceMarker}; ${cCtx.bodyInvocations} invocations)`,\n );\n\n const scope = new Scope();\n let keepVmAlive = false;\n cCtx.addOnDestroy(() => {\n // If keepVmAlive is false, the scope will be disposed by the finally block,\n // no need to dispose it here.\n if (keepVmAlive) scope.dispose();\n });\n\n try {\n const runtime = scope.manage(env.quickJs.newRuntime());\n runtime.setMemoryLimit(1024 * 1024 * 8);\n runtime.setMaxStackSize(1024 * 320);\n\n let deadlineSettings: DeadlineSettings | undefined;\n runtime.setInterruptHandler(() => {\n if (deadlineSettings === undefined) return false;\n if (Date.now() > deadlineSettings.deadline) return true;\n return false;\n });\n const vm = scope.manage(runtime.newContext());\n const rCtx = new JsExecutionContext(\n scope,\n vm,\n (s) => {\n deadlineSettings = s;\n },\n featureFlags,\n { computableCtx: cCtx, blockCtx: ctx, mlEnv: env },\n );\n\n rCtx.evaluateBundle(code.content);\n const result = rCtx.runCallback(fh.handle);\n\n rCtx.resetComputableCtx();\n\n const toBeResolved = rCtx.computableHelper!.computablesToResolve;\n\n if (Object.keys(toBeResolved).length === 0) {\n const importedResult = rCtx.importObjectUniversal(result);\n logOutputStatus(\n fh.handle,\n importedResult,\n cCtx.unstableMarker === undefined,\n -1,\n cCtx.unstableMarker,\n );\n return { ir: importedResult };\n }\n\n let recalculationCounter = 0;\n if (getDebugFlags().logOutputStatus)\n console.log(`Output ${fh.handle} scaffold calculated (not all computables resolved yet).`);\n keepVmAlive = true;\n\n return {\n ir: toBeResolved,\n postprocessValue: (resolved: Record<string, unknown>, { unstableMarker, stable }) => {\n // resolving futures\n for (const [handle, value] of Object.entries(resolved)) rCtx.runCallback(handle, value);\n\n // rendering result\n const renderedResult = rCtx.importObjectUniversal(result);\n\n // logging\n recalculationCounter++;\n logOutputStatus(fh.handle, renderedResult, stable, recalculationCounter, unstableMarker);\n\n return renderedResult;\n },\n };\n } catch (e) {\n keepVmAlive = false;\n throw e;\n } finally {\n if (!keepVmAlive) scope.dispose();\n }\n }, ops);\n}\n\nexport function executeSingleLambda(\n quickJs: QuickJSWASMModule,\n fh: ConfigRenderLambda,\n codeWithInfo: BlockCodeWithInfo,\n ...args: unknown[]\n): unknown {\n const { code, featureFlags } = codeWithInfo;\n const scope = new Scope();\n try {\n const runtime = scope.manage(quickJs.newRuntime());\n runtime.setMemoryLimit(1024 * 1024 * 8);\n runtime.setMaxStackSize(1024 * 320);\n\n let deadlineSettings: DeadlineSettings | undefined;\n runtime.setInterruptHandler(() => {\n if (deadlineSettings === undefined) return false;\n if (Date.now() > deadlineSettings.deadline) return true;\n return false;\n });\n const vm = scope.manage(runtime.newContext());\n const rCtx = new JsExecutionContext(\n scope,\n vm,\n (s) => {\n deadlineSettings = s;\n },\n featureFlags,\n );\n\n // Initializing the model\n rCtx.evaluateBundle(code.content);\n\n // Running the lambda with arguments (e.g., state for args(), args for enrichmentTargets())\n return rCtx.importObjectUniversal(rCtx.runCallback(fh.handle, ...args));\n } finally {\n scope.dispose();\n }\n}\n"],"names":["getDebugFlags","Computable","Scope","JsExecutionContext"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["getDebugFlags","Computable","Scope","JsExecutionContext"],"sources":["../../src/js_render/index.ts"],"sourcesContent":["import type { MiddleLayerEnvironment } from \"../middle_layer/middle_layer\";\nimport type { BlockCodeWithInfo, ConfigRenderLambda } from \"@platforma-sdk/model\";\nimport type { ComputableRenderingOps } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { QuickJSWASMModule } from \"quickjs-emscripten\";\nimport { Scope } from \"quickjs-emscripten\";\nimport type { DeadlineSettings } from \"./context\";\nimport { JsExecutionContext } from \"./context\";\nimport type { BlockContextAny } from \"../middle_layer/block_ctx\";\nimport { getDebugFlags } from \"../debug\";\n\nfunction logOutputStatus(\n handle: string,\n renderedResult: unknown,\n stable: boolean,\n recalculationCounter: number,\n unstableMarker?: string,\n) {\n if (getDebugFlags().logOutputStatus && (getDebugFlags().logOutputStatus === \"any\" || !stable)) {\n if (stable)\n console.log(\n `Stable output ${handle} calculated ${renderedResult !== undefined ? \"defined\" : \"undefined\"}; (#${recalculationCounter})`,\n );\n else\n console.log(\n `Unstable output ${handle}; marker = ${unstableMarker}; ${renderedResult !== undefined ? \"defined\" : \"undefined\"} (#${recalculationCounter})`,\n );\n }\n}\n\n/**\n * Creates a Computable that executes a render function (`fh`) from a block's code in a QuickJS virtual machine.\n * This function handles both synchronous and asynchronous execution patterns of the sandboxed JS code.\n *\n * The overall data flow is as follows:\n * 1. A QuickJS VM is initialized.\n * 2. A `JsExecutionContext` is created to bridge the host (TypeScript) and guest (QuickJS) environments. It injects a\n * context object (`cfgRenderCtx`) into the VM, providing helper methods for the sandboxed code to interact with the\n * platform (e.g., to request data).\n * 3. The block's Javascript bundle is evaluated in the VM.\n * 4. The specified render function (`fh.handle`) is executed.\n *\n * Two execution paths are possible depending on the behavior of the render function:\n *\n * ### Synchronous Path\n * If the render function computes its result without requesting any external data requiring asynchronous calculations,\n * it executes synchronously.\n * - The `computablesToResolve` map in `JsExecutionContext` remains empty.\n * - The function returns an object with an `ir` field holding the result (`{ ir: importedResult }`).\n * Since `postprocessValue` is not specified, `ir` is treated as the final resolved value of the Computable.\n * - The QuickJS VM is disposed of immediately as it's no longer needed.\n *\n * ### Asynchronous Path (with `postprocessValue`)\n * If the render function needs external data requiring asynchronous calculations (e.g., fetching a file), it calls\n * one of the injected helper methods. These methods don't return data directly. Instead, they:\n * a. Create a new `Computable` for the data request (e.g., to fetch a blob).\n * b. Register this new `Computable` in the `computablesToResolve` map.\n * c. Return a handle (string) to the sandboxed code.\n *\n * In this case:\n * - The initial execution of the render function returns a scaffold of the final result, which depends on the pending\n * computables.\n * - The `computablesToResolve` map is passed as the `ir` (initial result) to `Computable.makeRaw`.\n * - The `postprocessValue` function is provided to handle the results once the computables are resolved.\n * - The QuickJS VM is kept alive (`keepVmAlive = true`) because its state is needed in `postprocessValue`.\n * - Once the `computable` framework resolves all dependencies, it calls `postprocessValue` with the resolved data.\n * - `postprocessValue` feeds the resolved data back into the VM, allowing the sandboxed code to compute the final\n * result.\n * - The VM is eventually disposed of when the host Computable is destroyed.\n *\n * @param env The middle layer environment.\n * @param ctx The block context.\n * @param fh The config render lambda to execute.\n * @param codeWithInfo The block's code and feature flags.\n * @param configKey A key for the configuration, used for cache busting.\n * @param ops Options for the computable.\n * @returns A `Computable` that will resolve to the result of the lambda execution.\n */\nexport function computableFromRF(\n env: MiddleLayerEnvironment,\n ctx: BlockContextAny,\n fh: ConfigRenderLambda,\n codeWithInfo: BlockCodeWithInfo,\n configKey: string,\n ops: Partial<ComputableRenderingOps> = {},\n): Computable<unknown> {\n // adding configKey to reload all outputs on block-pack update\n const key = `${ctx.blockId}#lambda#${configKey}#${fh.handle}`;\n ops = { ...ops, key };\n if (ops.mode === undefined && fh.retentive === true) ops.mode = \"StableOnlyRetentive\";\n return Computable.makeRaw((cCtx) => {\n const { code, featureFlags } = codeWithInfo;\n\n if (getDebugFlags().logOutputRecalculations)\n console.log(\n `Block lambda recalculation : ${key} (${cCtx.changeSourceMarker}; ${cCtx.bodyInvocations} invocations)`,\n );\n\n const scope = new Scope();\n let keepVmAlive = false;\n cCtx.addOnDestroy(() => {\n // If keepVmAlive is false, the scope will be disposed by the finally block,\n // no need to dispose it here.\n if (keepVmAlive) scope.dispose();\n });\n\n try {\n const runtime = scope.manage(env.quickJs.newRuntime());\n runtime.setMemoryLimit(1024 * 1024 * 8);\n runtime.setMaxStackSize(1024 * 320);\n\n let deadlineSettings: DeadlineSettings | undefined;\n runtime.setInterruptHandler(() => {\n if (deadlineSettings === undefined) return false;\n if (Date.now() > deadlineSettings.deadline) return true;\n return false;\n });\n const vm = scope.manage(runtime.newContext());\n const rCtx = new JsExecutionContext(\n scope,\n vm,\n (s) => {\n deadlineSettings = s;\n },\n featureFlags,\n { computableCtx: cCtx, blockCtx: ctx, mlEnv: env },\n );\n\n rCtx.evaluateBundle(code.content);\n const result = rCtx.runCallback(fh.handle);\n\n rCtx.resetComputableCtx();\n\n const toBeResolved = rCtx.computableHelper!.computablesToResolve;\n\n if (Object.keys(toBeResolved).length === 0) {\n const importedResult = rCtx.importObjectUniversal(result);\n logOutputStatus(\n fh.handle,\n importedResult,\n cCtx.unstableMarker === undefined,\n -1,\n cCtx.unstableMarker,\n );\n return { ir: importedResult };\n }\n\n let recalculationCounter = 0;\n if (getDebugFlags().logOutputStatus)\n console.log(`Output ${fh.handle} scaffold calculated (not all computables resolved yet).`);\n keepVmAlive = true;\n\n return {\n ir: toBeResolved,\n postprocessValue: (resolved: Record<string, unknown>, { unstableMarker, stable }) => {\n // resolving futures\n for (const [handle, value] of Object.entries(resolved)) rCtx.runCallback(handle, value);\n\n // rendering result\n const renderedResult = rCtx.importObjectUniversal(result);\n\n // logging\n recalculationCounter++;\n logOutputStatus(fh.handle, renderedResult, stable, recalculationCounter, unstableMarker);\n\n return renderedResult;\n },\n };\n } catch (e) {\n keepVmAlive = false;\n throw e;\n } finally {\n if (!keepVmAlive) scope.dispose();\n }\n }, ops);\n}\n\nexport function executeSingleLambda(\n quickJs: QuickJSWASMModule,\n fh: ConfigRenderLambda,\n codeWithInfo: BlockCodeWithInfo,\n ...args: unknown[]\n): unknown {\n const { code, featureFlags } = codeWithInfo;\n const scope = new Scope();\n try {\n const runtime = scope.manage(quickJs.newRuntime());\n runtime.setMemoryLimit(1024 * 1024 * 8);\n runtime.setMaxStackSize(1024 * 320);\n\n let deadlineSettings: DeadlineSettings | undefined;\n runtime.setInterruptHandler(() => {\n if (deadlineSettings === undefined) return false;\n if (Date.now() > deadlineSettings.deadline) return true;\n return false;\n });\n const vm = scope.manage(runtime.newContext());\n const rCtx = new JsExecutionContext(\n scope,\n vm,\n (s) => {\n deadlineSettings = s;\n },\n featureFlags,\n );\n\n // Initializing the model\n rCtx.evaluateBundle(code.content);\n\n // Running the lambda with arguments (e.g., state for args(), args for enrichmentTargets())\n return rCtx.importObjectUniversal(rCtx.runCallback(fh.handle, ...args));\n } finally {\n scope.dispose();\n }\n}\n"],"mappings":"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"}