@milaboratories/pl-middle-layer 1.46.20 → 1.46.22

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 (402) hide show
  1. package/dist/block_registry/index.d.ts +3 -3
  2. package/dist/block_registry/registry-v2-provider.cjs.map +1 -1
  3. package/dist/block_registry/registry-v2-provider.d.ts +2 -2
  4. package/dist/block_registry/registry-v2-provider.js.map +1 -1
  5. package/dist/block_registry/registry.cjs +54 -53
  6. package/dist/block_registry/registry.cjs.map +1 -1
  7. package/dist/block_registry/registry.d.ts +4 -4
  8. package/dist/block_registry/registry.d.ts.map +1 -1
  9. package/dist/block_registry/registry.js +54 -53
  10. package/dist/block_registry/registry.js.map +1 -1
  11. package/dist/block_registry/watcher.cjs +12 -12
  12. package/dist/block_registry/watcher.cjs.map +1 -1
  13. package/dist/block_registry/watcher.d.ts +6 -6
  14. package/dist/block_registry/watcher.d.ts.map +1 -1
  15. package/dist/block_registry/watcher.js +12 -12
  16. package/dist/block_registry/watcher.js.map +1 -1
  17. package/dist/block_registry/well_known_registries.cjs +6 -6
  18. package/dist/block_registry/well_known_registries.cjs.map +1 -1
  19. package/dist/block_registry/well_known_registries.d.ts +1 -1
  20. package/dist/block_registry/well_known_registries.js +6 -6
  21. package/dist/block_registry/well_known_registries.js.map +1 -1
  22. package/dist/cfg_render/executor.cjs +11 -11
  23. package/dist/cfg_render/executor.cjs.map +1 -1
  24. package/dist/cfg_render/executor.d.ts +5 -5
  25. package/dist/cfg_render/executor.js +11 -11
  26. package/dist/cfg_render/executor.js.map +1 -1
  27. package/dist/cfg_render/operation.d.ts +5 -5
  28. package/dist/cfg_render/renderer.cjs +74 -75
  29. package/dist/cfg_render/renderer.cjs.map +1 -1
  30. package/dist/cfg_render/renderer.d.ts +2 -2
  31. package/dist/cfg_render/renderer.d.ts.map +1 -1
  32. package/dist/cfg_render/renderer.js +74 -75
  33. package/dist/cfg_render/renderer.js.map +1 -1
  34. package/dist/cfg_render/traverse.cjs +27 -27
  35. package/dist/cfg_render/traverse.cjs.map +1 -1
  36. package/dist/cfg_render/traverse.d.ts +1 -1
  37. package/dist/cfg_render/traverse.js +27 -27
  38. package/dist/cfg_render/traverse.js.map +1 -1
  39. package/dist/cfg_render/util.cjs +1 -1
  40. package/dist/cfg_render/util.cjs.map +1 -1
  41. package/dist/cfg_render/util.d.ts +1 -1
  42. package/dist/cfg_render/util.js +1 -1
  43. package/dist/cfg_render/util.js.map +1 -1
  44. package/dist/debug/index.cjs +4 -2
  45. package/dist/debug/index.cjs.map +1 -1
  46. package/dist/debug/index.d.ts +2 -2
  47. package/dist/debug/index.d.ts.map +1 -1
  48. package/dist/debug/index.js +4 -2
  49. package/dist/debug/index.js.map +1 -1
  50. package/dist/dev_env/index.cjs +8 -8
  51. package/dist/dev_env/index.cjs.map +1 -1
  52. package/dist/dev_env/index.js +8 -8
  53. package/dist/dev_env/index.js.map +1 -1
  54. package/dist/dev_env/util.cjs +1 -1
  55. package/dist/dev_env/util.cjs.map +1 -1
  56. package/dist/dev_env/util.d.ts +1 -1
  57. package/dist/dev_env/util.js +1 -1
  58. package/dist/dev_env/util.js.map +1 -1
  59. package/dist/index.d.ts +16 -16
  60. package/dist/js_render/computable_context.cjs +78 -78
  61. package/dist/js_render/computable_context.cjs.map +1 -1
  62. package/dist/js_render/computable_context.d.ts +9 -9
  63. package/dist/js_render/computable_context.d.ts.map +1 -1
  64. package/dist/js_render/computable_context.js +78 -78
  65. package/dist/js_render/computable_context.js.map +1 -1
  66. package/dist/js_render/context.cjs +33 -27
  67. package/dist/js_render/context.cjs.map +1 -1
  68. package/dist/js_render/context.d.ts +7 -7
  69. package/dist/js_render/context.d.ts.map +1 -1
  70. package/dist/js_render/context.js +33 -27
  71. package/dist/js_render/context.js.map +1 -1
  72. package/dist/js_render/index.cjs +10 -6
  73. package/dist/js_render/index.cjs.map +1 -1
  74. package/dist/js_render/index.d.ts +6 -6
  75. package/dist/js_render/index.d.ts.map +1 -1
  76. package/dist/js_render/index.js +10 -6
  77. package/dist/js_render/index.js.map +1 -1
  78. package/dist/middle_layer/active_cfg.cjs.map +1 -1
  79. package/dist/middle_layer/active_cfg.d.ts +3 -3
  80. package/dist/middle_layer/active_cfg.d.ts.map +1 -1
  81. package/dist/middle_layer/active_cfg.js.map +1 -1
  82. package/dist/middle_layer/block.cjs +1 -1
  83. package/dist/middle_layer/block.cjs.map +1 -1
  84. package/dist/middle_layer/block.d.ts +6 -6
  85. package/dist/middle_layer/block.d.ts.map +1 -1
  86. package/dist/middle_layer/block.js +1 -1
  87. package/dist/middle_layer/block.js.map +1 -1
  88. package/dist/middle_layer/block_ctx.cjs +9 -9
  89. package/dist/middle_layer/block_ctx.cjs.map +1 -1
  90. package/dist/middle_layer/block_ctx.d.ts +6 -6
  91. package/dist/middle_layer/block_ctx.d.ts.map +1 -1
  92. package/dist/middle_layer/block_ctx.js +9 -9
  93. package/dist/middle_layer/block_ctx.js.map +1 -1
  94. package/dist/middle_layer/block_ctx_unsafe.cjs +1 -1
  95. package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -1
  96. package/dist/middle_layer/block_ctx_unsafe.d.ts +5 -5
  97. package/dist/middle_layer/block_ctx_unsafe.js +1 -1
  98. package/dist/middle_layer/block_ctx_unsafe.js.map +1 -1
  99. package/dist/middle_layer/driver_kit.cjs +1 -2
  100. package/dist/middle_layer/driver_kit.cjs.map +1 -1
  101. package/dist/middle_layer/driver_kit.d.ts +7 -7
  102. package/dist/middle_layer/driver_kit.d.ts.map +1 -1
  103. package/dist/middle_layer/driver_kit.js +1 -2
  104. package/dist/middle_layer/driver_kit.js.map +1 -1
  105. package/dist/middle_layer/frontend_path.cjs +5 -5
  106. package/dist/middle_layer/frontend_path.cjs.map +1 -1
  107. package/dist/middle_layer/frontend_path.d.ts +4 -4
  108. package/dist/middle_layer/frontend_path.d.ts.map +1 -1
  109. package/dist/middle_layer/frontend_path.js +5 -5
  110. package/dist/middle_layer/frontend_path.js.map +1 -1
  111. package/dist/middle_layer/index.d.ts +4 -4
  112. package/dist/middle_layer/middle_layer.cjs +11 -11
  113. package/dist/middle_layer/middle_layer.cjs.map +1 -1
  114. package/dist/middle_layer/middle_layer.d.ts +18 -18
  115. package/dist/middle_layer/middle_layer.d.ts.map +1 -1
  116. package/dist/middle_layer/middle_layer.js +11 -11
  117. package/dist/middle_layer/middle_layer.js.map +1 -1
  118. package/dist/middle_layer/navigation_states.cjs +2 -2
  119. package/dist/middle_layer/navigation_states.cjs.map +1 -1
  120. package/dist/middle_layer/navigation_states.d.ts +2 -2
  121. package/dist/middle_layer/navigation_states.js +2 -2
  122. package/dist/middle_layer/navigation_states.js.map +1 -1
  123. package/dist/middle_layer/ops.cjs +5 -5
  124. package/dist/middle_layer/ops.cjs.map +1 -1
  125. package/dist/middle_layer/ops.d.ts +11 -11
  126. package/dist/middle_layer/ops.d.ts.map +1 -1
  127. package/dist/middle_layer/ops.js +5 -5
  128. package/dist/middle_layer/ops.js.map +1 -1
  129. package/dist/middle_layer/project.cjs +71 -63
  130. package/dist/middle_layer/project.cjs.map +1 -1
  131. package/dist/middle_layer/project.d.ts +10 -10
  132. package/dist/middle_layer/project.d.ts.map +1 -1
  133. package/dist/middle_layer/project.js +71 -63
  134. package/dist/middle_layer/project.js.map +1 -1
  135. package/dist/middle_layer/project_list.cjs +2 -2
  136. package/dist/middle_layer/project_list.cjs.map +1 -1
  137. package/dist/middle_layer/project_list.d.ts +6 -6
  138. package/dist/middle_layer/project_list.d.ts.map +1 -1
  139. package/dist/middle_layer/project_list.js +2 -2
  140. package/dist/middle_layer/project_list.js.map +1 -1
  141. package/dist/middle_layer/project_overview.cjs +40 -40
  142. package/dist/middle_layer/project_overview.cjs.map +1 -1
  143. package/dist/middle_layer/project_overview.d.ts +5 -5
  144. package/dist/middle_layer/project_overview.d.ts.map +1 -1
  145. package/dist/middle_layer/project_overview.js +40 -40
  146. package/dist/middle_layer/project_overview.js.map +1 -1
  147. package/dist/middle_layer/project_overview_light.cjs.map +1 -1
  148. package/dist/middle_layer/project_overview_light.d.ts +2 -2
  149. package/dist/middle_layer/project_overview_light.d.ts.map +1 -1
  150. package/dist/middle_layer/project_overview_light.js.map +1 -1
  151. package/dist/middle_layer/render.cjs +1 -1
  152. package/dist/middle_layer/render.cjs.map +1 -1
  153. package/dist/middle_layer/render.d.ts +4 -4
  154. package/dist/middle_layer/render.js +1 -1
  155. package/dist/middle_layer/render.js.map +1 -1
  156. package/dist/middle_layer/render.test.d.ts +2 -2
  157. package/dist/middle_layer/types.d.ts +3 -3
  158. package/dist/middle_layer/util.cjs +9 -4
  159. package/dist/middle_layer/util.cjs.map +1 -1
  160. package/dist/middle_layer/util.d.ts +4 -4
  161. package/dist/middle_layer/util.d.ts.map +1 -1
  162. package/dist/middle_layer/util.js +9 -4
  163. package/dist/middle_layer/util.js.map +1 -1
  164. package/dist/model/args.cjs +19 -15
  165. package/dist/model/args.cjs.map +1 -1
  166. package/dist/model/args.d.ts +1 -1
  167. package/dist/model/args.d.ts.map +1 -1
  168. package/dist/model/args.js +19 -15
  169. package/dist/model/args.js.map +1 -1
  170. package/dist/model/block_pack.d.ts +2 -2
  171. package/dist/model/block_pack_spec.cjs +3 -3
  172. package/dist/model/block_pack_spec.cjs.map +1 -1
  173. package/dist/model/block_pack_spec.d.ts +8 -8
  174. package/dist/model/block_pack_spec.js +3 -3
  175. package/dist/model/block_pack_spec.js.map +1 -1
  176. package/dist/model/block_storage_helper.cjs +4 -4
  177. package/dist/model/block_storage_helper.cjs.map +1 -1
  178. package/dist/model/block_storage_helper.d.ts +2 -2
  179. package/dist/model/block_storage_helper.d.ts.map +1 -1
  180. package/dist/model/block_storage_helper.js +4 -4
  181. package/dist/model/block_storage_helper.js.map +1 -1
  182. package/dist/model/index.d.ts +3 -3
  183. package/dist/model/project_helper.cjs +30 -13
  184. package/dist/model/project_helper.cjs.map +1 -1
  185. package/dist/model/project_helper.d.ts +4 -4
  186. package/dist/model/project_helper.d.ts.map +1 -1
  187. package/dist/model/project_helper.js +30 -13
  188. package/dist/model/project_helper.js.map +1 -1
  189. package/dist/model/project_model.cjs +23 -23
  190. package/dist/model/project_model.cjs.map +1 -1
  191. package/dist/model/project_model.d.ts +6 -6
  192. package/dist/model/project_model.d.ts.map +1 -1
  193. package/dist/model/project_model.js +23 -23
  194. package/dist/model/project_model.js.map +1 -1
  195. package/dist/model/project_model_util.cjs +2 -2
  196. package/dist/model/project_model_util.cjs.map +1 -1
  197. package/dist/model/project_model_util.d.ts +3 -3
  198. package/dist/model/project_model_util.d.ts.map +1 -1
  199. package/dist/model/project_model_util.js +2 -2
  200. package/dist/model/project_model_util.js.map +1 -1
  201. package/dist/model/project_model_v1.cjs +2 -2
  202. package/dist/model/project_model_v1.cjs.map +1 -1
  203. package/dist/model/project_model_v1.js +2 -2
  204. package/dist/model/project_model_v1.js.map +1 -1
  205. package/dist/model/template_spec.d.ts +5 -5
  206. package/dist/mutator/block-pack/block_pack.cjs +43 -43
  207. package/dist/mutator/block-pack/block_pack.cjs.map +1 -1
  208. package/dist/mutator/block-pack/block_pack.d.ts +6 -6
  209. package/dist/mutator/block-pack/block_pack.d.ts.map +1 -1
  210. package/dist/mutator/block-pack/block_pack.js +43 -43
  211. package/dist/mutator/block-pack/block_pack.js.map +1 -1
  212. package/dist/mutator/block-pack/frontend.cjs +2 -2
  213. package/dist/mutator/block-pack/frontend.cjs.map +1 -1
  214. package/dist/mutator/block-pack/frontend.d.ts +2 -2
  215. package/dist/mutator/block-pack/frontend.d.ts.map +1 -1
  216. package/dist/mutator/block-pack/frontend.js +2 -2
  217. package/dist/mutator/block-pack/frontend.js.map +1 -1
  218. package/dist/mutator/context_export.cjs +5 -5
  219. package/dist/mutator/context_export.cjs.map +1 -1
  220. package/dist/mutator/context_export.d.ts +2 -2
  221. package/dist/mutator/context_export.d.ts.map +1 -1
  222. package/dist/mutator/context_export.js +5 -5
  223. package/dist/mutator/context_export.js.map +1 -1
  224. package/dist/mutator/migration.cjs +7 -7
  225. package/dist/mutator/migration.cjs.map +1 -1
  226. package/dist/mutator/migration.d.ts +1 -1
  227. package/dist/mutator/migration.d.ts.map +1 -1
  228. package/dist/mutator/migration.js +7 -7
  229. package/dist/mutator/migration.js.map +1 -1
  230. package/dist/mutator/project.cjs +147 -148
  231. package/dist/mutator/project.cjs.map +1 -1
  232. package/dist/mutator/project.d.ts +13 -13
  233. package/dist/mutator/project.d.ts.map +1 -1
  234. package/dist/mutator/project.js +147 -148
  235. package/dist/mutator/project.js.map +1 -1
  236. package/dist/mutator/template/direct_template_loader.cjs +16 -16
  237. package/dist/mutator/template/direct_template_loader.cjs.map +1 -1
  238. package/dist/mutator/template/direct_template_loader.d.ts +2 -2
  239. package/dist/mutator/template/direct_template_loader.d.ts.map +1 -1
  240. package/dist/mutator/template/direct_template_loader.js +16 -16
  241. package/dist/mutator/template/direct_template_loader.js.map +1 -1
  242. package/dist/mutator/template/direct_template_loader_v3.cjs +13 -13
  243. package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -1
  244. package/dist/mutator/template/direct_template_loader_v3.d.ts +3 -3
  245. package/dist/mutator/template/direct_template_loader_v3.d.ts.map +1 -1
  246. package/dist/mutator/template/direct_template_loader_v3.js +13 -13
  247. package/dist/mutator/template/direct_template_loader_v3.js.map +1 -1
  248. package/dist/mutator/template/render_block.cjs +7 -7
  249. package/dist/mutator/template/render_block.cjs.map +1 -1
  250. package/dist/mutator/template/render_block.d.ts +1 -1
  251. package/dist/mutator/template/render_block.d.ts.map +1 -1
  252. package/dist/mutator/template/render_block.js +7 -7
  253. package/dist/mutator/template/render_block.js.map +1 -1
  254. package/dist/mutator/template/render_template.cjs +10 -10
  255. package/dist/mutator/template/render_template.cjs.map +1 -1
  256. package/dist/mutator/template/render_template.d.ts +2 -2
  257. package/dist/mutator/template/render_template.js +10 -10
  258. package/dist/mutator/template/render_template.js.map +1 -1
  259. package/dist/mutator/template/template_loading.cjs +17 -17
  260. package/dist/mutator/template/template_loading.cjs.map +1 -1
  261. package/dist/mutator/template/template_loading.d.ts +2 -2
  262. package/dist/mutator/template/template_loading.js +17 -17
  263. package/dist/mutator/template/template_loading.js.map +1 -1
  264. package/dist/network_check/network_check.cjs +33 -32
  265. package/dist/network_check/network_check.cjs.map +1 -1
  266. package/dist/network_check/network_check.d.ts +6 -6
  267. package/dist/network_check/network_check.d.ts.map +1 -1
  268. package/dist/network_check/network_check.js +33 -32
  269. package/dist/network_check/network_check.js.map +1 -1
  270. package/dist/network_check/pings.cjs +3 -3
  271. package/dist/network_check/pings.cjs.map +1 -1
  272. package/dist/network_check/pings.d.ts +4 -4
  273. package/dist/network_check/pings.d.ts.map +1 -1
  274. package/dist/network_check/pings.js +3 -3
  275. package/dist/network_check/pings.js.map +1 -1
  276. package/dist/network_check/template.cjs +57 -44
  277. package/dist/network_check/template.cjs.map +1 -1
  278. package/dist/network_check/template.d.ts +8 -8
  279. package/dist/network_check/template.d.ts.map +1 -1
  280. package/dist/network_check/template.js +57 -44
  281. package/dist/network_check/template.js.map +1 -1
  282. package/dist/pool/data.cjs +45 -33
  283. package/dist/pool/data.cjs.map +1 -1
  284. package/dist/pool/data.d.ts +3 -3
  285. package/dist/pool/data.d.ts.map +1 -1
  286. package/dist/pool/data.js +45 -33
  287. package/dist/pool/data.js.map +1 -1
  288. package/dist/pool/driver.cjs +18 -16
  289. package/dist/pool/driver.cjs.map +1 -1
  290. package/dist/pool/driver.d.ts +5 -5
  291. package/dist/pool/driver.d.ts.map +1 -1
  292. package/dist/pool/driver.js +18 -16
  293. package/dist/pool/driver.js.map +1 -1
  294. package/dist/pool/index.d.ts +2 -2
  295. package/dist/pool/p_object_collection.cjs +5 -5
  296. package/dist/pool/p_object_collection.cjs.map +1 -1
  297. package/dist/pool/p_object_collection.d.ts +2 -2
  298. package/dist/pool/p_object_collection.d.ts.map +1 -1
  299. package/dist/pool/p_object_collection.js +5 -5
  300. package/dist/pool/p_object_collection.js.map +1 -1
  301. package/dist/pool/result_pool.cjs +6 -6
  302. package/dist/pool/result_pool.cjs.map +1 -1
  303. package/dist/pool/result_pool.d.ts +6 -6
  304. package/dist/pool/result_pool.d.ts.map +1 -1
  305. package/dist/pool/result_pool.js +6 -6
  306. package/dist/pool/result_pool.js.map +1 -1
  307. package/dist/test/block_packs.d.ts +2 -2
  308. package/dist/test/known_templates.d.ts +1 -1
  309. package/dist/worker/WorkerManager.cjs +7 -8
  310. package/dist/worker/WorkerManager.cjs.map +1 -1
  311. package/dist/worker/WorkerManager.d.ts +2 -2
  312. package/dist/worker/WorkerManager.d.ts.map +1 -1
  313. package/dist/worker/WorkerManager.js +7 -8
  314. package/dist/worker/WorkerManager.js.map +1 -1
  315. package/dist/worker/worker.cjs +6 -4
  316. package/dist/worker/worker.cjs.map +1 -1
  317. package/dist/worker/worker.js +6 -4
  318. package/dist/worker/worker.js.map +1 -1
  319. package/dist/worker/workerApi.cjs.map +1 -1
  320. package/dist/worker/workerApi.js.map +1 -1
  321. package/package.json +41 -41
  322. package/src/block_registry/index.ts +3 -3
  323. package/src/block_registry/registry-v2-provider.ts +2 -2
  324. package/src/block_registry/registry.test.ts +17 -17
  325. package/src/block_registry/registry.ts +55 -60
  326. package/src/block_registry/watcher.ts +24 -23
  327. package/src/block_registry/well_known_registries.ts +7 -7
  328. package/src/cfg_render/executor.test.ts +36 -36
  329. package/src/cfg_render/executor.ts +24 -24
  330. package/src/cfg_render/operation.ts +5 -5
  331. package/src/cfg_render/renderer.ts +96 -93
  332. package/src/cfg_render/traverse.ts +50 -50
  333. package/src/cfg_render/util.ts +3 -3
  334. package/src/debug/index.ts +6 -4
  335. package/src/dev_env/index.ts +16 -16
  336. package/src/dev_env/util.ts +3 -3
  337. package/src/index.ts +16 -16
  338. package/src/js_render/computable_context.ts +143 -126
  339. package/src/js_render/context.ts +72 -44
  340. package/src/js_render/index.ts +51 -24
  341. package/src/middle_layer/active_cfg.ts +14 -12
  342. package/src/middle_layer/block.ts +30 -23
  343. package/src/middle_layer/block_ctx.ts +27 -31
  344. package/src/middle_layer/block_ctx_unsafe.ts +9 -9
  345. package/src/middle_layer/driver_kit.ts +13 -19
  346. package/src/middle_layer/frontend_path.ts +18 -23
  347. package/src/middle_layer/index.ts +4 -4
  348. package/src/middle_layer/middle_layer.ts +57 -55
  349. package/src/middle_layer/navigation_states.ts +6 -6
  350. package/src/middle_layer/ops.ts +43 -42
  351. package/src/middle_layer/project.ts +274 -173
  352. package/src/middle_layer/project_list.ts +14 -15
  353. package/src/middle_layer/project_overview.ts +104 -113
  354. package/src/middle_layer/project_overview_light.ts +7 -9
  355. package/src/middle_layer/render.test.ts +49 -48
  356. package/src/middle_layer/render.ts +9 -9
  357. package/src/middle_layer/types.ts +3 -3
  358. package/src/middle_layer/util.ts +17 -12
  359. package/src/model/args.ts +22 -19
  360. package/src/model/block_pack.ts +2 -2
  361. package/src/model/block_pack_spec.ts +11 -11
  362. package/src/model/block_storage_helper.ts +11 -11
  363. package/src/model/index.ts +3 -3
  364. package/src/model/project_helper.ts +78 -32
  365. package/src/model/project_model.test.ts +5 -9
  366. package/src/model/project_model.ts +48 -49
  367. package/src/model/project_model_util.test.ts +86 -53
  368. package/src/model/project_model_util.ts +18 -14
  369. package/src/model/project_model_v1.ts +3 -3
  370. package/src/model/template_spec.ts +5 -5
  371. package/src/mutator/block-pack/block_pack.test.ts +25 -25
  372. package/src/mutator/block-pack/block_pack.ts +70 -68
  373. package/src/mutator/block-pack/frontend.ts +6 -13
  374. package/src/mutator/context_export.ts +12 -10
  375. package/src/mutator/migration.ts +20 -14
  376. package/src/mutator/project-v3.test.ts +123 -118
  377. package/src/mutator/project.test.ts +105 -94
  378. package/src/mutator/project.ts +357 -274
  379. package/src/mutator/template/direct_template_loader.ts +26 -32
  380. package/src/mutator/template/direct_template_loader_v3.ts +51 -25
  381. package/src/mutator/template/render_block.ts +14 -21
  382. package/src/mutator/template/render_template.ts +13 -13
  383. package/src/mutator/template/template_loading.ts +23 -23
  384. package/src/mutator/template/template_render.test.ts +87 -86
  385. package/src/network_check/network_check.test.ts +4 -4
  386. package/src/network_check/network_check.ts +102 -79
  387. package/src/network_check/pings.ts +35 -16
  388. package/src/network_check/template.test.ts +47 -44
  389. package/src/network_check/template.ts +151 -95
  390. package/src/network_check/test_utils.ts +1 -1
  391. package/src/pool/data.ts +81 -69
  392. package/src/pool/driver.ts +56 -51
  393. package/src/pool/index.ts +2 -2
  394. package/src/pool/p_object_collection.ts +16 -15
  395. package/src/pool/result_pool.ts +23 -34
  396. package/src/test/block_packs.ts +15 -15
  397. package/src/test/explicit_templates.ts +4 -4
  398. package/src/test/known_templates.ts +10 -10
  399. package/src/test_env.ts +1 -1
  400. package/src/worker/WorkerManager.ts +22 -18
  401. package/src/worker/worker.ts +11 -9
  402. package/src/worker/workerApi.ts +1 -1
