@milaboratories/pl-middle-layer 1.42.1 → 1.42.3

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 (410) hide show
  1. package/dist/block_registry/index.d.ts +0 -1
  2. package/dist/block_registry/registry-v2-provider.cjs +22 -0
  3. package/dist/block_registry/registry-v2-provider.cjs.map +1 -0
  4. package/dist/block_registry/registry-v2-provider.d.ts +0 -1
  5. package/dist/block_registry/registry-v2-provider.js +20 -0
  6. package/dist/block_registry/registry-v2-provider.js.map +1 -0
  7. package/dist/block_registry/registry.cjs +231 -0
  8. package/dist/block_registry/registry.cjs.map +1 -0
  9. package/dist/block_registry/registry.d.ts +0 -1
  10. package/dist/block_registry/registry.js +227 -0
  11. package/dist/block_registry/registry.js.map +1 -0
  12. package/dist/block_registry/registry.test.d.ts +0 -1
  13. package/dist/block_registry/watcher.cjs +174 -0
  14. package/dist/block_registry/watcher.cjs.map +1 -0
  15. package/dist/block_registry/watcher.d.ts +0 -1
  16. package/dist/block_registry/watcher.js +171 -0
  17. package/dist/block_registry/watcher.js.map +1 -0
  18. package/dist/block_registry/well_known_registries.cjs +19 -0
  19. package/dist/block_registry/well_known_registries.cjs.map +1 -0
  20. package/dist/block_registry/well_known_registries.d.ts +0 -1
  21. package/dist/block_registry/well_known_registries.js +15 -0
  22. package/dist/block_registry/well_known_registries.js.map +1 -0
  23. package/dist/cfg_render/executor.cjs +159 -0
  24. package/dist/cfg_render/executor.cjs.map +1 -0
  25. package/dist/cfg_render/executor.d.ts +0 -1
  26. package/dist/cfg_render/executor.js +156 -0
  27. package/dist/cfg_render/executor.js.map +1 -0
  28. package/dist/cfg_render/executor.test.d.ts +0 -1
  29. package/dist/cfg_render/operation.d.ts +0 -1
  30. package/dist/cfg_render/renderer.cjs +528 -0
  31. package/dist/cfg_render/renderer.cjs.map +1 -0
  32. package/dist/cfg_render/renderer.d.ts +0 -1
  33. package/dist/cfg_render/renderer.js +525 -0
  34. package/dist/cfg_render/renderer.js.map +1 -0
  35. package/dist/cfg_render/traverse.cjs +65 -0
  36. package/dist/cfg_render/traverse.cjs.map +1 -0
  37. package/dist/cfg_render/traverse.d.ts +0 -1
  38. package/dist/cfg_render/traverse.js +63 -0
  39. package/dist/cfg_render/traverse.js.map +1 -0
  40. package/dist/cfg_render/util.cjs +32 -0
  41. package/dist/cfg_render/util.cjs.map +1 -0
  42. package/dist/cfg_render/util.d.ts +0 -1
  43. package/dist/cfg_render/util.js +28 -0
  44. package/dist/cfg_render/util.js.map +1 -0
  45. package/dist/debug/index.cjs +21 -0
  46. package/dist/debug/index.cjs.map +1 -0
  47. package/dist/debug/index.d.ts +0 -1
  48. package/dist/debug/index.js +19 -0
  49. package/dist/debug/index.js.map +1 -0
  50. package/dist/dev_env/index.cjs +59 -0
  51. package/dist/dev_env/index.cjs.map +1 -0
  52. package/dist/dev_env/index.d.ts +0 -1
  53. package/dist/dev_env/index.js +48 -0
  54. package/dist/dev_env/index.js.map +1 -0
  55. package/dist/dev_env/util.cjs +37 -0
  56. package/dist/dev_env/util.cjs.map +1 -0
  57. package/dist/dev_env/util.d.ts +0 -1
  58. package/dist/dev_env/util.js +16 -0
  59. package/dist/dev_env/util.js.map +1 -0
  60. package/dist/index.cjs +74 -0
  61. package/dist/index.cjs.map +1 -0
  62. package/dist/index.d.ts +0 -1
  63. package/dist/index.js +15 -75
  64. package/dist/index.js.map +1 -1
  65. package/dist/js_render/computable_context.cjs +525 -0
  66. package/dist/js_render/computable_context.cjs.map +1 -0
  67. package/dist/js_render/computable_context.d.ts +0 -1
  68. package/dist/js_render/computable_context.js +523 -0
  69. package/dist/js_render/computable_context.js.map +1 -0
  70. package/dist/js_render/context.cjs +229 -0
  71. package/dist/js_render/context.cjs.map +1 -0
  72. package/dist/js_render/context.d.ts +0 -1
  73. package/dist/js_render/context.js +226 -0
  74. package/dist/js_render/context.js.map +1 -0
  75. package/dist/js_render/index.cjs +163 -0
  76. package/dist/js_render/index.cjs.map +1 -0
  77. package/dist/js_render/index.d.ts +0 -1
  78. package/dist/js_render/index.js +160 -0
  79. package/dist/js_render/index.js.map +1 -0
  80. package/dist/middle_layer/active_cfg.cjs +37 -0
  81. package/dist/middle_layer/active_cfg.cjs.map +1 -0
  82. package/dist/middle_layer/active_cfg.d.ts +0 -1
  83. package/dist/middle_layer/active_cfg.js +35 -0
  84. package/dist/middle_layer/active_cfg.js.map +1 -0
  85. package/dist/middle_layer/block.cjs +51 -0
  86. package/dist/middle_layer/block.cjs.map +1 -0
  87. package/dist/middle_layer/block.d.ts +0 -1
  88. package/dist/middle_layer/block.js +48 -0
  89. package/dist/middle_layer/block.js.map +1 -0
  90. package/dist/middle_layer/block_ctx.cjs +87 -0
  91. package/dist/middle_layer/block_ctx.cjs.map +1 -0
  92. package/dist/middle_layer/block_ctx.d.ts +0 -1
  93. package/dist/middle_layer/block_ctx.js +84 -0
  94. package/dist/middle_layer/block_ctx.js.map +1 -0
  95. package/dist/middle_layer/block_ctx_unsafe.cjs +19 -0
  96. package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -0
  97. package/dist/middle_layer/block_ctx_unsafe.d.ts +0 -1
  98. package/dist/middle_layer/block_ctx_unsafe.js +16 -0
  99. package/dist/middle_layer/block_ctx_unsafe.js.map +1 -0
  100. package/dist/middle_layer/driver_kit.cjs +42 -0
  101. package/dist/middle_layer/driver_kit.cjs.map +1 -0
  102. package/dist/middle_layer/driver_kit.d.ts +0 -1
  103. package/dist/middle_layer/driver_kit.js +40 -0
  104. package/dist/middle_layer/driver_kit.js.map +1 -0
  105. package/dist/middle_layer/frontend_path.cjs +64 -0
  106. package/dist/middle_layer/frontend_path.cjs.map +1 -0
  107. package/dist/middle_layer/frontend_path.d.ts +0 -1
  108. package/dist/middle_layer/frontend_path.js +62 -0
  109. package/dist/middle_layer/frontend_path.js.map +1 -0
  110. package/dist/middle_layer/index.d.ts +0 -1
  111. package/dist/middle_layer/middle_layer.cjs +226 -0
  112. package/dist/middle_layer/middle_layer.cjs.map +1 -0
  113. package/dist/middle_layer/middle_layer.d.ts +0 -1
  114. package/dist/middle_layer/middle_layer.js +224 -0
  115. package/dist/middle_layer/middle_layer.js.map +1 -0
  116. package/dist/middle_layer/navigation_states.cjs +41 -0
  117. package/dist/middle_layer/navigation_states.cjs.map +1 -0
  118. package/dist/middle_layer/navigation_states.d.ts +0 -1
  119. package/dist/middle_layer/navigation_states.js +39 -0
  120. package/dist/middle_layer/navigation_states.js.map +1 -0
  121. package/dist/middle_layer/ops.cjs +75 -0
  122. package/dist/middle_layer/ops.cjs.map +1 -0
  123. package/dist/middle_layer/ops.d.ts +0 -1
  124. package/dist/middle_layer/ops.js +70 -0
  125. package/dist/middle_layer/ops.js.map +1 -0
  126. package/dist/middle_layer/project.cjs +446 -0
  127. package/dist/middle_layer/project.cjs.map +1 -0
  128. package/dist/middle_layer/project.d.ts +0 -1
  129. package/dist/middle_layer/project.js +444 -0
  130. package/dist/middle_layer/project.js.map +1 -0
  131. package/dist/middle_layer/project_list.cjs +53 -0
  132. package/dist/middle_layer/project_list.cjs.map +1 -0
  133. package/dist/middle_layer/project_list.d.ts +0 -1
  134. package/dist/middle_layer/project_list.js +48 -0
  135. package/dist/middle_layer/project_list.js.map +1 -0
  136. package/dist/middle_layer/project_overview.cjs +225 -0
  137. package/dist/middle_layer/project_overview.cjs.map +1 -0
  138. package/dist/middle_layer/project_overview.d.ts +0 -1
  139. package/dist/middle_layer/project_overview.js +204 -0
  140. package/dist/middle_layer/project_overview.js.map +1 -0
  141. package/dist/middle_layer/project_overview_light.cjs +20 -0
  142. package/dist/middle_layer/project_overview_light.cjs.map +1 -0
  143. package/dist/middle_layer/project_overview_light.d.ts +0 -1
  144. package/dist/middle_layer/project_overview_light.js +18 -0
  145. package/dist/middle_layer/project_overview_light.js.map +1 -0
  146. package/dist/middle_layer/render.cjs +26 -0
  147. package/dist/middle_layer/render.cjs.map +1 -0
  148. package/dist/middle_layer/render.d.ts +0 -1
  149. package/dist/middle_layer/render.js +23 -0
  150. package/dist/middle_layer/render.js.map +1 -0
  151. package/dist/middle_layer/render.test.d.ts +0 -1
  152. package/dist/middle_layer/types.d.ts +0 -1
  153. package/dist/middle_layer/util.cjs +22 -0
  154. package/dist/middle_layer/util.cjs.map +1 -0
  155. package/dist/middle_layer/util.d.ts +0 -1
  156. package/dist/middle_layer/util.js +20 -0
  157. package/dist/middle_layer/util.js.map +1 -0
  158. package/dist/model/args.cjs +62 -0
  159. package/dist/model/args.cjs.map +1 -0
  160. package/dist/model/args.d.ts +0 -1
  161. package/dist/model/args.js +58 -0
  162. package/dist/model/args.js.map +1 -0
  163. package/dist/model/block_pack.d.ts +0 -1
  164. package/dist/model/block_pack_spec.cjs +11 -0
  165. package/dist/model/block_pack_spec.cjs.map +1 -0
  166. package/dist/model/block_pack_spec.d.ts +0 -1
  167. package/dist/model/block_pack_spec.js +8 -0
  168. package/dist/model/block_pack_spec.js.map +1 -0
  169. package/dist/model/frontend.d.ts +0 -1
  170. package/dist/model/index.d.ts +0 -1
  171. package/dist/model/project_helper.cjs +36 -0
  172. package/dist/model/project_helper.cjs.map +1 -0
  173. package/dist/model/project_helper.d.ts +0 -1
  174. package/dist/model/project_helper.js +34 -0
  175. package/dist/model/project_helper.js.map +1 -0
  176. package/dist/model/project_model.cjs +74 -0
  177. package/dist/model/project_model.cjs.map +1 -0
  178. package/dist/model/project_model.d.ts +0 -1
  179. package/dist/model/project_model.js +54 -0
  180. package/dist/model/project_model.js.map +1 -0
  181. package/dist/model/project_model.test.d.ts +0 -1
  182. package/dist/model/project_model_util.cjs +176 -0
  183. package/dist/model/project_model_util.cjs.map +1 -0
  184. package/dist/model/project_model_util.d.ts +0 -1
  185. package/dist/model/project_model_util.js +170 -0
  186. package/dist/model/project_model_util.js.map +1 -0
  187. package/dist/model/project_model_util.test.d.ts +0 -1
  188. package/dist/model/project_model_v1.cjs +9 -0
  189. package/dist/model/project_model_v1.cjs.map +1 -0
  190. package/dist/model/project_model_v1.d.ts +0 -1
  191. package/dist/model/project_model_v1.js +6 -0
  192. package/dist/model/project_model_v1.js.map +1 -0
  193. package/dist/model/template_spec.d.ts +0 -1
  194. package/dist/mutator/block-pack/block_pack.cjs +233 -0
  195. package/dist/mutator/block-pack/block_pack.cjs.map +1 -0
  196. package/dist/mutator/block-pack/block_pack.d.ts +0 -1
  197. package/dist/mutator/block-pack/block_pack.js +227 -0
  198. package/dist/mutator/block-pack/block_pack.js.map +1 -0
  199. package/dist/mutator/block-pack/block_pack.test.d.ts +0 -1
  200. package/dist/mutator/block-pack/frontend.cjs +21 -0
  201. package/dist/mutator/block-pack/frontend.cjs.map +1 -0
  202. package/dist/mutator/block-pack/frontend.d.ts +0 -1
  203. package/dist/mutator/block-pack/frontend.js +19 -0
  204. package/dist/mutator/block-pack/frontend.js.map +1 -0
  205. package/dist/mutator/context_export.cjs +26 -0
  206. package/dist/mutator/context_export.cjs.map +1 -0
  207. package/dist/mutator/context_export.d.ts +2 -3
  208. package/dist/mutator/context_export.js +23 -0
  209. package/dist/mutator/context_export.js.map +1 -0
  210. package/dist/mutator/migration.cjs +57 -0
  211. package/dist/mutator/migration.cjs.map +1 -0
  212. package/dist/mutator/migration.d.ts +0 -1
  213. package/dist/mutator/migration.js +55 -0
  214. package/dist/mutator/migration.js.map +1 -0
  215. package/dist/mutator/project.cjs +997 -0
  216. package/dist/mutator/project.cjs.map +1 -0
  217. package/dist/mutator/project.d.ts +0 -1
  218. package/dist/mutator/project.js +992 -0
  219. package/dist/mutator/project.js.map +1 -0
  220. package/dist/mutator/project.test.d.ts +0 -1
  221. package/dist/mutator/template/direct_template_loader.cjs +146 -0
  222. package/dist/mutator/template/direct_template_loader.cjs.map +1 -0
  223. package/dist/mutator/template/direct_template_loader.d.ts +0 -1
  224. package/dist/mutator/template/direct_template_loader.js +143 -0
  225. package/dist/mutator/template/direct_template_loader.js.map +1 -0
  226. package/dist/mutator/template/direct_template_loader_v3.cjs +139 -0
  227. package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -0
  228. package/dist/mutator/template/direct_template_loader_v3.d.ts +0 -1
  229. package/dist/mutator/template/direct_template_loader_v3.js +137 -0
  230. package/dist/mutator/template/direct_template_loader_v3.js.map +1 -0
  231. package/dist/mutator/template/render_block.cjs +43 -0
  232. package/dist/mutator/template/render_block.cjs.map +1 -0
  233. package/dist/mutator/template/render_block.d.ts +0 -1
  234. package/dist/mutator/template/render_block.js +34 -0
  235. package/dist/mutator/template/render_block.js.map +1 -0
  236. package/dist/mutator/template/render_template.cjs +35 -0
  237. package/dist/mutator/template/render_template.cjs.map +1 -0
  238. package/dist/mutator/template/render_template.d.ts +0 -1
  239. package/dist/mutator/template/render_template.js +33 -0
  240. package/dist/mutator/template/render_template.js.map +1 -0
  241. package/dist/mutator/template/template_loading.cjs +71 -0
  242. package/dist/mutator/template/template_loading.cjs.map +1 -0
  243. package/dist/mutator/template/template_loading.d.ts +0 -1
  244. package/dist/mutator/template/template_loading.js +60 -0
  245. package/dist/mutator/template/template_loading.js.map +1 -0
  246. package/dist/mutator/template/template_render.test.d.ts +0 -1
  247. package/dist/network_check/network_check.cjs +267 -0
  248. package/dist/network_check/network_check.cjs.map +1 -0
  249. package/dist/network_check/network_check.d.ts +0 -1
  250. package/dist/network_check/network_check.js +264 -0
  251. package/dist/network_check/network_check.js.map +1 -0
  252. package/dist/network_check/network_check.test.d.ts +0 -1
  253. package/dist/network_check/pings.cjs +107 -0
  254. package/dist/network_check/pings.cjs.map +1 -0
  255. package/dist/network_check/pings.d.ts +0 -1
  256. package/dist/network_check/pings.js +96 -0
  257. package/dist/network_check/pings.js.map +1 -0
  258. package/dist/network_check/template.cjs +318 -0
  259. package/dist/network_check/template.cjs.map +1 -0
  260. package/dist/network_check/template.d.ts +0 -1
  261. package/dist/network_check/template.js +302 -0
  262. package/dist/network_check/template.js.map +1 -0
  263. package/dist/network_check/template.test.d.ts +0 -1
  264. package/dist/network_check/test_utils.d.ts +0 -1
  265. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.cjs +77 -0
  266. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.cjs.map +1 -0
  267. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.js +74 -0
  268. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.js.map +1 -0
  269. package/dist/pool/data.cjs +298 -0
  270. package/dist/pool/data.cjs.map +1 -0
  271. package/dist/pool/data.d.ts +7 -9
  272. package/dist/pool/data.js +282 -0
  273. package/dist/pool/data.js.map +1 -0
  274. package/dist/pool/driver.cjs +620 -0
  275. package/dist/pool/driver.cjs.map +1 -0
  276. package/dist/pool/driver.d.ts +0 -1
  277. package/dist/pool/driver.js +598 -0
  278. package/dist/pool/driver.js.map +1 -0
  279. package/dist/pool/index.d.ts +0 -1
  280. package/dist/pool/p_object_collection.cjs +87 -0
  281. package/dist/pool/p_object_collection.cjs.map +1 -0
  282. package/dist/pool/p_object_collection.d.ts +0 -1
  283. package/dist/pool/p_object_collection.js +84 -0
  284. package/dist/pool/p_object_collection.js.map +1 -0
  285. package/dist/pool/ref_count_pool.cjs +58 -0
  286. package/dist/pool/ref_count_pool.cjs.map +1 -0
  287. package/dist/pool/ref_count_pool.d.ts +0 -1
  288. package/dist/pool/ref_count_pool.js +56 -0
  289. package/dist/pool/ref_count_pool.js.map +1 -0
  290. package/dist/pool/result_pool.cjs +265 -0
  291. package/dist/pool/result_pool.cjs.map +1 -0
  292. package/dist/pool/result_pool.d.ts +0 -1
  293. package/dist/pool/result_pool.js +263 -0
  294. package/dist/pool/result_pool.js.map +1 -0
  295. package/dist/test/block_packs.d.ts +0 -1
  296. package/dist/test/explicit_templates.d.ts +0 -1
  297. package/dist/test/known_templates.d.ts +0 -1
  298. package/dist/test_env.d.ts +0 -1
  299. package/dist/worker/WorkerManager.cjs +53 -0
  300. package/dist/worker/WorkerManager.cjs.map +1 -0
  301. package/dist/worker/WorkerManager.d.ts +0 -1
  302. package/dist/worker/WorkerManager.js +51 -0
  303. package/dist/worker/WorkerManager.js.map +1 -0
  304. package/dist/worker/worker.cjs +16 -0
  305. package/dist/worker/worker.cjs.map +1 -0
  306. package/dist/worker/worker.d.ts +0 -1
  307. package/dist/worker/worker.js +14 -0
  308. package/dist/worker/worker.js.map +1 -0
  309. package/dist/worker/workerApi.cjs +20 -0
  310. package/dist/worker/workerApi.cjs.map +1 -0
  311. package/dist/worker/workerApi.d.ts +1 -3
  312. package/dist/worker/workerApi.js +18 -0
  313. package/dist/worker/workerApi.js.map +1 -0
  314. package/package.json +26 -34
  315. package/src/cfg_render/executor.test.ts +5 -4
  316. package/src/model/project_model.test.ts +3 -3
  317. package/src/model/project_model_util.test.ts +3 -2
  318. package/src/mutator/block-pack/block_pack.test.ts +5 -4
  319. package/src/mutator/project.test.ts +4 -4
  320. package/src/mutator/template/template_render.test.ts +7 -6
  321. package/src/network_check/network_check.test.ts +1 -0
  322. package/src/network_check/test_utils.ts +2 -0
  323. package/src/worker/WorkerManager.ts +6 -8
  324. package/dist/block_registry/index.d.ts.map +0 -1
  325. package/dist/block_registry/registry-v2-provider.d.ts.map +0 -1
  326. package/dist/block_registry/registry.d.ts.map +0 -1
  327. package/dist/block_registry/registry.test.d.ts.map +0 -1
  328. package/dist/block_registry/watcher.d.ts.map +0 -1
  329. package/dist/block_registry/well_known_registries.d.ts.map +0 -1
  330. package/dist/cfg_render/executor.d.ts.map +0 -1
  331. package/dist/cfg_render/executor.test.d.ts.map +0 -1
  332. package/dist/cfg_render/operation.d.ts.map +0 -1
  333. package/dist/cfg_render/renderer.d.ts.map +0 -1
  334. package/dist/cfg_render/traverse.d.ts.map +0 -1
  335. package/dist/cfg_render/util.d.ts.map +0 -1
  336. package/dist/debug/index.d.ts.map +0 -1
  337. package/dist/dev_env/index.d.ts.map +0 -1
  338. package/dist/dev_env/util.d.ts.map +0 -1
  339. package/dist/index.d.ts.map +0 -1
  340. package/dist/index.mjs +0 -6742
  341. package/dist/index.mjs.map +0 -1
  342. package/dist/js_render/computable_context.d.ts.map +0 -1
  343. package/dist/js_render/context.d.ts.map +0 -1
  344. package/dist/js_render/index.d.ts.map +0 -1
  345. package/dist/middle_layer/active_cfg.d.ts.map +0 -1
  346. package/dist/middle_layer/block.d.ts.map +0 -1
  347. package/dist/middle_layer/block_ctx.d.ts.map +0 -1
  348. package/dist/middle_layer/block_ctx_unsafe.d.ts.map +0 -1
  349. package/dist/middle_layer/driver_kit.d.ts.map +0 -1
  350. package/dist/middle_layer/frontend_path.d.ts.map +0 -1
  351. package/dist/middle_layer/index.d.ts.map +0 -1
  352. package/dist/middle_layer/middle_layer.d.ts.map +0 -1
  353. package/dist/middle_layer/navigation_states.d.ts.map +0 -1
  354. package/dist/middle_layer/ops.d.ts.map +0 -1
  355. package/dist/middle_layer/project.d.ts.map +0 -1
  356. package/dist/middle_layer/project_list.d.ts.map +0 -1
  357. package/dist/middle_layer/project_overview.d.ts.map +0 -1
  358. package/dist/middle_layer/project_overview_light.d.ts.map +0 -1
  359. package/dist/middle_layer/render.d.ts.map +0 -1
  360. package/dist/middle_layer/render.test.d.ts.map +0 -1
  361. package/dist/middle_layer/types.d.ts.map +0 -1
  362. package/dist/middle_layer/util.d.ts.map +0 -1
  363. package/dist/model/args.d.ts.map +0 -1
  364. package/dist/model/block_pack.d.ts.map +0 -1
  365. package/dist/model/block_pack_spec.d.ts.map +0 -1
  366. package/dist/model/frontend.d.ts.map +0 -1
  367. package/dist/model/index.d.ts.map +0 -1
  368. package/dist/model/project_helper.d.ts.map +0 -1
  369. package/dist/model/project_model.d.ts.map +0 -1
  370. package/dist/model/project_model.test.d.ts.map +0 -1
  371. package/dist/model/project_model_util.d.ts.map +0 -1
  372. package/dist/model/project_model_util.test.d.ts.map +0 -1
  373. package/dist/model/project_model_v1.d.ts.map +0 -1
  374. package/dist/model/template_spec.d.ts.map +0 -1
  375. package/dist/mutator/block-pack/block_pack.d.ts.map +0 -1
  376. package/dist/mutator/block-pack/block_pack.test.d.ts.map +0 -1
  377. package/dist/mutator/block-pack/frontend.d.ts.map +0 -1
  378. package/dist/mutator/context_export.d.ts.map +0 -1
  379. package/dist/mutator/migration.d.ts.map +0 -1
  380. package/dist/mutator/project.d.ts.map +0 -1
  381. package/dist/mutator/project.test.d.ts.map +0 -1
  382. package/dist/mutator/template/direct_template_loader.d.ts.map +0 -1
  383. package/dist/mutator/template/direct_template_loader_v3.d.ts.map +0 -1
  384. package/dist/mutator/template/render_block.d.ts.map +0 -1
  385. package/dist/mutator/template/render_template.d.ts.map +0 -1
  386. package/dist/mutator/template/template_loading.d.ts.map +0 -1
  387. package/dist/mutator/template/template_render.test.d.ts.map +0 -1
  388. package/dist/network_check/network_check.d.ts.map +0 -1
  389. package/dist/network_check/network_check.test.d.ts.map +0 -1
  390. package/dist/network_check/pings.d.ts.map +0 -1
  391. package/dist/network_check/template.d.ts.map +0 -1
  392. package/dist/network_check/template.test.d.ts.map +0 -1
  393. package/dist/network_check/test_utils.d.ts.map +0 -1
  394. package/dist/pool/data.d.ts.map +0 -1
  395. package/dist/pool/driver.d.ts.map +0 -1
  396. package/dist/pool/index.d.ts.map +0 -1
  397. package/dist/pool/p_object_collection.d.ts.map +0 -1
  398. package/dist/pool/ref_count_pool.d.ts.map +0 -1
  399. package/dist/pool/result_pool.d.ts.map +0 -1
  400. package/dist/test/block_packs.d.ts.map +0 -1
  401. package/dist/test/explicit_templates.d.ts.map +0 -1
  402. package/dist/test/known_templates.d.ts.map +0 -1
  403. package/dist/test_env.d.ts.map +0 -1
  404. package/dist/worker/WorkerManager.d.ts.map +0 -1
  405. package/dist/worker/worker.d.ts.map +0 -1
  406. package/dist/worker/workerApi.d.ts.map +0 -1
  407. package/dist/worker.js +0 -2
  408. package/dist/worker.js.map +0 -1
  409. package/dist/worker.mjs +0 -20
  410. package/dist/worker.mjs.map +0 -1
