@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,266 +1,222 @@
1
- import { mapValueInVOE, executePSpecPredicate } from '@platforma-sdk/model';
2
- import { notEmpty } from '@milaboratories/ts-helpers';
3
- import { outputRef } from '../model/args.js';
4
- import { ProjectStructureKey, projectFieldName } from '../model/project_model.js';
5
- import { stagingGraph, allBlocks } from '../model/project_model_util.js';
6
- import { deriveGlobalPObjectId } from './data.js';
7
- import { parseRawPObjectCollection } from './p_object_collection.js';
1
+ import { ProjectStructureKey, projectFieldName } from "../model/project_model.js";
2
+ import { outputRef } from "../model/args.js";
3
+ import { allBlocks, stagingGraph } from "../model/project_model_util.js";
4
+ import { deriveGlobalPObjectId } from "./data.js";
5
+ import { parseRawPObjectCollection } from "./p_object_collection.js";
6
+ import { executePSpecPredicate, mapValueInVOE } from "@platforma-sdk/model";
7
+ import { notEmpty } from "@milaboratories/ts-helpers";
8
8
 
9
- class ResultPool {
10
- ctx;
11
- blocks;
12
- allSpecsAvailable;
13
- constructor(ctx, blocks) {
14
- this.ctx = ctx;
15
- this.blocks = blocks;
16
- let allSpecsAvailable = true;
17
- outer: for (const block of blocks.values()) {
18
- for (const ctx of [block.prod, block.staging])
19
- if (ctx !== undefined) {
20
- if (!ctx.locked) {
21
- allSpecsAvailable = false;
22
- break outer;
23
- }
24
- for (const result of ctx.results.values()) {
25
- if (result.spec === undefined) {
26
- allSpecsAvailable = false;
27
- break outer;
28
- }
29
- }
30
- }
31
- }
32
- this.allSpecsAvailable = allSpecsAvailable;
33
- }
34
- getSpecByRef(blockId, exportName) {
35
- const block = this.blocks.get(blockId);
36
- if (block === undefined)
37
- return undefined;
38
- let result = block.prod?.results?.get(exportName)?.spec;
39
- if (result !== undefined)
40
- return result;
41
- result = block.staging?.results?.get(exportName)?.spec;
42
- if (result !== undefined)
43
- return result;
44
- // Note: Don't mark unstable when staging is absent - it may be intentionally skipped
45
- // for v3 blocks with undefined prerunArgs.
46
- if (block.staging !== undefined && !block.staging.locked)
47
- this.ctx.markUnstable(`staging_not_locked:${blockId}`);
48
- else if (block.prod !== undefined && !block.prod.locked)
49
- this.ctx.markUnstable(`prod_not_locked:${blockId}`);
50
- // if neither prod nor staging is present, returned undefined value is considered stable
51
- return undefined;
52
- }
53
- getDataOrErrorByRef(blockId, exportName) {
54
- const block = this.blocks.get(blockId);
55
- if (block === undefined)
56
- return undefined;
57
- const result = block.prod?.results?.get(exportName);
58
- const data = result?.data?.();
59
- if (result !== undefined && result.spec !== undefined && data !== undefined)
60
- return mapValueInVOE(data, (value) => ({
61
- id: deriveGlobalPObjectId(blockId, exportName),
62
- spec: result.spec,
63
- data: value,
64
- }));
65
- if (result !== undefined)
66
- this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);
67
- if (block.prod !== undefined && !block.prod.locked)
68
- this.ctx.markUnstable(`prod_not_locked:${blockId}`);
69
- // if prod is absent, returned undefined value is considered stable
70
- return undefined;
71
- }
72
- getDataByRef(blockId, exportName) {
73
- const res = this.getDataOrErrorByRef(blockId, exportName);
74
- if (res === undefined || !res.ok)
75
- return undefined;
76
- return res.value;
77
- }
78
- getData() {
79
- const resultWithErrors = this.getDataWithErrors();
80
- const entries = [];
81
- for (const res of resultWithErrors.entries)
82
- if (res.obj.id !== undefined && res.obj.data.ok)
83
- entries.push({
84
- ref: res.ref,
85
- obj: {
86
- id: res.obj.id,
87
- spec: res.obj.spec,
88
- data: res.obj.data.value,
89
- },
90
- });
91
- return {
92
- entries,
93
- isComplete: resultWithErrors.isComplete,
94
- instabilityMarker: resultWithErrors.instabilityMarker,
95
- };
96
- }
97
- getDataWithErrors() {
98
- const entries = [];
99
- let isComplete = true;
100
- let instabilityMarker = undefined;
101
- const markUnstable = (marker) => {
102
- if (instabilityMarker === undefined)
103
- instabilityMarker = marker;
104
- isComplete = false;
105
- };
106
- const tryAddEntry = (blockId, exportName, result) => {
107
- if (result.spec !== undefined && result.hasData === true && result.data !== undefined) {
108
- const data = result.data();
109
- if (data !== undefined) {
110
- entries.push({
111
- ref: outputRef(blockId, exportName),
112
- obj: {
113
- id: data.ok ? deriveGlobalPObjectId(blockId, exportName) : undefined,
114
- spec: result.spec,
115
- data,
116
- },
117
- });
118
- }
119
- else
120
- markUnstable(`no_data:${blockId}:${exportName}`); // because data will eventually be resolved
121
- }
122
- };
123
- for (const [blockId, block] of this.blocks) {
124
- const exportsProcessed = new Set();
125
- if (block.prod !== undefined) {
126
- if (!block.prod.locked)
127
- markUnstable(`prod_not_locked:${blockId}`);
128
- for (const [exportName, result] of block.prod.results) {
129
- // any signal that this export will be (or already is) present in the prod
130
- // will prevent adding it from staging
131
- exportsProcessed.add(exportName);
132
- tryAddEntry(blockId, exportName, result);
133
- }
134
- }
135
- if (block.staging !== undefined) {
136
- if (!block.staging.locked)
137
- markUnstable(`staging_not_locked:${blockId}`);
138
- for (const [exportName, result] of block.staging.results) {
139
- // trying to add something only if result is absent in prod
140
- if (exportsProcessed.has(exportName))
141
- continue;
142
- tryAddEntry(blockId, exportName, result);
143
- }
144
- }
145
- }
146
- return { entries, isComplete, instabilityMarker };
147
- }
148
- getSpecs() {
149
- const entries = [];
150
- let isComplete = true;
151
- let instabilityMarker = undefined;
152
- const markUnstable = (marker) => {
153
- if (instabilityMarker === undefined)
154
- instabilityMarker = marker;
155
- isComplete = false;
156
- };
157
- for (const [blockId, block] of this.blocks) {
158
- const exportsProcessed = new Set();
159
- if (block.staging !== undefined) {
160
- if (!block.staging.locked)
161
- markUnstable(`staging_not_locked:${blockId}`);
162
- for (const [exportName, result] of block.staging.results)
163
- if (result.spec !== undefined) {
164
- entries.push({
165
- ref: outputRef(blockId, exportName),
166
- obj: result.spec,
167
- });
168
- exportsProcessed.add(exportName);
169
- }
170
- }
171
- // Note: Don't mark unstable when staging is absent - it may be intentionally skipped
172
- // for v3 blocks with undefined prerunArgs. If prod exists, use it; if neither exists,
173
- // the block simply has no specs to contribute.
174
- if (block.prod !== undefined) {
175
- if (!block.prod.locked)
176
- markUnstable(`prod_not_locked:${blockId}`);
177
- for (const [exportName, result] of block.prod.results) {
178
- // staging have higher priority when we are interested in specs
179
- if (exportsProcessed.has(exportName))
180
- continue;
181
- if (result.spec !== undefined) {
182
- entries.push({
183
- ref: outputRef(blockId, exportName),
184
- obj: result.spec,
185
- });
186
- }
187
- }
188
- }
189
- }
190
- return { entries, isComplete, instabilityMarker };
191
- }
192
- calculateOptions(predicate) {
193
- const found = [];
194
- for (const block of this.blocks.values()) {
195
- const exportsChecked = new Set();
196
- const addToFound = (ctx) => {
197
- for (const [exportName, result] of ctx.results) {
198
- if (exportsChecked.has(exportName) || result.spec === undefined)
199
- continue;
200
- exportsChecked.add(exportName);
201
- if (executePSpecPredicate(predicate, result.spec))
202
- found.push({
203
- label: block.info.label + " / " + exportName,
204
- ref: outputRef(block.info.id, exportName),
205
- spec: result.spec,
206
- });
207
- }
208
- };
209
- if (block.staging !== undefined)
210
- addToFound(block.staging);
211
- if (block.prod !== undefined)
212
- addToFound(block.prod);
213
- }
214
- return found;
215
- }
216
- static create(ctx, prjEntry, rootBlockId) {
217
- const prj = ctx.accessor(prjEntry).node();
218
- const structure = notEmpty(prj.getKeyValueAsJson(ProjectStructureKey));
219
- const graph = stagingGraph(structure);
220
- const targetBlocks = graph.traverseIds("upstream", rootBlockId);
221
- const blocks = new Map();
222
- for (const blockInfo of allBlocks(structure)) {
223
- if (!targetBlocks.has(blockInfo.id))
224
- continue;
225
- const prod = loadCtx(prj.traverse({
226
- field: projectFieldName(blockInfo.id, "prodCtx"),
227
- ignoreError: true,
228
- pureFieldErrorToUndefined: true,
229
- stableIfNotFound: true,
230
- }) !== undefined, prj.traverseOrError({
231
- field: projectFieldName(blockInfo.id, "prodUiCtx"),
232
- stableIfNotFound: true,
233
- }));
234
- const staging = loadCtx(prj.traverse({
235
- field: projectFieldName(blockInfo.id, "stagingCtx"),
236
- ignoreError: true,
237
- pureFieldErrorToUndefined: true,
238
- stableIfNotFound: true,
239
- }) !== undefined, prj.traverseOrError({
240
- field: projectFieldName(blockInfo.id, "stagingUiCtx"),
241
- stableIfNotFound: true,
242
- }));
243
- blocks.set(blockInfo.id, { info: blockInfo, prod, staging });
244
- }
245
- return new ResultPool(ctx, blocks);
246
- }
247
- }
9
+ //#region src/pool/result_pool.ts
10
+ var ResultPool = class ResultPool {
11
+ allSpecsAvailable;
12
+ constructor(ctx, blocks) {
13
+ this.ctx = ctx;
14
+ this.blocks = blocks;
15
+ let allSpecsAvailable = true;
16
+ outer: for (const block of blocks.values()) for (const ctx of [block.prod, block.staging]) if (ctx !== void 0) {
17
+ if (!ctx.locked) {
18
+ allSpecsAvailable = false;
19
+ break outer;
20
+ }
21
+ for (const result of ctx.results.values()) if (result.spec === void 0) {
22
+ allSpecsAvailable = false;
23
+ break outer;
24
+ }
25
+ }
26
+ this.allSpecsAvailable = allSpecsAvailable;
27
+ }
28
+ getSpecByRef(blockId, exportName) {
29
+ const block = this.blocks.get(blockId);
30
+ if (block === void 0) return void 0;
31
+ let result = block.prod?.results?.get(exportName)?.spec;
32
+ if (result !== void 0) return result;
33
+ result = block.staging?.results?.get(exportName)?.spec;
34
+ if (result !== void 0) return result;
35
+ if (block.staging !== void 0 && !block.staging.locked) this.ctx.markUnstable(`staging_not_locked:${blockId}`);
36
+ else if (block.prod !== void 0 && !block.prod.locked) this.ctx.markUnstable(`prod_not_locked:${blockId}`);
37
+ }
38
+ getDataOrErrorByRef(blockId, exportName) {
39
+ const block = this.blocks.get(blockId);
40
+ if (block === void 0) return void 0;
41
+ const result = block.prod?.results?.get(exportName);
42
+ const data = result?.data?.();
43
+ if (result !== void 0 && result.spec !== void 0 && data !== void 0) return mapValueInVOE(data, (value) => ({
44
+ id: deriveGlobalPObjectId(blockId, exportName),
45
+ spec: result.spec,
46
+ data: value
47
+ }));
48
+ if (result !== void 0) this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);
49
+ if (block.prod !== void 0 && !block.prod.locked) this.ctx.markUnstable(`prod_not_locked:${blockId}`);
50
+ }
51
+ getDataByRef(blockId, exportName) {
52
+ const res = this.getDataOrErrorByRef(blockId, exportName);
53
+ if (res === void 0 || !res.ok) return void 0;
54
+ return res.value;
55
+ }
56
+ getData() {
57
+ const resultWithErrors = this.getDataWithErrors();
58
+ const entries = [];
59
+ for (const res of resultWithErrors.entries) if (res.obj.id !== void 0 && res.obj.data.ok) entries.push({
60
+ ref: res.ref,
61
+ obj: {
62
+ id: res.obj.id,
63
+ spec: res.obj.spec,
64
+ data: res.obj.data.value
65
+ }
66
+ });
67
+ return {
68
+ entries,
69
+ isComplete: resultWithErrors.isComplete,
70
+ instabilityMarker: resultWithErrors.instabilityMarker
71
+ };
72
+ }
73
+ getDataWithErrors() {
74
+ const entries = [];
75
+ let isComplete = true;
76
+ let instabilityMarker = void 0;
77
+ const markUnstable = (marker) => {
78
+ if (instabilityMarker === void 0) instabilityMarker = marker;
79
+ isComplete = false;
80
+ };
81
+ const tryAddEntry = (blockId, exportName, result) => {
82
+ if (result.spec !== void 0 && result.hasData === true && result.data !== void 0) {
83
+ const data = result.data();
84
+ if (data !== void 0) entries.push({
85
+ ref: outputRef(blockId, exportName),
86
+ obj: {
87
+ id: data.ok ? deriveGlobalPObjectId(blockId, exportName) : void 0,
88
+ spec: result.spec,
89
+ data
90
+ }
91
+ });
92
+ else markUnstable(`no_data:${blockId}:${exportName}`);
93
+ }
94
+ };
95
+ for (const [blockId, block] of this.blocks) {
96
+ const exportsProcessed = /* @__PURE__ */ new Set();
97
+ if (block.prod !== void 0) {
98
+ if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);
99
+ for (const [exportName, result] of block.prod.results) {
100
+ exportsProcessed.add(exportName);
101
+ tryAddEntry(blockId, exportName, result);
102
+ }
103
+ }
104
+ if (block.staging !== void 0) {
105
+ if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);
106
+ for (const [exportName, result] of block.staging.results) {
107
+ if (exportsProcessed.has(exportName)) continue;
108
+ tryAddEntry(blockId, exportName, result);
109
+ }
110
+ }
111
+ }
112
+ return {
113
+ entries,
114
+ isComplete,
115
+ instabilityMarker
116
+ };
117
+ }
118
+ getSpecs() {
119
+ const entries = [];
120
+ let isComplete = true;
121
+ let instabilityMarker = void 0;
122
+ const markUnstable = (marker) => {
123
+ if (instabilityMarker === void 0) instabilityMarker = marker;
124
+ isComplete = false;
125
+ };
126
+ for (const [blockId, block] of this.blocks) {
127
+ const exportsProcessed = /* @__PURE__ */ new Set();
128
+ if (block.staging !== void 0) {
129
+ if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);
130
+ for (const [exportName, result] of block.staging.results) if (result.spec !== void 0) {
131
+ entries.push({
132
+ ref: outputRef(blockId, exportName),
133
+ obj: result.spec
134
+ });
135
+ exportsProcessed.add(exportName);
136
+ }
137
+ }
138
+ if (block.prod !== void 0) {
139
+ if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);
140
+ for (const [exportName, result] of block.prod.results) {
141
+ if (exportsProcessed.has(exportName)) continue;
142
+ if (result.spec !== void 0) entries.push({
143
+ ref: outputRef(blockId, exportName),
144
+ obj: result.spec
145
+ });
146
+ }
147
+ }
148
+ }
149
+ return {
150
+ entries,
151
+ isComplete,
152
+ instabilityMarker
153
+ };
154
+ }
155
+ calculateOptions(predicate) {
156
+ const found = [];
157
+ for (const block of this.blocks.values()) {
158
+ const exportsChecked = /* @__PURE__ */ new Set();
159
+ const addToFound = (ctx) => {
160
+ for (const [exportName, result] of ctx.results) {
161
+ if (exportsChecked.has(exportName) || result.spec === void 0) continue;
162
+ exportsChecked.add(exportName);
163
+ if (executePSpecPredicate(predicate, result.spec)) found.push({
164
+ label: block.info.label + " / " + exportName,
165
+ ref: outputRef(block.info.id, exportName),
166
+ spec: result.spec
167
+ });
168
+ }
169
+ };
170
+ if (block.staging !== void 0) addToFound(block.staging);
171
+ if (block.prod !== void 0) addToFound(block.prod);
172
+ }
173
+ return found;
174
+ }
175
+ static create(ctx, prjEntry, rootBlockId) {
176
+ const prj = ctx.accessor(prjEntry).node();
177
+ const structure = notEmpty(prj.getKeyValueAsJson(ProjectStructureKey));
178
+ const targetBlocks = stagingGraph(structure).traverseIds("upstream", rootBlockId);
179
+ const blocks = /* @__PURE__ */ new Map();
180
+ for (const blockInfo of allBlocks(structure)) {
181
+ if (!targetBlocks.has(blockInfo.id)) continue;
182
+ const prod = loadCtx(prj.traverse({
183
+ field: projectFieldName(blockInfo.id, "prodCtx"),
184
+ ignoreError: true,
185
+ pureFieldErrorToUndefined: true,
186
+ stableIfNotFound: true
187
+ }) !== void 0, prj.traverseOrError({
188
+ field: projectFieldName(blockInfo.id, "prodUiCtx"),
189
+ stableIfNotFound: true
190
+ }));
191
+ const staging = loadCtx(prj.traverse({
192
+ field: projectFieldName(blockInfo.id, "stagingCtx"),
193
+ ignoreError: true,
194
+ pureFieldErrorToUndefined: true,
195
+ stableIfNotFound: true
196
+ }) !== void 0, prj.traverseOrError({
197
+ field: projectFieldName(blockInfo.id, "stagingUiCtx"),
198
+ stableIfNotFound: true
199
+ }));
200
+ blocks.set(blockInfo.id, {
201
+ info: blockInfo,
202
+ prod,
203
+ staging
204
+ });
205
+ }
206
+ return new ResultPool(ctx, blocks);
207
+ }
208
+ };
248
209
  /** Loads single BContext data */