@@ -1,64 +1,60 @@
1
- import { field, poll, TestHelpers, toGlobalResourceId } from '@milaboratories/pl-client';
2
- import { getQuickJS } from 'quickjs-emscripten';
3
- import { expect, test } from 'vitest';
4
- import { outputRef } from '../model/args';
5
- import { ProjectHelper } from '../model/project_helper';
6
- import {
7
- BlockRenderingStateKey,
8
- projectFieldName,
9
- ProjectRenderingState
10
- } from '../model/project_model';
11
- import {
12
- TestBPPreparer
13
- } from '../test/block_packs';
14
- import { createProject, ProjectMutator } from './project';
15
- import type { BlockPackSpec } from '@milaboratories/pl-model-middle-layer';
16
- import path from 'node:path';
1
+ import { field, poll, TestHelpers, toGlobalResourceId } from "@milaboratories/pl-client";
2
+ import { getQuickJS } from "quickjs-emscripten";
3
+ import { expect, test } from "vitest";
4
+ import { outputRef } from "../model/args";
5
+ import { ProjectHelper } from "../model/project_helper";
6
+ import { projectFieldName } from "../model/project_model";
7
+ import { TestBPPreparer } from "../test/block_packs";
8
+ import { createProject, ProjectMutator } from "./project";
9
+ import type { BlockPackSpec } from "@milaboratories/pl-model-middle-layer";
10
+ import path from "node:path";
17
11
 