@@ -0,0 +1,265 @@
1
+ 'use strict';
2
+
3
+ var model = require('@platforma-sdk/model');
4
+ var tsHelpers = require('@milaboratories/ts-helpers');
5
+ var args = require('../model/args.cjs');
6
+ var project_model = require('../model/project_model.cjs');
7
+ var project_model_util = require('../model/project_model_util.cjs');
8
+ var data = require('./data.cjs');
9
+ var p_object_collection = require('./p_object_collection.cjs');
10
+
11
+ class ResultPool {
12
+ ctx;
13
+ blocks;
14
+ allSpecsAvailable;
15
+ constructor(ctx, blocks) {
16
+ this.ctx = ctx;
17
+ this.blocks = blocks;
18
+ let allSpecsAvailable = true;
19
+ outer: for (const block of blocks.values()) {
20
+ for (const ctx of [block.prod, block.staging])
21
+ if (ctx !== undefined) {
22
+ if (!ctx.locked) {
23
+ allSpecsAvailable = false;
24
+ break outer;
25
+ }
26
+ for (const result of ctx.results.values()) {
27
+ if (result.spec === undefined) {
28
+ allSpecsAvailable = false;
29
+ break outer;
30
+ }
31
+ }
32
+ }
33
+ }
34
+ this.allSpecsAvailable = allSpecsAvailable;
35
+ }
36
+ getSpecByRef(blockId, exportName) {
37
+ const block = this.blocks.get(blockId);
38
+ if (block === undefined)
39
+ return undefined;
40
+ let result = block.prod?.results?.get(exportName)?.spec;
41
+ if (result !== undefined)
42
+ return result;
43
+ result = block.staging?.results?.get(exportName)?.spec;
44
+ if (result !== undefined)
45
+ return result;
46
+ if (block.staging === undefined)
47
+ this.ctx.markUnstable(`staging_not_rendered:${blockId}`);
48
+ else if (!block.staging.locked)
49
+ this.ctx.markUnstable(`staging_not_locked:${blockId}`);
50
+ else if (block.prod !== undefined && !block.prod.locked)
51
+ this.ctx.markUnstable(`prod_not_locked:${blockId}`);
52
+ // if prod is absent, returned undefined value is considered stable
53
+ return undefined;
54
+ }
55
+ getDataOrErrorByRef(blockId, exportName) {
56
+ const block = this.blocks.get(blockId);
57
+ if (block === undefined)
58
+ return undefined;
59
+ const result = block.prod?.results?.get(exportName);
60
+ const data$1 = result?.data?.();
61
+ if (result !== undefined && result.spec !== undefined && data$1 !== undefined)
62
+ return model.mapValueInVOE(data$1, (value) => ({
63
+ id: data.deriveGlobalPObjectId(blockId, exportName),
64
+ spec: result.spec,
65
+ data: value,
66
+ }));
67
+ if (result !== undefined)
68
+ this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);
69
+ if (block.prod !== undefined && !block.prod.locked)
70
+ this.ctx.markUnstable(`prod_not_locked:${blockId}`);
71
+ // if prod is absent, returned undefined value is considered stable
72
+ return undefined;
73
+ }
74
+ getDataByRef(blockId, exportName) {
75
+ const res = this.getDataOrErrorByRef(blockId, exportName);
76
+ if (res === undefined || !res.ok)
77
+ return undefined;
78
+ return res.value;
79
+ }
80
+ getData() {
81
+ const resultWithErrors = this.getDataWithErrors();
82
+ const entries = [];
83
+ for (const res of resultWithErrors.entries)
84
+ if (res.obj.id !== undefined && res.obj.data.ok)
85
+ entries.push({
86
+ ref: res.ref,
87
+ obj: {
88
+ id: res.obj.id,
89
+ spec: res.obj.spec,
90
+ data: res.obj.data.value,
91
+ },
92
+ });
93
+ return {
94
+ entries,
95
+ isComplete: resultWithErrors.isComplete,
96
+ instabilityMarker: resultWithErrors.instabilityMarker,
97
+ };
98
+ }
99
+ getDataWithErrors() {
100
+ const entries = [];
101
+ let isComplete = true;
102
+ let instabilityMarker = undefined;
103
+ const markUnstable = (marker) => {
104
+ if (instabilityMarker === undefined)
105
+ instabilityMarker = marker;
106
+ isComplete = false;
107
+ };
108
+ const tryAddEntry = (blockId, exportName, result) => {
109
+ if (result.spec !== undefined && result.hasData === true && result.data !== undefined) {
110
+ const data$1 = result.data();
111
+ if (data$1 !== undefined) {
112
+ entries.push({
113
+ ref: args.outputRef(blockId, exportName),
114
+ obj: {
115
+ id: data$1.ok ? data.deriveGlobalPObjectId(blockId, exportName) : undefined,
116
+ spec: result.spec,
117
+ data: data$1,
118
+ },
119
+ });
120
+ }
121
+ else
122
+ markUnstable(`no_data:${blockId}:${exportName}`); // because data will eventually be resolved
123
+ }
124
+ };
125
+ for (const [blockId, block] of this.blocks) {
126
+ const exportsProcessed = new Set();
127
+ if (block.prod !== undefined) {
128
+ if (!block.prod.locked)
129
+ markUnstable(`prod_not_locked:${blockId}`);
130
+ for (const [exportName, result] of block.prod.results) {
131
+ // any signal that this export will be (or already is) present in the prod
132
+ // will prevent adding it from staging
133
+ exportsProcessed.add(exportName);
134
+ tryAddEntry(blockId, exportName, result);
135
+ }
136
+ }
137
+ if (block.staging !== undefined) {
138
+ if (!block.staging.locked)
139
+ markUnstable(`staging_not_locked:${blockId}`);
140
+ for (const [exportName, result] of block.staging.results) {
141
+ // trying to add something only if result is absent in prod
142
+ if (exportsProcessed.has(exportName))
143
+ continue;
144
+ tryAddEntry(blockId, exportName, result);
145
+ }
146
+ }
147
+ }
148
+ return { entries, isComplete, instabilityMarker };
149
+ }
150
+ getSpecs() {
151
+ const entries = [];
152
+ let isComplete = true;
153
+ let instabilityMarker = undefined;
154
+ const markUnstable = (marker) => {
155
+ if (instabilityMarker === undefined)
156
+ instabilityMarker = marker;
157
+ isComplete = false;
158
+ };
159
+ for (const [blockId, block] of this.blocks) {
160
+ const exportsProcessed = new Set();
161
+ if (block.staging !== undefined) {
162
+ if (!block.staging.locked)
163
+ markUnstable(`staging_not_locked:${blockId}`);
164
+ for (const [exportName, result] of block.staging.results)
165
+ if (result.spec !== undefined) {
166
+ entries.push({
167
+ ref: args.outputRef(blockId, exportName),
168
+ obj: result.spec,
169
+ });
170
+ exportsProcessed.add(exportName);
171
+ }
172
+ }
173
+ else
174
+ markUnstable(`staging_not_rendered:${blockId}`); // because staging will be inevitably rendered soon
175
+ if (block.prod !== undefined) {
176
+ if (!block.prod.locked)
177
+ markUnstable(`prod_not_locked:${blockId}`);
178
+ for (const [exportName, result] of block.prod.results) {
179
+ // staging have higher priority when we are interested in specs
180
+ if (exportsProcessed.has(exportName))
181
+ continue;
182
+ if (result.spec !== undefined) {
183
+ entries.push({
184
+ ref: args.outputRef(blockId, exportName),
185
+ obj: result.spec,
186
+ });
187
+ }
188
+ }
189
+ }
190
+ }
191
+ return { entries, isComplete, instabilityMarker };
192
+ }
193
+ calculateOptions(predicate) {
194
+ const found = [];
195
+ for (const block of this.blocks.values()) {
196
+ const exportsChecked = new Set();
197
+ const addToFound = (ctx) => {
198
+ for (const [exportName, result] of ctx.results) {
199
+ if (exportsChecked.has(exportName) || result.spec === undefined)
200
+ continue;
201
+ exportsChecked.add(exportName);
202
+ if (model.executePSpecPredicate(predicate, result.spec))
203
+ found.push({
204
+ label: block.info.label + ' / ' + exportName,
205
+ ref: args.outputRef(block.info.id, exportName),
206
+ spec: result.spec,
207
+ });
208
+ }
209
+ };
210
+ if (block.staging !== undefined)
211
+ addToFound(block.staging);
212
+ if (block.prod !== undefined)
213
+ addToFound(block.prod);
214
+ }
215
+ return found;
216
+ }
217
+ static create(ctx, prjEntry, rootBlockId) {
218
+ const prj = ctx.accessor(prjEntry).node();
219
+ const structure = tsHelpers.notEmpty(prj.getKeyValueAsJson(project_model.ProjectStructureKey));
220
+ const graph = project_model_util.stagingGraph(structure);
221
+ const targetBlocks = graph.traverseIds('upstream', rootBlockId);
222
+ const blocks = new Map();
223
+ for (const blockInfo of project_model_util.allBlocks(structure)) {
224
+ if (!targetBlocks.has(blockInfo.id))
225
+ continue;
226
+ const prod = loadCtx(prj.traverse({
227
+ field: project_model.projectFieldName(blockInfo.id, 'prodCtx'),
228
+ ignoreError: true,
229
+ pureFieldErrorToUndefined: true,
230
+ stableIfNotFound: true,
231
+ }) !== undefined, prj.traverseOrError({
232
+ field: project_model.projectFieldName(blockInfo.id, 'prodUiCtx'),
233
+ stableIfNotFound: true,
234
+ }));
235
+ const staging = loadCtx(prj.traverse({
236
+ field: project_model.projectFieldName(blockInfo.id, 'stagingCtx'),
237
+ ignoreError: true,
238
+ pureFieldErrorToUndefined: true,
239
+ }) !== undefined, prj.traverseOrError({
240
+ field: project_model.projectFieldName(blockInfo.id, 'stagingUiCtx'),
241
+ }));
242
+ blocks.set(blockInfo.id, { info: blockInfo, prod, staging });
243
+ }
244
+ return new ResultPool(ctx, blocks);
245
+ }
246
+ }
247
+ /** Loads single BContext data */
248
+ function loadCtx(calculated, ctxAccessor) {
249
+ if (ctxAccessor === undefined) {
250
+ if (calculated)
251
+ // this case defines the situation when ctx holder is present, but the ctx itself is
252
+ // not yet available, to simplify the logic we make this situation indistinguishable
253
+ // from empty unlocked cotext
254
+ return { locked: false, results: new Map() };
255
+ else
256
+ return undefined;
257
+ }
258
+ if (ctxAccessor.ok)
259
+ return p_object_collection.parseRawPObjectCollection(ctxAccessor.value, false, true);
260
+ else
261
+ return undefined;
262
+ }
263
+
264
+ exports.ResultPool = ResultPool;
265
+ //# sourceMappingURL=result_pool.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result_pool.cjs","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 } from '@platforma-sdk/model';\nimport {\n executePSpecPredicate,\n mapValueInVOE,\n} from '@platforma-sdk/model';\nimport { notEmpty } from '@milaboratories/ts-helpers';\nimport { outputRef } from '../model/args';\nimport type {\n Block,\n ProjectStructure } from '../model/project_model';\nimport {\n ProjectStructureKey,\n projectFieldName,\n} from '../model/project_model';\nimport { allBlocks, stagingGraph } from '../model/project_model_util';\nimport type { Optional } from 'utility-types';\nimport { deriveGlobalPObjectId } from './data';\nimport type {\n RawPObjectCollection,\n RawPObjectEntry } from './p_object_collection';\nimport {\n parseRawPObjectCollection,\n} 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 if (block.staging === undefined) this.ctx.markUnstable(`staging_not_rendered:${blockId}`);\n else if (!block.staging.locked) 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 prod is absent, 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 } else markUnstable(`staging_not_rendered:${blockId}`); // because staging will be inevitably rendered soon\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 }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, 'stagingUiCtx'),\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":["data","mapValueInVOE","deriveGlobalPObjectId","outputRef","executePSpecPredicate","notEmpty","ProjectStructureKey","stagingGraph","allBlocks","projectFieldName","parseRawPObjectCollection"],"mappings":"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"}
@@ -24,4 +24,3 @@ export declare class ResultPool {
24
24
  calculateOptions(predicate: PSpecPredicate): ExtendedOption[];
25
25
  static create(ctx: ComputableCtx, prjEntry: PlTreeEntry, rootBlockId: string): ResultPool;
26
26
  }