249
210
  function loadCtx(calculated, ctxAccessor) {
250
- if (ctxAccessor === undefined) {
251
- if (calculated)
252
- // this case defines the situation when ctx holder is present, but the ctx itself is
253
- // not yet available, to simplify the logic we make this situation indistinguishable
254
- // from empty unlocked cotext
255
- return { locked: false, results: new Map() };
256
- else
257
- return undefined;
258
- }
259
- if (ctxAccessor.ok)
260
- return parseRawPObjectCollection(ctxAccessor.value, false, true);
261
- else
262
- return undefined;
211
+ if (ctxAccessor === void 0) if (calculated) return {
212
+ locked: false,
213
+ results: /* @__PURE__ */ new Map()
214
+ };
215
+ else return void 0;
216
+ if (ctxAccessor.ok) return parseRawPObjectCollection(ctxAccessor.value, false, true);
217
+ else return void 0;
263
218
  }
264
219
 
220
+ //#endregion
265
221
  export { ResultPool };
266
- //# sourceMappingURL=result_pool.js.map
222
+ //# sourceMappingURL=result_pool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"result_pool.js","sources":["../../src/pool/result_pool.ts"],"sourcesContent":["import type { ComputableCtx } from \"@milaboratories/computable\";\nimport type { PlTreeEntry, PlTreeNodeAccessor } from \"@milaboratories/pl-tree\";\nimport type {\n Option,\n PObject,\n PObjectSpec,\n PSpecPredicate,\n PlRef,\n ResultCollection,\n ResultPoolEntry,\n ValueOrError,\n} from \"@platforma-sdk/model\";\nimport { executePSpecPredicate, mapValueInVOE } from \"@platforma-sdk/model\";\nimport { notEmpty } from \"@milaboratories/ts-helpers\";\nimport { outputRef } from \"../model/args\";\nimport type { Block, ProjectStructure } from \"../model/project_model\";\nimport { ProjectStructureKey, projectFieldName } from \"../model/project_model\";\nimport { allBlocks, stagingGraph } from \"../model/project_model_util\";\nimport type { Optional } from \"utility-types\";\nimport { deriveGlobalPObjectId } from \"./data\";\nimport type { RawPObjectCollection, RawPObjectEntry } from \"./p_object_collection\";\nimport { parseRawPObjectCollection } from \"./p_object_collection\";\n\n/** All exported results are addressed */\nexport type ResultKey = Pick<PlRef, \"blockId\" | \"name\">;\n\n/** Represents current information about particular block */\ninterface PoolBlock {\n /** Meta information from the project structure */\n readonly info: Block;\n /** Production ctx, if exists. If block's prod was executed, this field is guaranteed to be defined. */\n readonly prod?: RawPObjectCollection;\n /** Staging ctx, if exists. If staging was rendered, this field is guaranteed to be defined. */\n readonly staging?: RawPObjectCollection;\n}\n\nexport interface ExtendedResultCollection<T> extends ResultCollection<T> {\n readonly instabilityMarker: string | undefined;\n}\n\nexport interface ExtendedOption extends Option {\n readonly spec: PObjectSpec;\n}\n\nexport class ResultPool {\n private readonly allSpecsAvailable: boolean;\n private constructor(\n private readonly ctx: ComputableCtx,\n private readonly blocks: Map<string, PoolBlock>,\n ) {\n let allSpecsAvailable = true;\n outer: for (const block of blocks.values()) {\n for (const ctx of [block.prod, block.staging])\n if (ctx !== undefined) {\n if (!ctx.locked) {\n allSpecsAvailable = false;\n break outer;\n }\n for (const result of ctx.results.values()) {\n if (result.spec === undefined) {\n allSpecsAvailable = false;\n break outer;\n }\n }\n }\n }\n this.allSpecsAvailable = allSpecsAvailable;\n }\n\n public getSpecByRef(blockId: string, exportName: string): PObjectSpec | undefined {\n const block = this.blocks.get(blockId);\n if (block === undefined) return undefined;\n let result = block.prod?.results?.get(exportName)?.spec;\n if (result !== undefined) return result;\n result = block.staging?.results?.get(exportName)?.spec;\n if (result !== undefined) return result;\n // Note: Don't mark unstable when staging is absent - it may be intentionally skipped\n // for v3 blocks with undefined prerunArgs.\n if (block.staging !== undefined && !block.staging.locked)\n this.ctx.markUnstable(`staging_not_locked:${blockId}`);\n else if (block.prod !== undefined && !block.prod.locked)\n this.ctx.markUnstable(`prod_not_locked:${blockId}`);\n // if neither prod nor staging is present, returned undefined value is considered stable\n return undefined;\n }\n\n public getDataOrErrorByRef(\n blockId: string,\n exportName: string,\n ): ValueOrError<PObject<PlTreeNodeAccessor>, Error> | undefined {\n const block = this.blocks.get(blockId);\n if (block === undefined) return undefined;\n const result = block.prod?.results?.get(exportName);\n const data = result?.data?.();\n if (result !== undefined && result.spec !== undefined && data !== undefined)\n return mapValueInVOE(data, (value) => ({\n id: deriveGlobalPObjectId(blockId, exportName),\n spec: result.spec!,\n data: value,\n }));\n if (result !== undefined) this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);\n if (block.prod !== undefined && !block.prod.locked)\n this.ctx.markUnstable(`prod_not_locked:${blockId}`);\n // if prod is absent, returned undefined value is considered stable\n return undefined;\n }\n\n public getDataByRef(\n blockId: string,\n exportName: string,\n ): PObject<PlTreeNodeAccessor> | undefined {\n const res = this.getDataOrErrorByRef(blockId, exportName);\n if (res === undefined || !res.ok) return undefined;\n return res.value;\n }\n\n public getData(): ExtendedResultCollection<PObject<PlTreeNodeAccessor>> {\n const resultWithErrors = this.getDataWithErrors();\n const entries: ResultPoolEntry<PObject<PlTreeNodeAccessor>>[] = [];\n for (const res of resultWithErrors.entries)\n if (res.obj.id !== undefined && res.obj.data.ok)\n entries.push({\n ref: res.ref,\n obj: {\n id: res.obj.id,\n spec: res.obj.spec,\n data: res.obj.data.value,\n },\n });\n return {\n entries,\n isComplete: resultWithErrors.isComplete,\n instabilityMarker: resultWithErrors.instabilityMarker,\n };\n }\n\n public getDataWithErrors(): ExtendedResultCollection<\n Optional<PObject<ValueOrError<PlTreeNodeAccessor, Error>>, \"id\">\n > {\n const entries: ResultPoolEntry<\n Optional<PObject<ValueOrError<PlTreeNodeAccessor, Error>>, \"id\">\n >[] = [];\n let isComplete = true;\n\n let instabilityMarker: string | undefined = undefined;\n const markUnstable = (marker: string) => {\n if (instabilityMarker === undefined) instabilityMarker = marker;\n isComplete = false;\n };\n\n const tryAddEntry = (blockId: string, exportName: string, result: RawPObjectEntry) => {\n if (result.spec !== undefined && result.hasData === true && result.data !== undefined) {\n const data = result.data();\n if (data !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: {\n id: data.ok ? deriveGlobalPObjectId(blockId, exportName) : undefined,\n spec: result.spec,\n data,\n },\n });\n } else markUnstable(`no_data:${blockId}:${exportName}`); // because data will eventually be resolved\n }\n };\n\n for (const [blockId, block] of this.blocks) {\n const exportsProcessed = new Set<string>();\n\n if (block.prod !== undefined) {\n if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);\n for (const [exportName, result] of block.prod.results) {\n // any signal that this export will be (or already is) present in the prod\n // will prevent adding it from staging\n exportsProcessed.add(exportName);\n tryAddEntry(blockId, exportName, result);\n }\n }\n\n if (block.staging !== undefined) {\n if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);\n\n for (const [exportName, result] of block.staging.results) {\n // trying to add something only if result is absent in prod\n if (exportsProcessed.has(exportName)) continue;\n tryAddEntry(blockId, exportName, result);\n }\n }\n }\n\n return { entries, isComplete, instabilityMarker };\n }\n\n public getSpecs(): ExtendedResultCollection<PObjectSpec> {\n const entries: ResultPoolEntry<PObjectSpec>[] = [];\n\n let isComplete = true;\n\n let instabilityMarker: string | undefined = undefined;\n const markUnstable = (marker: string) => {\n if (instabilityMarker === undefined) instabilityMarker = marker;\n isComplete = false;\n };\n\n for (const [blockId, block] of this.blocks) {\n const exportsProcessed = new Set<string>();\n if (block.staging !== undefined) {\n if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);\n\n for (const [exportName, result] of block.staging.results)\n if (result.spec !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: result.spec,\n });\n exportsProcessed.add(exportName);\n }\n }\n // Note: Don't mark unstable when staging is absent - it may be intentionally skipped\n // for v3 blocks with undefined prerunArgs. If prod exists, use it; if neither exists,\n // the block simply has no specs to contribute.\n\n if (block.prod !== undefined) {\n if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);\n for (const [exportName, result] of block.prod.results) {\n // staging have higher priority when we are interested in specs\n if (exportsProcessed.has(exportName)) continue;\n\n if (result.spec !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: result.spec,\n });\n }\n }\n }\n }\n\n return { entries, isComplete, instabilityMarker };\n }\n\n public calculateOptions(predicate: PSpecPredicate): ExtendedOption[] {\n const found: ExtendedOption[] = [];\n for (const block of this.blocks.values()) {\n const exportsChecked = new Set<string>();\n const addToFound = (ctx: RawPObjectCollection) => {\n for (const [exportName, result] of ctx.results) {\n if (exportsChecked.has(exportName) || result.spec === undefined) continue;\n exportsChecked.add(exportName);\n if (executePSpecPredicate(predicate, result.spec))\n found.push({\n label: block.info.label + \" / \" + exportName,\n ref: outputRef(block.info.id, exportName),\n spec: result.spec,\n });\n }\n };\n if (block.staging !== undefined) addToFound(block.staging);\n if (block.prod !== undefined) addToFound(block.prod);\n }\n return found;\n }\n\n public static create(ctx: ComputableCtx, prjEntry: PlTreeEntry, rootBlockId: string): ResultPool {\n const prj = ctx.accessor(prjEntry).node();\n\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const graph = stagingGraph(structure);\n const targetBlocks = graph.traverseIds(\"upstream\", rootBlockId);\n\n const blocks = new Map<string, PoolBlock>();\n\n for (const blockInfo of allBlocks(structure)) {\n if (!targetBlocks.has(blockInfo.id)) continue;\n\n const prod = loadCtx(\n prj.traverse({\n field: projectFieldName(blockInfo.id, \"prodCtx\"),\n ignoreError: true,\n pureFieldErrorToUndefined: true,\n stableIfNotFound: true,\n }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, \"prodUiCtx\"),\n stableIfNotFound: true,\n }),\n );\n const staging = loadCtx(\n prj.traverse({\n field: projectFieldName(blockInfo.id, \"stagingCtx\"),\n ignoreError: true,\n pureFieldErrorToUndefined: true,\n stableIfNotFound: true,\n }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, \"stagingUiCtx\"),\n stableIfNotFound: true,\n }),\n );\n\n blocks.set(blockInfo.id, { info: blockInfo, prod, staging });\n }\n\n return new ResultPool(ctx, blocks);\n }\n}\n\n/** Loads single BContext data */\nfunction loadCtx(\n calculated: boolean,\n ctxAccessor: ValueOrError<PlTreeNodeAccessor, Error> | undefined,\n): RawPObjectCollection | undefined {\n if (ctxAccessor === undefined) {\n if (calculated)\n // this case defines the situation when ctx holder is present, but the ctx itself is\n // not yet available, to simplify the logic we make this situation indistinguishable\n // from empty unlocked cotext\n return { locked: false, results: new Map() };\n else return undefined;\n }\n\n if (ctxAccessor.ok) return parseRawPObjectCollection(ctxAccessor.value, false, true);\n else return undefined;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result_pool.js","names":[],"sources":["../../src/pool/result_pool.ts"],"sourcesContent":["import type { ComputableCtx } from \"@milaboratories/computable\";\nimport type { PlTreeEntry, PlTreeNodeAccessor } from \"@milaboratories/pl-tree\";\nimport type {\n Option,\n PObject,\n PObjectSpec,\n PSpecPredicate,\n PlRef,\n ResultCollection,\n ResultPoolEntry,\n ValueOrError,\n} from \"@platforma-sdk/model\";\nimport { executePSpecPredicate, mapValueInVOE } from \"@platforma-sdk/model\";\nimport { notEmpty } from \"@milaboratories/ts-helpers\";\nimport { outputRef } from \"../model/args\";\nimport type { Block, ProjectStructure } from \"../model/project_model\";\nimport { ProjectStructureKey, projectFieldName } from \"../model/project_model\";\nimport { allBlocks, stagingGraph } from \"../model/project_model_util\";\nimport type { Optional } from \"utility-types\";\nimport { deriveGlobalPObjectId } from \"./data\";\nimport type { RawPObjectCollection, RawPObjectEntry } from \"./p_object_collection\";\nimport { parseRawPObjectCollection } from \"./p_object_collection\";\n\n/** All exported results are addressed */\nexport type ResultKey = Pick<PlRef, \"blockId\" | \"name\">;\n\n/** Represents current information about particular block */\ninterface PoolBlock {\n /** Meta information from the project structure */\n readonly info: Block;\n /** Production ctx, if exists. If block's prod was executed, this field is guaranteed to be defined. */\n readonly prod?: RawPObjectCollection;\n /** Staging ctx, if exists. If staging was rendered, this field is guaranteed to be defined. */\n readonly staging?: RawPObjectCollection;\n}\n\nexport interface ExtendedResultCollection<T> extends ResultCollection<T> {\n readonly instabilityMarker: string | undefined;\n}\n\nexport interface ExtendedOption extends Option {\n readonly spec: PObjectSpec;\n}\n\nexport class ResultPool {\n private readonly allSpecsAvailable: boolean;\n private constructor(\n private readonly ctx: ComputableCtx,\n private readonly blocks: Map<string, PoolBlock>,\n ) {\n let allSpecsAvailable = true;\n outer: for (const block of blocks.values()) {\n for (const ctx of [block.prod, block.staging])\n if (ctx !== undefined) {\n if (!ctx.locked) {\n allSpecsAvailable = false;\n break outer;\n }\n for (const result of ctx.results.values()) {\n if (result.spec === undefined) {\n allSpecsAvailable = false;\n break outer;\n }\n }\n }\n }\n this.allSpecsAvailable = allSpecsAvailable;\n }\n\n public getSpecByRef(blockId: string, exportName: string): PObjectSpec | undefined {\n const block = this.blocks.get(blockId);\n if (block === undefined) return undefined;\n let result = block.prod?.results?.get(exportName)?.spec;\n if (result !== undefined) return result;\n result = block.staging?.results?.get(exportName)?.spec;\n if (result !== undefined) return result;\n // Note: Don't mark unstable when staging is absent - it may be intentionally skipped\n // for v3 blocks with undefined prerunArgs.\n if (block.staging !== undefined && !block.staging.locked)\n this.ctx.markUnstable(`staging_not_locked:${blockId}`);\n else if (block.prod !== undefined && !block.prod.locked)\n this.ctx.markUnstable(`prod_not_locked:${blockId}`);\n // if neither prod nor staging is present, returned undefined value is considered stable\n return undefined;\n }\n\n public getDataOrErrorByRef(\n blockId: string,\n exportName: string,\n ): ValueOrError<PObject<PlTreeNodeAccessor>, Error> | undefined {\n const block = this.blocks.get(blockId);\n if (block === undefined) return undefined;\n const result = block.prod?.results?.get(exportName);\n const data = result?.data?.();\n if (result !== undefined && result.spec !== undefined && data !== undefined)\n return mapValueInVOE(data, (value) => ({\n id: deriveGlobalPObjectId(blockId, exportName),\n spec: result.spec!,\n data: value,\n }));\n if (result !== undefined) this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);\n if (block.prod !== undefined && !block.prod.locked)\n this.ctx.markUnstable(`prod_not_locked:${blockId}`);\n // if prod is absent, returned undefined value is considered stable\n return undefined;\n }\n\n public getDataByRef(\n blockId: string,\n exportName: string,\n ): PObject<PlTreeNodeAccessor> | undefined {\n const res = this.getDataOrErrorByRef(blockId, exportName);\n if (res === undefined || !res.ok) return undefined;\n return res.value;\n }\n\n public getData(): ExtendedResultCollection<PObject<PlTreeNodeAccessor>> {\n const resultWithErrors = this.getDataWithErrors();\n const entries: ResultPoolEntry<PObject<PlTreeNodeAccessor>>[] = [];\n for (const res of resultWithErrors.entries)\n if (res.obj.id !== undefined && res.obj.data.ok)\n entries.push({\n ref: res.ref,\n obj: {\n id: res.obj.id,\n spec: res.obj.spec,\n data: res.obj.data.value,\n },\n });\n return {\n entries,\n isComplete: resultWithErrors.isComplete,\n instabilityMarker: resultWithErrors.instabilityMarker,\n };\n }\n\n public getDataWithErrors(): ExtendedResultCollection<\n Optional<PObject<ValueOrError<PlTreeNodeAccessor, Error>>, \"id\">\n > {\n const entries: ResultPoolEntry<\n Optional<PObject<ValueOrError<PlTreeNodeAccessor, Error>>, \"id\">\n >[] = [];\n let isComplete = true;\n\n let instabilityMarker: string | undefined = undefined;\n const markUnstable = (marker: string) => {\n if (instabilityMarker === undefined) instabilityMarker = marker;\n isComplete = false;\n };\n\n const tryAddEntry = (blockId: string, exportName: string, result: RawPObjectEntry) => {\n if (result.spec !== undefined && result.hasData === true && result.data !== undefined) {\n const data = result.data();\n if (data !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: {\n id: data.ok ? deriveGlobalPObjectId(blockId, exportName) : undefined,\n spec: result.spec,\n data,\n },\n });\n } else markUnstable(`no_data:${blockId}:${exportName}`); // because data will eventually be resolved\n }\n };\n\n for (const [blockId, block] of this.blocks) {\n const exportsProcessed = new Set<string>();\n\n if (block.prod !== undefined) {\n if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);\n for (const [exportName, result] of block.prod.results) {\n // any signal that this export will be (or already is) present in the prod\n // will prevent adding it from staging\n exportsProcessed.add(exportName);\n tryAddEntry(blockId, exportName, result);\n }\n }\n\n if (block.staging !== undefined) {\n if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);\n\n for (const [exportName, result] of block.staging.results) {\n // trying to add something only if result is absent in prod\n if (exportsProcessed.has(exportName)) continue;\n tryAddEntry(blockId, exportName, result);\n }\n }\n }\n\n return { entries, isComplete, instabilityMarker };\n }\n\n public getSpecs(): ExtendedResultCollection<PObjectSpec> {\n const entries: ResultPoolEntry<PObjectSpec>[] = [];\n\n let isComplete = true;\n\n let instabilityMarker: string | undefined = undefined;\n const markUnstable = (marker: string) => {\n if (instabilityMarker === undefined) instabilityMarker = marker;\n isComplete = false;\n };\n\n for (const [blockId, block] of this.blocks) {\n const exportsProcessed = new Set<string>();\n if (block.staging !== undefined) {\n if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);\n\n for (const [exportName, result] of block.staging.results)\n if (result.spec !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: result.spec,\n });\n exportsProcessed.add(exportName);\n }\n }\n // Note: Don't mark unstable when staging is absent - it may be intentionally skipped\n // for v3 blocks with undefined prerunArgs. If prod exists, use it; if neither exists,\n // the block simply has no specs to contribute.\n\n if (block.prod !== undefined) {\n if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);\n for (const [exportName, result] of block.prod.results) {\n // staging have higher priority when we are interested in specs\n if (exportsProcessed.has(exportName)) continue;\n\n if (result.spec !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: result.spec,\n });\n }\n }\n }\n }\n\n return { entries, isComplete, instabilityMarker };\n }\n\n public calculateOptions(predicate: PSpecPredicate): ExtendedOption[] {\n const found: ExtendedOption[] = [];\n for (const block of this.blocks.values()) {\n const exportsChecked = new Set<string>();\n const addToFound = (ctx: RawPObjectCollection) => {\n for (const [exportName, result] of ctx.results) {\n if (exportsChecked.has(exportName) || result.spec === undefined) continue;\n exportsChecked.add(exportName);\n if (executePSpecPredicate(predicate, result.spec))\n found.push({\n label: block.info.label + \" / \" + exportName,\n ref: outputRef(block.info.id, exportName),\n spec: result.spec,\n });\n }\n };\n if (block.staging !== undefined) addToFound(block.staging);\n if (block.prod !== undefined) addToFound(block.prod);\n }\n return found;\n }\n\n public static create(ctx: ComputableCtx, prjEntry: PlTreeEntry, rootBlockId: string): ResultPool {\n const prj = ctx.accessor(prjEntry).node();\n\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const graph = stagingGraph(structure);\n const targetBlocks = graph.traverseIds(\"upstream\", rootBlockId);\n\n const blocks = new Map<string, PoolBlock>();\n\n for (const blockInfo of allBlocks(structure)) {\n if (!targetBlocks.has(blockInfo.id)) continue;\n\n const prod = loadCtx(\n prj.traverse({\n field: projectFieldName(blockInfo.id, \"prodCtx\"),\n ignoreError: true,\n pureFieldErrorToUndefined: true,\n stableIfNotFound: true,\n }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, \"prodUiCtx\"),\n stableIfNotFound: true,\n }),\n );\n const staging = loadCtx(\n prj.traverse({\n field: projectFieldName(blockInfo.id, \"stagingCtx\"),\n ignoreError: true,\n pureFieldErrorToUndefined: true,\n stableIfNotFound: true,\n }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, \"stagingUiCtx\"),\n stableIfNotFound: true,\n }),\n );\n\n blocks.set(blockInfo.id, { info: blockInfo, prod, staging });\n }\n\n return new ResultPool(ctx, blocks);\n }\n}\n\n/** Loads single BContext data */\nfunction loadCtx(\n calculated: boolean,\n ctxAccessor: ValueOrError<PlTreeNodeAccessor, Error> | undefined,\n): RawPObjectCollection | undefined {\n if (ctxAccessor === undefined) {\n if (calculated)\n // this case defines the situation when ctx holder is present, but the ctx itself is\n // not yet available, to simplify the logic we make this situation indistinguishable\n // from empty unlocked cotext\n return { locked: false, results: new Map() };\n else return undefined;\n }\n\n if (ctxAccessor.ok) return parseRawPObjectCollection(ctxAccessor.value, false, true);\n else return undefined;\n}\n"],"mappings":"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"}