18
12
  // V3 block specs - using dev-v2 type with local folders
19
13
  // These blocks use the new unified state format (state instead of args+uiState)
20
14
  const BPSpecEnterV3: BlockPackSpec = {
21
- type: 'dev-v2',
15
+ type: "dev-v2",
22
16
  // Navigate from lib/node/pl-middle-layer/src/mutator to etc/blocks/enter-numbers-v3/block
23
- folder: path.resolve(__dirname, '../../../../../etc/blocks/enter-numbers-v3/block'),
17
+ folder: path.resolve(__dirname, "../../../../../etc/blocks/enter-numbers-v3/block"),
24
18
  };
25
19
 
26
20
  const BPSpecSumV3: BlockPackSpec = {
27
- type: 'dev-v2',
28
- folder: path.resolve(__dirname, '../../../../../etc/blocks/sum-numbers-v3/block'),
21
+ type: "dev-v2",
22
+ folder: path.resolve(__dirname, "../../../../../etc/blocks/sum-numbers-v3/block"),
29
23
  };
30
24
 
31
- test('v3 blocks: basic test with unified state', async () => {
25
+ test("v3 blocks: basic test with unified state", async () => {
32
26
  const quickJs = await getQuickJS();
33
27
 
34
28
  await TestHelpers.withTempRoot(async (pl) => {
35
- const prj = await pl.withWriteTx('CreatingProject', async (tx) => {
29
+ const prj = await pl.withWriteTx("CreatingProject", async (tx) => {
36
30
  const prjRef = await createProject(tx);
37
- tx.createField(field(tx.clientRoot, 'prj'), 'Dynamic', prjRef);
31
+ tx.createField(field(tx.clientRoot, "prj"), "Dynamic", prjRef);
38
32
  await tx.commit();
39
33
  return await toGlobalResourceId(prjRef);
40
34
  });
41
35
 
42
36
  // Add enter-numbers-v3 block with storageMode: 'fromModel'
43
37
  // Initial storage comes from VM, then we set desired state via setStates
44
- await pl.withWriteTx('AddEnterNumbersV3Block', async (tx) => {
38
+ await pl.withWriteTx("AddEnterNumbersV3Block", async (tx) => {
45
39
  const mut = await ProjectMutator.load(new ProjectHelper(quickJs), tx, prj);
46
40
  mut.addBlock(
47
- { id: 'enter1', label: 'Enter Numbers V3', renderingMode: 'Heavy' },
41
+ { id: "enter1", label: "Enter Numbers V3", renderingMode: "Heavy" },
48
42
  {
49
- storageMode: 'fromModel',
50
- blockPack: await TestBPPreparer.prepare(BPSpecEnterV3)
51
- }
43
+ storageMode: "fromModel",
44
+ blockPack: await TestBPPreparer.prepare(BPSpecEnterV3),
45
+ },
52
46
  );
53
47
  // Set initial test data
54
- mut.setStates([{
55
- modelAPIVersion: 2,
56
- blockId: 'enter1',
57
- payload: {
58
- operation: 'update-data',
59
- value: { numbers: [1, 2, 3] }
60
- }
61
- }]);
48
+ mut.setStates([
49
+ {
50
+ modelAPIVersion: 2,
51
+ blockId: "enter1",
52
+ payload: {
53
+ operation: "update-data",
54
+ value: { numbers: [1, 2, 3] },
55
+ },
56
+ },
57
+ ]);
62
58
  mut.save();
63
59
  await tx.commit();
64
60
  });
@@ -66,53 +62,57 @@ test('v3 blocks: basic test with unified state', async () => {
66
62
  // Verify blockStorage was saved
67
63
  await poll(pl, async (tx) => {
68
64
  const prjR = await tx.get(prj);
69
- const blockStorage = await prjR.get(projectFieldName('enter1', 'blockStorage'));
65
+ const blockStorage = await prjR.get(projectFieldName("enter1", "blockStorage"));
70
66
  const stateData = Buffer.from(blockStorage.data.data!).toString();
71
67
  expect(JSON.parse(stateData).__data).toStrictEqual({ numbers: [1, 2, 3] });
72
68
  });
73
69
 
74
70
  // Add second enter-numbers-v3 block
75
- await pl.withWriteTx('AddEnterNumbersV3Block2', async (tx) => {
71
+ await pl.withWriteTx("AddEnterNumbersV3Block2", async (tx) => {
76
72
  const mut = await ProjectMutator.load(new ProjectHelper(quickJs), tx, prj);
77
73
  mut.addBlock(
78
- { id: 'enter2', label: 'Enter Numbers V3 #2', renderingMode: 'Heavy' },
74
+ { id: "enter2", label: "Enter Numbers V3 #2", renderingMode: "Heavy" },
79
75
  {
80
- storageMode: 'fromModel',
81
- blockPack: await TestBPPreparer.prepare(BPSpecEnterV3)
82
- }
76
+ storageMode: "fromModel",
77
+ blockPack: await TestBPPreparer.prepare(BPSpecEnterV3),
78
+ },
83
79
  );
84
- mut.setStates([{
85
- modelAPIVersion: 2,
86
- blockId: 'enter2',
87
- payload: {
88
- operation: 'update-data',
89
- value: { numbers: [4, 5, 6] }
90
- }
91
- }]);
80
+ mut.setStates([
81
+ {
82
+ modelAPIVersion: 2,
83
+ blockId: "enter2",
84
+ payload: {
85
+ operation: "update-data",
86
+ value: { numbers: [4, 5, 6] },
87
+ },
88
+ },
89
+ ]);
92
90
  mut.doRefresh();
93
91
  mut.save();
94
92
  await tx.commit();
95
93
  });
96
94
 
97
95
  // Add sum-numbers-v3 block that references both enter blocks
98
- await pl.withWriteTx('AddSumNumbersV3Block', async (tx) => {
96
+ await pl.withWriteTx("AddSumNumbersV3Block", async (tx) => {
99
97
  const mut = await ProjectMutator.load(new ProjectHelper(quickJs), tx, prj);
100
98
  mut.addBlock(
101
- { id: 'sum1', label: 'Sum Numbers V3', renderingMode: 'Heavy' },
99
+ { id: "sum1", label: "Sum Numbers V3", renderingMode: "Heavy" },
102
100
  {
103
- storageMode: 'fromModel',
104
- blockPack: await TestBPPreparer.prepare(BPSpecSumV3)
105
- }
101
+ storageMode: "fromModel",
102
+ blockPack: await TestBPPreparer.prepare(BPSpecSumV3),
103
+ },
106
104
  );
107
105
  // Set sources to reference upstream blocks
108
- mut.setStates([{
109
- modelAPIVersion: 2,
110
- blockId: 'sum1',
111
- payload: {
112
- operation: 'update-data',
113
- value: { sources: [outputRef('enter1', 'numbers'), outputRef('enter2', 'numbers')] }
114
- }
115
- }]);
106
+ mut.setStates([
107
+ {
108
+ modelAPIVersion: 2,
109
+ blockId: "sum1",
110
+ payload: {
111
+ operation: "update-data",
112
+ value: { sources: [outputRef("enter1", "numbers"), outputRef("enter2", "numbers")] },
113
+ },
114
+ },
115
+ ]);
116
116
  mut.doRefresh();
117
117
  mut.save();
118
118
  await tx.commit();
@@ -122,17 +122,17 @@ test('v3 blocks: basic test with unified state', async () => {
122
122
  await poll(pl, async (tx) => {
123
123
  const prjR = await tx.get(prj);
124
124
  const stagingOutput = await prjR
125
- .get(projectFieldName('enter1', 'stagingOutput'))
125
+ .get(projectFieldName("enter1", "stagingOutput"))
126
126
  .then((r) => r.final());
127
127
  const all = await stagingOutput.getAllFinal();
128
128
  // V3 enter-numbers-v3 block has prerun with numbersCount output
129
- expect(Object.keys(all)).toContain('numbersCount');
129
+ expect(Object.keys(all)).toContain("numbersCount");
130
130
  });
131
131
 
132
132
  // Render production for all blocks
133
- await pl.withWriteTx('RenderProduction', async (tx) => {
133
+ await pl.withWriteTx("RenderProduction", async (tx) => {
134
134
  const mut = await ProjectMutator.load(new ProjectHelper(quickJs), tx, prj);
135
- mut.renderProduction(['enter1', 'enter2', 'sum1']);
135
+ mut.renderProduction(["enter1", "enter2", "sum1"]);
136
136
  mut.doRefresh();
137
137
  mut.save();
138
138
  await tx.commit();
@@ -142,12 +142,12 @@ test('v3 blocks: basic test with unified state', async () => {
142
142
  await poll(pl, async (tx) => {
143
143
  const prjR = await tx.get(prj);
144
144
  const prodOutput = await prjR
145
- .get(projectFieldName('sum1', 'prodOutput'))
145
+ .get(projectFieldName("sum1", "prodOutput"))
146
146
  .then((r) => r.final());
147
147
  const all = await prodOutput.getAllFinal();
148
- expect(Object.keys(all)).toContain('sum');
148
+ expect(Object.keys(all)).toContain("sum");
149
149
 
150
- const sumValue = await prodOutput.get('sum');
150
+ const sumValue = await prodOutput.get("sum");
151
151
  const sum = JSON.parse(Buffer.from(sumValue.data.data!).toString());
152
152
  // [1,2,3] + [4,5,6] = 21
153
153
  expect(sum).toBe(21);
@@ -155,36 +155,38 @@ test('v3 blocks: basic test with unified state', async () => {
155
155
  });
156
156
  });
157
157
 
158
- test('v3 blocks: prerunArgs skip test', async () => {
158
+ test("v3 blocks: prerunArgs skip test", async () => {
159
159
  const quickJs = await getQuickJS();
160
160
 
161
161
  await TestHelpers.withTempRoot(async (pl) => {
162
- const prj = await pl.withWriteTx('CreatingProject', async (tx) => {
162
+ const prj = await pl.withWriteTx("CreatingProject", async (tx) => {
163
163
  const prjRef = await createProject(tx);
164
- tx.createField(field(tx.clientRoot, 'prj'), 'Dynamic', prjRef);
164
+ tx.createField(field(tx.clientRoot, "prj"), "Dynamic", prjRef);
165
165
  await tx.commit();
166
166
  return await toGlobalResourceId(prjRef);
167
167
  });
168
168
 
169
169
  // Add enter-numbers-v3 block
170
- await pl.withWriteTx('AddEnterNumbersV3Block', async (tx) => {
170
+ await pl.withWriteTx("AddEnterNumbersV3Block", async (tx) => {
171
171
  const mut = await ProjectMutator.load(new ProjectHelper(quickJs), tx, prj);
172
172
  mut.addBlock(
173
- { id: 'enter1', label: 'Enter Numbers V3', renderingMode: 'Heavy' },
173
+ { id: "enter1", label: "Enter Numbers V3", renderingMode: "Heavy" },
174
174
  {
175
- storageMode: 'fromModel',
176
- blockPack: await TestBPPreparer.prepare(BPSpecEnterV3)
177
- }
175
+ storageMode: "fromModel",
176
+ blockPack: await TestBPPreparer.prepare(BPSpecEnterV3),
177
+ },
178
178
  );
179
179
  // Set initial state: [3, 1, 2] - has one even number (2)
180
- mut.setStates([{
181
- modelAPIVersion: 2,
182
- blockId: 'enter1',
183
- payload: {
184
- operation: 'update-data',
185
- value: { numbers: [3, 1, 2] }
186
- }
187
- }]);
180
+ mut.setStates([
181
+ {
182
+ modelAPIVersion: 2,
183
+ blockId: "enter1",
184
+ payload: {
185
+ operation: "update-data",
186
+ value: { numbers: [3, 1, 2] },
187
+ },
188
+ },
189
+ ]);
188
190
  mut.doRefresh();
189
191
  mut.save();
190
192
  await tx.commit();
@@ -194,28 +196,30 @@ test('v3 blocks: prerunArgs skip test', async () => {
194
196
  await poll(pl, async (tx) => {
195
197
  const prjR = await tx.get(prj);
196
198
  const stagingOutput = await prjR
197
- .get(projectFieldName('enter1', 'stagingOutput'))
199
+ .get(projectFieldName("enter1", "stagingOutput"))
198
200
  .then((r) => r.final());
199
201
  const all = await stagingOutput.getAllFinal();
200
- expect(Object.keys(all)).toContain('numbersCount');
202
+ expect(Object.keys(all)).toContain("numbersCount");
201
203
  // Should count even numbers: [2] -> count = 1
202
- const countValue = await stagingOutput.get('numbersCount');
204
+ const countValue = await stagingOutput.get("numbersCount");
203
205
  const count = JSON.parse(Buffer.from(countValue.data.data!).toString());
204
206
  expect(count).toBe(1);
205
207
  });
206
208
 
207
209
  // Change state: [3, 1, 2] -> [5, 1, 2]
208
210
  // prerunArgs (evenNumbers) stays [2], so staging should be SKIPPED
209
- await pl.withWriteTx('ChangeState_SamePrerunArgs', async (tx) => {
211
+ await pl.withWriteTx("ChangeState_SamePrerunArgs", async (tx) => {
210
212
  const mut = await ProjectMutator.load(new ProjectHelper(quickJs), tx, prj);
211
- mut.setStates([{
212
- modelAPIVersion: 2,
213
- blockId: 'enter1',
214
- payload: {
215
- operation: 'update-data',
216
- value: { numbers: [5, 1, 2] } // Changed odd numbers only
217
- }
218
- }]);
213
+ mut.setStates([
214
+ {
215
+ modelAPIVersion: 2,
216
+ blockId: "enter1",
217
+ payload: {
218
+ operation: "update-data",
219
+ value: { numbers: [5, 1, 2] }, // Changed odd numbers only
220
+ },
221
+ },
222
+ ]);
219
223
  mut.doRefresh();
220
224
  mut.save();
221
225
  await tx.commit();
@@ -225,25 +229,27 @@ test('v3 blocks: prerunArgs skip test', async () => {
225
229
  await poll(pl, async (tx) => {
226
230
  const prjR = await tx.get(prj);
227
231
  const stagingOutput = await prjR
228
- .get(projectFieldName('enter1', 'stagingOutput'))
232
+ .get(projectFieldName("enter1", "stagingOutput"))
229
233
  .then((r) => r.final());
230
- const countValue = await stagingOutput.get('numbersCount');
234
+ const countValue = await stagingOutput.get("numbersCount");
231
235
  const count = JSON.parse(Buffer.from(countValue.data.data!).toString());
232
- expect(count).toBe(1); // Still 1 (only [2] is even)
236
+ expect(count).toBe(1); // Still 1 (only [2] is even)
233
237
  });
234
238
 
235
239
  // Change state: [5, 1, 2] -> [5, 1, 4]
236
240
  // prerunArgs (evenNumbers) changes from [2] to [4], so staging should RUN
237
- await pl.withWriteTx('ChangeState_DifferentPrerunArgs', async (tx) => {
241
+ await pl.withWriteTx("ChangeState_DifferentPrerunArgs", async (tx) => {
238
242
  const mut = await ProjectMutator.load(new ProjectHelper(quickJs), tx, prj);
239
- mut.setStates([{
240
- modelAPIVersion: 2,
241
- blockId: 'enter1',
242
- payload: {
243
- operation: 'update-data',
244
- value: { numbers: [5, 1, 4] } // Changed even number from 2 to 4
245
- }
246
- }]);
243
+ mut.setStates([
244
+ {
245
+ modelAPIVersion: 2,
246
+ blockId: "enter1",
247
+ payload: {
248
+ operation: "update-data",
249
+ value: { numbers: [5, 1, 4] }, // Changed even number from 2 to 4
250
+ },
251
+ },
252
+ ]);
247
253
  mut.doRefresh();
248
254
  mut.save();
249
255
  await tx.commit();
@@ -253,28 +259,27 @@ test('v3 blocks: prerunArgs skip test', async () => {
253
259
  await poll(pl, async (tx) => {
254
260
  const prjR = await tx.get(prj);
255
261
  const stagingOutput = await prjR
256
- .get(projectFieldName('enter1', 'stagingOutput'))
262
+ .get(projectFieldName("enter1", "stagingOutput"))
257
263
  .then((r) => r.final());
258
- const countValue = await stagingOutput.get('numbersCount');
264
+ const countValue = await stagingOutput.get("numbersCount");
259
265
  const count = JSON.parse(Buffer.from(countValue.data.data!).toString());
260
- expect(count).toBe(1); // Still 1 (only [4] is even)
266
+ expect(count).toBe(1); // Still 1 (only [4] is even)
261
267
  });
262
268
 
263
269
  // Verify prerunArgsJson output contains evenNumbers, not numbers
264
270
  await poll(pl, async (tx) => {
265
271
  const prjR = await tx.get(prj);
266
272
  const stagingOutput = await prjR
267
- .get(projectFieldName('enter1', 'stagingOutput'))
273
+ .get(projectFieldName("enter1", "stagingOutput"))
268
274
  .then((r) => r.final());
269
275
 
270
- const prerunArgsValue = await stagingOutput.get('prerunArgsJson');
276
+ const prerunArgsValue = await stagingOutput.get("prerunArgsJson");
271
277
  const prerunArgs = JSON.parse(Buffer.from(prerunArgsValue.data.data!).toString());
272
278
 
273
279
  // Should have evenNumbers, NOT numbers
274
- expect(prerunArgs).toHaveProperty('evenNumbers');
280
+ expect(prerunArgs).toHaveProperty("evenNumbers");
275
281
  expect(prerunArgs.evenNumbers).toStrictEqual([4]);
276
- expect(prerunArgs).not.toHaveProperty('numbers');
282
+ expect(prerunArgs).not.toHaveProperty("numbers");
277
283
  });
278
284
  });
279
285
  });
280
-