27
- //# sourceMappingURL=result_pool.d.ts.map
@@ -0,0 +1,263 @@
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';
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
+ if (block.staging === undefined)
45
+ this.ctx.markUnstable(`staging_not_rendered:${blockId}`);
46
+ else if (!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 prod is absent, 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
+ else
172
+ markUnstable(`staging_not_rendered:${blockId}`); // because staging will be inevitably rendered soon
173
+ if (block.prod !== undefined) {
174
+ if (!block.prod.locked)
175
+ markUnstable(`prod_not_locked:${blockId}`);
176
+ for (const [exportName, result] of block.prod.results) {
177
+ // staging have higher priority when we are interested in specs
178
+ if (exportsProcessed.has(exportName))
179
+ continue;
180
+ if (result.spec !== undefined) {
181
+ entries.push({
182
+ ref: outputRef(blockId, exportName),
183
+ obj: result.spec,
184
+ });
185
+ }
186
+ }
187
+ }
188
+ }
189
+ return { entries, isComplete, instabilityMarker };
190
+ }
191
+ calculateOptions(predicate) {
192
+ const found = [];
193
+ for (const block of this.blocks.values()) {
194
+ const exportsChecked = new Set();
195
+ const addToFound = (ctx) => {
196
+ for (const [exportName, result] of ctx.results) {
197
+ if (exportsChecked.has(exportName) || result.spec === undefined)
198
+ continue;
199
+ exportsChecked.add(exportName);
200
+ if (executePSpecPredicate(predicate, result.spec))
201
+ found.push({
202
+ label: block.info.label + ' / ' + exportName,
203
+ ref: outputRef(block.info.id, exportName),
204
+ spec: result.spec,
205
+ });
206
+ }
207
+ };
208
+ if (block.staging !== undefined)
209
+ addToFound(block.staging);
210
+ if (block.prod !== undefined)
211
+ addToFound(block.prod);
212
+ }
213
+ return found;
214
+ }
215
+ static create(ctx, prjEntry, rootBlockId) {
216
+ const prj = ctx.accessor(prjEntry).node();
217
+ const structure = notEmpty(prj.getKeyValueAsJson(ProjectStructureKey));
218
+ const graph = stagingGraph(structure);
219
+ const targetBlocks = graph.traverseIds('upstream', rootBlockId);
220
+ const blocks = new Map();
221
+ for (const blockInfo of allBlocks(structure)) {
222
+ if (!targetBlocks.has(blockInfo.id))
223
+ continue;
224
+ const prod = loadCtx(prj.traverse({
225
+ field: projectFieldName(blockInfo.id, 'prodCtx'),
226
+ ignoreError: true,
227
+ pureFieldErrorToUndefined: true,
228
+ stableIfNotFound: true,
229
+ }) !== undefined, prj.traverseOrError({
230
+ field: projectFieldName(blockInfo.id, 'prodUiCtx'),
231
+ stableIfNotFound: true,
232
+ }));
233
+ const staging = loadCtx(prj.traverse({
234
+ field: projectFieldName(blockInfo.id, 'stagingCtx'),
235
+ ignoreError: true,
236
+ pureFieldErrorToUndefined: true,
237
+ }) !== undefined, prj.traverseOrError({
238
+ field: projectFieldName(blockInfo.id, 'stagingUiCtx'),
239
+ }));
240
+ blocks.set(blockInfo.id, { info: blockInfo, prod, staging });
241
+ }
242
+ return new ResultPool(ctx, blocks);
243
+ }
244
+ }
245
+ /** Loads single BContext data */
246
+ function loadCtx(calculated, ctxAccessor) {
247
+ if (ctxAccessor === undefined) {
248
+ if (calculated)
249
+ // this case defines the situation when ctx holder is present, but the ctx itself is
250
+ // not yet available, to simplify the logic we make this situation indistinguishable
251
+ // from empty unlocked cotext
252
+ return { locked: false, results: new Map() };
253
+ else
254
+ return undefined;
255
+ }
256
+ if (ctxAccessor.ok)
257
+ return parseRawPObjectCollection(ctxAccessor.value, false, true);
258
+ else
259
+ return undefined;
260
+ }
261
+
262
+ export { ResultPool };
263
+ //# sourceMappingURL=result_pool.js.map
@@ -0,0 +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 } from '@platforma-sdk/model';\nimport {\n executePSpecPredicate,\n mapValueInVOE,\n} from '@platforma-sdk/model';\nimport { notEmpty } from '@milaboratories/ts-helpers';\nimport { outputRef } from '../model/args';\nimport type {\n Block,\n ProjectStructure } from '../model/project_model';\nimport {\n ProjectStructureKey,\n projectFieldName,\n} from '../model/project_model';\nimport { allBlocks, stagingGraph } from '../model/project_model_util';\nimport type { Optional } from 'utility-types';\nimport { deriveGlobalPObjectId } from './data';\nimport type {\n RawPObjectCollection,\n RawPObjectEntry } from './p_object_collection';\nimport {\n parseRawPObjectCollection,\n} 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 if (block.staging === undefined) this.ctx.markUnstable(`staging_not_rendered:${blockId}`);\n else if (!block.staging.locked) 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 prod is absent, 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 } else markUnstable(`staging_not_rendered:${blockId}`); // because staging will be inevitably rendered soon\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 }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, 'stagingUiCtx'),\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":";;;;;;;;MAuDa,UAAU,CAAA;AAGF,IAAA,GAAA;AACA,IAAA,MAAA;AAHF,IAAA,iBAAiB;IAClC,WAAA,CACmB,GAAkB,EAClB,MAA8B,EAAA;QAD9B,IAAA,CAAA,GAAG,GAAH,GAAG;QACH,IAAA,CAAA,MAAM,GAAN,MAAM;QAEvB,IAAI,iBAAiB,GAAG,IAAI;QAC5B,KAAK,EAAE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE;YAC1C,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;AAC3C,gBAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACrB,oBAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;wBACf,iBAAiB,GAAG,KAAK;AACzB,wBAAA,MAAM,KAAK;oBACb;oBACA,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;AACzC,wBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;4BAC7B,iBAAiB,GAAG,KAAK;AACzB,4BAAA,MAAM,KAAK;wBACb;oBACF;gBACF;QACJ;AACA,QAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB;IAC5C;IAEO,YAAY,CAAC,OAAe,EAAE,UAAkB,EAAA;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS;AAAE,YAAA,OAAO,SAAS;AACzC,QAAA,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI;QACvD,IAAI,MAAM,KAAK,SAAS;AAAE,YAAA,OAAO,MAAM;AACvC,QAAA,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI;QACtD,IAAI,MAAM,KAAK,SAAS;AAAE,YAAA,OAAO,MAAM;AACvC,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA,qBAAA,EAAwB,OAAO,CAAA,CAAE,CAAC;AACpF,aAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA,mBAAA,EAAsB,OAAO,CAAA,CAAE,CAAC;aACjF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;YACrD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA,gBAAA,EAAmB,OAAO,CAAA,CAAE,CAAC;;AAErD,QAAA,OAAO,SAAS;IAClB;IAEO,mBAAmB,CACxB,OAAe,EACf,UAAkB,EAAA;QAElB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS;AAAE,YAAA,OAAO,SAAS;AACzC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;AACnD,QAAA,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI;AAC7B,QAAA,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;YACzE,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM;AACrC,gBAAA,EAAE,EAAE,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC;gBAC9C,IAAI,EAAE,MAAM,CAAC,IAAK;AAClB,gBAAA,IAAI,EAAE,KAAK;AACZ,aAAA,CAAC,CAAC;QACL,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA,QAAA,EAAW,OAAO,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,CAAC;QACnF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;YAChD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA,gBAAA,EAAmB,OAAO,CAAA,CAAE,CAAC;;AAErD,QAAA,OAAO,SAAS;IAClB;IAEO,YAAY,CACjB,OAAe,EACf,UAAkB,EAAA;QAElB,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;AACzD,QAAA,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE;AAAE,YAAA,OAAO,SAAS;QAClD,OAAO,GAAG,CAAC,KAAK;IAClB;IAEO,OAAO,GAAA;AACZ,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE;QACjD,MAAM,OAAO,GAAmD,EAAE;AAClE,QAAA,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO;AACxC,YAAA,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC7C,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,GAAG,CAAC,GAAG;AACZ,oBAAA,GAAG,EAAE;AACH,wBAAA,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;AACd,wBAAA,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI;AAClB,wBAAA,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;AACzB,qBAAA;AACF,iBAAA,CAAC;QACN,OAAO;YACL,OAAO;YACP,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;SACtD;IACH;IAEO,iBAAiB,GAAA;QAGtB,MAAM,OAAO,GAEP,EAAE;QACR,IAAI,UAAU,GAAG,IAAI;QAErB,IAAI,iBAAiB,GAAuB,SAAS;AACrD,QAAA,MAAM,YAAY,GAAG,CAAC,MAAc,KAAI;YACtC,IAAI,iBAAiB,KAAK,SAAS;gBAAE,iBAAiB,GAAG,MAAM;YAC/D,UAAU,GAAG,KAAK;AACpB,QAAA,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAE,MAAuB,KAAI;AACnF,YAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACrF,gBAAA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE;AAC1B,gBAAA,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,OAAO,CAAC,IAAI,CAAC;AACX,wBAAA,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC;AACnC,wBAAA,GAAG,EAAE;AACH,4BAAA,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,SAAS;4BACpE,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI;AACL,yBAAA;AACF,qBAAA,CAAC;gBACJ;;oBAAO,YAAY,CAAC,WAAW,OAAO,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,CAAC,CAAC;YAC1D;AACF,QAAA,CAAC;QAED,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;AAC1C,YAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU;AAE1C,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;AAC5B,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;AAAE,oBAAA,YAAY,CAAC,CAAA,gBAAA,EAAmB,OAAO,CAAA,CAAE,CAAC;AAClE,gBAAA,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;;;AAGrD,oBAAA,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;AAChC,oBAAA,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;gBAC1C;YACF;AAEA,YAAA,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;AAC/B,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;AAAE,oBAAA,YAAY,CAAC,CAAA,mBAAA,EAAsB,OAAO,CAAA,CAAE,CAAC;AAExE,gBAAA,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;;AAExD,oBAAA,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;wBAAE;AACtC,oBAAA,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;gBAC1C;YACF;QACF;AAEA,QAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE;IACnD;IAEO,QAAQ,GAAA;QACb,MAAM,OAAO,GAAmC,EAAE;QAElD,IAAI,UAAU,GAAG,IAAI;QAErB,IAAI,iBAAiB,GAAuB,SAAS;AACrD,QAAA,MAAM,YAAY,GAAG,CAAC,MAAc,KAAI;YACtC,IAAI,iBAAiB,KAAK,SAAS;gBAAE,iBAAiB,GAAG,MAAM;YAC/D,UAAU,GAAG,KAAK;AACpB,QAAA,CAAC;QAED,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;AAC1C,YAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU;AAC1C,YAAA,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;AAC/B,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;AAAE,oBAAA,YAAY,CAAC,CAAA,mBAAA,EAAsB,OAAO,CAAA,CAAE,CAAC;gBAExE,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO;AACtD,oBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;wBAC7B,OAAO,CAAC,IAAI,CAAC;AACX,4BAAA,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC;4BACnC,GAAG,EAAE,MAAM,CAAC,IAAI;AACjB,yBAAA,CAAC;AACF,wBAAA,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;oBAClC;YACJ;;AAAO,gBAAA,YAAY,CAAC,CAAA,qBAAA,EAAwB,OAAO,EAAE,CAAC,CAAC;AAEvD,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;AAC5B,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;AAAE,oBAAA,YAAY,CAAC,CAAA,gBAAA,EAAmB,OAAO,CAAA,CAAE,CAAC;AAClE,gBAAA,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;;AAErD,oBAAA,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;wBAAE;AAEtC,oBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;wBAC7B,OAAO,CAAC,IAAI,CAAC;AACX,4BAAA,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC;4BACnC,GAAG,EAAE,MAAM,CAAC,IAAI;AACjB,yBAAA,CAAC;oBACJ;gBACF;YACF;QACF;AAEA,QAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE;IACnD;AAEO,IAAA,gBAAgB,CAAC,SAAyB,EAAA;QAC/C,MAAM,KAAK,GAAqB,EAAE;QAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;AACxC,YAAA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU;AACxC,YAAA,MAAM,UAAU,GAAG,CAAC,GAAyB,KAAI;gBAC/C,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE;oBAC9C,IAAI,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;wBAAE;AACjE,oBAAA,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;AAC9B,oBAAA,IAAI,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC;wBAC/C,KAAK,CAAC,IAAI,CAAC;4BACT,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,UAAU;4BAC5C,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC;4BACzC,IAAI,EAAE,MAAM,CAAC,IAAI;AAClB,yBAAA,CAAC;gBACN;AACF,YAAA,CAAC;AACD,YAAA,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;AAAE,gBAAA,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;AAC1D,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;AAAE,gBAAA,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QACtD;AACA,QAAA,OAAO,KAAK;IACd;AAEO,IAAA,OAAO,MAAM,CAAC,GAAkB,EAAE,QAAqB,EAAE,WAAmB,EAAA;QACjF,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;QAEzC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAmB,mBAAmB,CAAC,CAAC;AACxF,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;QACrC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;AAE/D,QAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB;QAE3C,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;YAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAAE;AAErC,YAAA,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,CAAC,QAAQ,CAAC;gBACX,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC;AAChD,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,yBAAyB,EAAE,IAAI;AAC/B,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA,CAAC,KAAK,SAAS,EAChB,GAAG,CAAC,eAAe,CAAC;gBAClB,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC;AAClD,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA,CAAC,CACH;AACD,YAAA,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,CAAC,QAAQ,CAAC;gBACX,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC;AACnD,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,yBAAyB,EAAE,IAAI;AAChC,aAAA,CAAC,KAAK,SAAS,EAChB,GAAG,CAAC,eAAe,CAAC;gBAClB,KAAK,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,cAAc,CAAC;AACtD,aAAA,CAAC,CACH;AAED,YAAA,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC9D;AAEA,QAAA,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;IACpC;AACD;AAED;AACA,SAAS,OAAO,CACd,UAAmB,EACnB,WAAgE,EAAA;AAEhE,IAAA,IAAI,WAAW,KAAK,SAAS,EAAE;AAC7B,QAAA,IAAI,UAAU;;;;YAIZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE;;AACzC,YAAA,OAAO,SAAS;IACvB;IAEA,IAAI,WAAW,CAAC,EAAE;QAAE,OAAO,yBAAyB,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;;AAC/E,QAAA,OAAO,SAAS;AACvB;;;;"}
@@ -3,4 +3,3 @@ import { BlockPackSpec } from '@milaboratories/pl-model-middle-layer';
3
3
  export declare const TestBPPreparer: BlockPackPreparer;
4
4
  export declare const BPSpecEnterV041NotPrepared: BlockPackSpec;
5
5
  export declare const BPSpecSumV042NotPrepared: BlockPackSpec;
6
- //# sourceMappingURL=block_packs.d.ts.map
@@ -1,3 +1,2 @@
1
1
  export declare const ExplicitTemplateSumNumbers: Buffer;
2
2
  export declare const ExplicitTemplateEnterNumbers: Buffer;
3
- //# sourceMappingURL=explicit_templates.d.ts.map
@@ -3,4 +3,3 @@ export declare const TplSpecEnterExplicit: TemplateSpecPrepared;
3
3
  export declare const TplSpecEnterFromRegistry: TemplateSpecPrepared;
4
4
  export declare const TplSpecSumExplicit: TemplateSpecPrepared;
5
5
  export declare const TplSpecSumFromRegistry: TemplateSpecPrepared;
6
- //# sourceMappingURL=known_templates.d.ts.map
@@ -3,4 +3,3 @@
3
3
  * to the `assets` directory in this repository,
4
4
  * but in CI the storage is defined in env and it points to S3 bucket. */
5
5
  export declare const libraryStorage: string;
6
- //# sourceMappingURL=test_env.d.ts.map