@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 +1 @@
1
- {"version":3,"file":"renderer.js","sources":["../../src/cfg_render/renderer.ts"],"sourcesContent":["import type {\n ArchiveFormat,\n Cfg,\n CfgMapArrayValues,\n CfgMapRecordValues,\n CfgMapResourceFields,\n RangeBytes,\n} from '@platforma-sdk/model';\nimport type { ArgumentRequests, Operation, OperationAction, Subroutine } from './operation';\nimport type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport { mapRecord } from './util';\nimport { computableFromCfgUnsafe } from './executor';\nimport { assertNever } from '@milaboratories/ts-helpers';\nimport type { ComputableCtx } from '@milaboratories/computable';\nimport { Computable } from '@milaboratories/computable';\n\nfunction res(result: unknown): OperationAction {\n return {\n type: 'ReturnResult',\n result: result,\n };\n}\n\nexport function resOp(result: unknown): Operation {\n return () => res(result);\n}\n\n//\n// Subroutines\n//\n\nconst SRMakeObject: Subroutine = (args) => {\n const result: Record<string | symbol, unknown> = {};\n for (const [k, v] of Object.entries(args)) result[k] = v;\n return resOp(result);\n};\n\nconst SRFlatten: Subroutine = (args) => {\n const source = args.source as unknown[] | undefined;\n if (source === undefined) return resOp(undefined);\n const result: unknown[] = [];\n for (const nested of source) {\n if (nested instanceof Array) result.push(...(nested as unknown[]));\n else result.push(nested);\n }\n return resOp(result);\n};\n\nconst SRGetResourceField: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n const field = args.field as string | undefined;\n if (source === undefined || field === undefined) return resOp(undefined);\n return ({ cCtx }) => {\n return res(cCtx.accessor(source).node().traverse(field)?.persist());\n };\n};\n\nfunction mapArrayToRecord<T, R>(elements: T[], cb: (e: T) => R): Record<string, R> {\n const result: Record<string, R> = {};\n const length = elements.length;\n for (let i = 0; i < length; i++) result[String(i)] = cb(elements[i]);\n return result;\n}\n\nfunction SRMapArrayValues1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapArrayValues, 'itVar' | 'mapping'>,\n): Subroutine {\n return (args) => {\n const source = args.source as unknown[] | undefined;\n if (source === undefined) return resOp(undefined);\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRCollectArrayFromArgs(source.length),\n args: mapArrayToRecord(source, (e) => renderCfg({ ...ctx, [ops.itVar]: e }, ops.mapping)),\n });\n };\n}\n\nfunction SRCollectArrayFromArgs(length: number): Subroutine {\n return (args) => {\n const result: unknown[] = [];\n for (let i = 0; i < length; i++) result.push(args[String(i)]);\n return resOp(result);\n };\n}\n\nfunction SRMapRecordValues1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapRecordValues, 'itVar' | 'mapping'>,\n): Subroutine {\n return (args) => {\n const source = args.source as Record<string, unknown> | undefined;\n if (source === undefined) return resOp(undefined);\n const nextArgs: ArgumentRequests = {};\n for (const [k, v] of Object.entries(source)) {\n const newCtx = { ...ctx, [ops.itVar]: v };\n nextArgs[k] = renderCfg(newCtx, ops.mapping);\n }\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMapRecordValues2,\n args: nextArgs,\n });\n };\n}\n\nconst SRMapRecordValues2: Subroutine = (args) => {\n return resOp(args);\n};\n\nconst SRIsEmpty: Subroutine = (args) => {\n const arg = args.arg as unknown[] | string | undefined;\n if (arg === undefined) return resOp(undefined);\n return resOp(arg.length === 0);\n};\n\nconst SRNot: Subroutine = (args) => {\n const operand = args.operand as boolean | undefined;\n if (operand === undefined) return resOp(undefined);\n return resOp(!operand);\n};\n\nconst SRAnd: Subroutine = (args) => {\n const operand1 = args.operand1 as boolean | undefined;\n const operand2 = args.operand2 as boolean | undefined;\n if (operand1 === undefined || operand2 === undefined) return resOp(undefined);\n return resOp(operand1 && operand2);\n};\n\nconst SROr: Subroutine = (args) => {\n const operand1 = args.operand1 as boolean | undefined;\n const operand2 = args.operand2 as boolean | undefined;\n if (operand1 === undefined || operand2 === undefined) return resOp(undefined);\n return resOp(operand1 || operand2);\n};\n\nconst SRResourceValueAsJson: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n return ({ cCtx }) => res(cCtx.accessor(source).node()?.getDataAsJson());\n};\n\nconst SRGetJsonField: Subroutine = (args) => {\n const source = args.source as Record<string, unknown> | undefined;\n const field = args.field as string | undefined;\n if (source === undefined || field === undefined) return resOp(undefined);\n return resOp(source[field]);\n};\n\nfunction SRMapResourceFields1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapResourceFields, 'itVar' | 'mapping'>,\n): Subroutine {\n return (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ cCtx }) => {\n const node = cCtx.accessor(source).node();\n\n const nextArgs: ArgumentRequests = {};\n for (const fieldName of node.listInputFields()) {\n const res = node.traverse(fieldName);\n if (res === undefined) nextArgs[fieldName] = resOp(undefined);\n else {\n const newCtx = { ...ctx, [ops.itVar]: res.persist() };\n nextArgs[fieldName] = renderCfg(newCtx, ops.mapping);\n }\n }\n\n return {\n type: 'ScheduleSubroutine',\n subroutine: SRMapResourceFields2,\n args: nextArgs,\n };\n };\n };\n}\n\nconst SRMapResourceFields2: Subroutine = (args) => {\n return resOp(args);\n};\n\nconst SRGetBlobContent: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: Computable.make(\n (ctx) => {\n return drivers.blobDriver.getDownloadedBlob(ctx.accessor(source).node().resourceInfo);\n },\n {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return await drivers.blobDriver.getContent(value.handle, range);\n },\n },\n ),\n };\n };\n};\n\nconst SRGetBlobContentAsString: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ cCtx, drivers }) => {\n // getting target resource id and type\n const resourceInfo = cCtx.accessor(source).node().resourceInfo;\n\n return {\n type: 'ScheduleComputable',\n computable: Computable.make((ctx) => drivers.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n const content = await drivers.blobDriver.getContent(value.handle, range);\n return content.toString();\n },\n }),\n };\n };\n};\n\nconst SRGetBlobContentAsJson: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: Computable.make(\n (c) => drivers.blobDriver.getDownloadedBlob(c.accessor(source).node().resourceInfo, c),\n {\n postprocessValue: async (value) => {\n if (value == undefined) return undefined;\n const content = await drivers.blobDriver.getContent(value.handle, range);\n if (content == undefined) return undefined;\n return JSON.parse(Buffer.from(content).toString()) as unknown;\n },\n },\n ),\n };\n };\n};\n\nconst SRGetDownloadedBlobContent: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return (ctx) => {\n return {\n type: 'ScheduleComputable',\n computable: ctx.drivers.blobDriver.getDownloadedBlob(source),\n };\n };\n};\n\nconst SRGetOnDemandBlobContent: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.blobDriver.getOnDemandBlob(source),\n };\n };\n};\n\nconst SRExtractArchiveAndGetURL: (format: ArchiveFormat) => Subroutine = (format) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.blobToURLDriver.extractArchiveAndGetURL(source, format),\n };\n };\n};\n\nconst SRGetImportProgress: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.uploadDriver.getProgressId(source),\n };\n };\n};\n\nconst SRGetLastLogs: (lines: number) => Subroutine = (lines) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.logDriver.getLastLogs(source, lines),\n };\n };\n};\n\nconst SRGetProgressLog: (patternToSearch: string) => Subroutine = (patternToSearch) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.logDriver.getProgressLog(source, patternToSearch),\n };\n };\n};\n\nconst SRGetProgressLogWithInfo: (patternToSearch: string) => Subroutine = (patternToSearch) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.logDriver.getProgressLogWithInfo(source, patternToSearch),\n };\n };\n};\n\nconst SRGetLogHandle: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.logDriver.getLogHandle(source),\n };\n };\n};\n\n/** Renders configuration into executor's Operation */\nexport function renderCfg(ctx: Record<string, unknown>, cfg: Cfg): Operation {\n switch (cfg.type) {\n case 'GetFromCtx':\n {\n const ctxValue = ctx[cfg.variable];\n if (typeof ctxValue === 'function') {\n return (e) => res((ctxValue as (cCtx: ComputableCtx) => OperationAction)(e.cCtx));\n } else {\n return resOp(ctxValue);\n }\n }\n\n case 'Isolate':\n return ({ drivers }) => ({\n type: 'ScheduleComputable',\n computable: computableFromCfgUnsafe(drivers, ctx, cfg.cfg),\n });\n\n case 'Immediate':\n return resOp(cfg.value);\n\n case 'GetJsonField':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetJsonField,\n args: {\n source: renderCfg(ctx, cfg.source),\n field: renderCfg(ctx, cfg.field),\n },\n });\n\n case 'MapArrayValues':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMapArrayValues1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'MapRecordValues':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMapRecordValues1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'MakeObject':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMakeObject,\n args: mapRecord(cfg.template, (c) => renderCfg(ctx, c)),\n });\n\n case 'MakeArray':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRCollectArrayFromArgs(cfg.template.length),\n args: mapArrayToRecord(cfg.template, (e) => renderCfg(ctx, e)),\n });\n\n case 'Flatten':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRFlatten,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'IsEmpty':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRIsEmpty,\n args: {\n arg: renderCfg(ctx, cfg.arg),\n },\n });\n\n case 'Not':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRNot,\n args: {\n operand: renderCfg(ctx, cfg.operand),\n },\n });\n\n case 'And':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRAnd,\n args: {\n operand1: renderCfg(ctx, cfg.operand1),\n operand2: renderCfg(ctx, cfg.operand2),\n },\n });\n\n case 'Or':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SROr,\n args: {\n operand1: renderCfg(ctx, cfg.operand1),\n operand2: renderCfg(ctx, cfg.operand2),\n },\n });\n\n case 'MapResourceFields':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMapResourceFields1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetResourceField':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetResourceField,\n args: {\n source: renderCfg(ctx, cfg.source),\n field: renderCfg(ctx, cfg.field),\n },\n });\n\n case 'GetResourceValueAsJson':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRResourceValueAsJson,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetBlobContent':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetBlobContent(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetBlobContentAsString':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetBlobContentAsString(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetBlobContentAsJson':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetBlobContentAsJson(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetDownloadedBlobContent':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetDownloadedBlobContent,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetOnDemandBlobContent':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetOnDemandBlobContent,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'ExtractArchiveAndGetURL':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRExtractArchiveAndGetURL(cfg.format),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetImportProgress':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetImportProgress,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetLastLogs':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetLastLogs(cfg.lines),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetProgressLog':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetProgressLog(cfg.patternToSearch),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetProgressLogWithInfo':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetProgressLogWithInfo(cfg.patternToSearch),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetLogHandle':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetLogHandle,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n default:\n return assertNever(cfg);\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sources":["../../src/cfg_render/renderer.ts"],"sourcesContent":["import type {\n ArchiveFormat,\n Cfg,\n CfgMapArrayValues,\n CfgMapRecordValues,\n CfgMapResourceFields,\n RangeBytes,\n} from \"@platforma-sdk/model\";\nimport type { ArgumentRequests, Operation, OperationAction, Subroutine } from \"./operation\";\nimport type { PlTreeEntry } from \"@milaboratories/pl-tree\";\nimport { mapRecord } from \"./util\";\nimport { computableFromCfgUnsafe } from \"./executor\";\nimport { assertNever } from \"@milaboratories/ts-helpers\";\nimport type { ComputableCtx } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\n\nfunction res(result: unknown): OperationAction {\n return {\n type: \"ReturnResult\",\n result: result,\n };\n}\n\nexport function resOp(result: unknown): Operation {\n return () => res(result);\n}\n\n//\n// Subroutines\n//\n\nconst SRMakeObject: Subroutine = (args) => {\n const result: Record<string | symbol, unknown> = {};\n for (const [k, v] of Object.entries(args)) result[k] = v;\n return resOp(result);\n};\n\nconst SRFlatten: Subroutine = (args) => {\n const source = args.source as unknown[] | undefined;\n if (source === undefined) return resOp(undefined);\n const result: unknown[] = [];\n for (const nested of source) {\n if (nested instanceof Array) result.push(...(nested as unknown[]));\n else result.push(nested);\n }\n return resOp(result);\n};\n\nconst SRGetResourceField: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n const field = args.field as string | undefined;\n if (source === undefined || field === undefined) return resOp(undefined);\n return ({ cCtx }) => {\n return res(cCtx.accessor(source).node().traverse(field)?.persist());\n };\n};\n\nfunction mapArrayToRecord<T, R>(elements: T[], cb: (e: T) => R): Record<string, R> {\n const result: Record<string, R> = {};\n const length = elements.length;\n for (let i = 0; i < length; i++) result[String(i)] = cb(elements[i]);\n return result;\n}\n\nfunction SRMapArrayValues1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapArrayValues, \"itVar\" | \"mapping\">,\n): Subroutine {\n return (args) => {\n const source = args.source as unknown[] | undefined;\n if (source === undefined) return resOp(undefined);\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRCollectArrayFromArgs(source.length),\n args: mapArrayToRecord(source, (e) => renderCfg({ ...ctx, [ops.itVar]: e }, ops.mapping)),\n });\n };\n}\n\nfunction SRCollectArrayFromArgs(length: number): Subroutine {\n return (args) => {\n const result: unknown[] = [];\n for (let i = 0; i < length; i++) result.push(args[String(i)]);\n return resOp(result);\n };\n}\n\nfunction SRMapRecordValues1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapRecordValues, \"itVar\" | \"mapping\">,\n): Subroutine {\n return (args) => {\n const source = args.source as Record<string, unknown> | undefined;\n if (source === undefined) return resOp(undefined);\n const nextArgs: ArgumentRequests = {};\n for (const [k, v] of Object.entries(source)) {\n const newCtx = { ...ctx, [ops.itVar]: v };\n nextArgs[k] = renderCfg(newCtx, ops.mapping);\n }\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMapRecordValues2,\n args: nextArgs,\n });\n };\n}\n\nconst SRMapRecordValues2: Subroutine = (args) => {\n return resOp(args);\n};\n\nconst SRIsEmpty: Subroutine = (args) => {\n const arg = args.arg as unknown[] | string | undefined;\n if (arg === undefined) return resOp(undefined);\n return resOp(arg.length === 0);\n};\n\nconst SRNot: Subroutine = (args) => {\n const operand = args.operand as boolean | undefined;\n if (operand === undefined) return resOp(undefined);\n return resOp(!operand);\n};\n\nconst SRAnd: Subroutine = (args) => {\n const operand1 = args.operand1 as boolean | undefined;\n const operand2 = args.operand2 as boolean | undefined;\n if (operand1 === undefined || operand2 === undefined) return resOp(undefined);\n return resOp(operand1 && operand2);\n};\n\nconst SROr: Subroutine = (args) => {\n const operand1 = args.operand1 as boolean | undefined;\n const operand2 = args.operand2 as boolean | undefined;\n if (operand1 === undefined || operand2 === undefined) return resOp(undefined);\n return resOp(operand1 || operand2);\n};\n\nconst SRResourceValueAsJson: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n return ({ cCtx }) => res(cCtx.accessor(source).node()?.getDataAsJson());\n};\n\nconst SRGetJsonField: Subroutine = (args) => {\n const source = args.source as Record<string, unknown> | undefined;\n const field = args.field as string | undefined;\n if (source === undefined || field === undefined) return resOp(undefined);\n return resOp(source[field]);\n};\n\nfunction SRMapResourceFields1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapResourceFields, \"itVar\" | \"mapping\">,\n): Subroutine {\n return (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ cCtx }) => {\n const node = cCtx.accessor(source).node();\n\n const nextArgs: ArgumentRequests = {};\n for (const fieldName of node.listInputFields()) {\n const res = node.traverse(fieldName);\n if (res === undefined) nextArgs[fieldName] = resOp(undefined);\n else {\n const newCtx = { ...ctx, [ops.itVar]: res.persist() };\n nextArgs[fieldName] = renderCfg(newCtx, ops.mapping);\n }\n }\n\n return {\n type: \"ScheduleSubroutine\",\n subroutine: SRMapResourceFields2,\n args: nextArgs,\n };\n };\n };\n}\n\nconst SRMapResourceFields2: Subroutine = (args) => {\n return resOp(args);\n};\n\nconst SRGetBlobContent: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: Computable.make(\n (ctx) => {\n return drivers.blobDriver.getDownloadedBlob(ctx.accessor(source).node().resourceInfo);\n },\n {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return await drivers.blobDriver.getContent(value.handle, range);\n },\n },\n ),\n };\n };\n};\n\nconst SRGetBlobContentAsString: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ cCtx, drivers }) => {\n // getting target resource id and type\n const resourceInfo = cCtx.accessor(source).node().resourceInfo;\n\n return {\n type: \"ScheduleComputable\",\n computable: Computable.make(\n (ctx) => drivers.blobDriver.getDownloadedBlob(resourceInfo, ctx),\n {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n const content = await drivers.blobDriver.getContent(value.handle, range);\n return content.toString();\n },\n },\n ),\n };\n };\n};\n\nconst SRGetBlobContentAsJson: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: Computable.make(\n (c) => drivers.blobDriver.getDownloadedBlob(c.accessor(source).node().resourceInfo, c),\n {\n postprocessValue: async (value) => {\n if (value == undefined) return undefined;\n const content = await drivers.blobDriver.getContent(value.handle, range);\n if (content == undefined) return undefined;\n return JSON.parse(Buffer.from(content).toString()) as unknown;\n },\n },\n ),\n };\n };\n};\n\nconst SRGetDownloadedBlobContent: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return (ctx) => {\n return {\n type: \"ScheduleComputable\",\n computable: ctx.drivers.blobDriver.getDownloadedBlob(source),\n };\n };\n};\n\nconst SRGetOnDemandBlobContent: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.blobDriver.getOnDemandBlob(source),\n };\n };\n};\n\nconst SRExtractArchiveAndGetURL: (format: ArchiveFormat) => Subroutine = (format) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.blobToURLDriver.extractArchiveAndGetURL(source, format),\n };\n };\n};\n\nconst SRGetImportProgress: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.uploadDriver.getProgressId(source),\n };\n };\n};\n\nconst SRGetLastLogs: (lines: number) => Subroutine = (lines) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.logDriver.getLastLogs(source, lines),\n };\n };\n};\n\nconst SRGetProgressLog: (patternToSearch: string) => Subroutine = (patternToSearch) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.logDriver.getProgressLog(source, patternToSearch),\n };\n };\n};\n\nconst SRGetProgressLogWithInfo: (patternToSearch: string) => Subroutine =\n (patternToSearch) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.logDriver.getProgressLogWithInfo(source, patternToSearch),\n };\n };\n };\n\nconst SRGetLogHandle: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.logDriver.getLogHandle(source),\n };\n };\n};\n\n/** Renders configuration into executor's Operation */\nexport function renderCfg(ctx: Record<string, unknown>, cfg: Cfg): Operation {\n switch (cfg.type) {\n case \"GetFromCtx\": {\n const ctxValue = ctx[cfg.variable];\n if (typeof ctxValue === \"function\") {\n return (e) => res((ctxValue as (cCtx: ComputableCtx) => OperationAction)(e.cCtx));\n } else {\n return resOp(ctxValue);\n }\n }\n\n case \"Isolate\":\n return ({ drivers }) => ({\n type: \"ScheduleComputable\",\n computable: computableFromCfgUnsafe(drivers, ctx, cfg.cfg),\n });\n\n case \"Immediate\":\n return resOp(cfg.value);\n\n case \"GetJsonField\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetJsonField,\n args: {\n source: renderCfg(ctx, cfg.source),\n field: renderCfg(ctx, cfg.field),\n },\n });\n\n case \"MapArrayValues\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMapArrayValues1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"MapRecordValues\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMapRecordValues1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"MakeObject\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMakeObject,\n args: mapRecord(cfg.template, (c) => renderCfg(ctx, c)),\n });\n\n case \"MakeArray\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRCollectArrayFromArgs(cfg.template.length),\n args: mapArrayToRecord(cfg.template, (e) => renderCfg(ctx, e)),\n });\n\n case \"Flatten\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRFlatten,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"IsEmpty\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRIsEmpty,\n args: {\n arg: renderCfg(ctx, cfg.arg),\n },\n });\n\n case \"Not\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRNot,\n args: {\n operand: renderCfg(ctx, cfg.operand),\n },\n });\n\n case \"And\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRAnd,\n args: {\n operand1: renderCfg(ctx, cfg.operand1),\n operand2: renderCfg(ctx, cfg.operand2),\n },\n });\n\n case \"Or\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SROr,\n args: {\n operand1: renderCfg(ctx, cfg.operand1),\n operand2: renderCfg(ctx, cfg.operand2),\n },\n });\n\n case \"MapResourceFields\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMapResourceFields1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetResourceField\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetResourceField,\n args: {\n source: renderCfg(ctx, cfg.source),\n field: renderCfg(ctx, cfg.field),\n },\n });\n\n case \"GetResourceValueAsJson\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRResourceValueAsJson,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetBlobContent\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetBlobContent(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetBlobContentAsString\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetBlobContentAsString(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetBlobContentAsJson\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetBlobContentAsJson(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetDownloadedBlobContent\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetDownloadedBlobContent,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetOnDemandBlobContent\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetOnDemandBlobContent,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"ExtractArchiveAndGetURL\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRExtractArchiveAndGetURL(cfg.format),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetImportProgress\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetImportProgress,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetLastLogs\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetLastLogs(cfg.lines),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetProgressLog\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetProgressLog(cfg.patternToSearch),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetProgressLogWithInfo\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetProgressLogWithInfo(cfg.patternToSearch),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetLogHandle\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetLogHandle,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n default:\n return assertNever(cfg);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -5,54 +5,54 @@ var tsHelpers = require('@milaboratories/ts-helpers');
5
5
  function* traverseCfg(cfg, guide) {
6
6
  yield cfg;
7
7
  switch (cfg.type) {
8
- case 'GetFromCtx':
9
- case 'Immediate':
8
+ case "GetFromCtx":
9
+ case "Immediate":
10
10
  return;
11
- case 'Isolate':
11
+ case "Isolate":
12
12
  yield* traverseCfg(cfg.cfg);
13
13
  return;
14
- case 'MakeObject':
14
+ case "MakeObject":
15
15
  for (const [, child] of Object.entries(cfg.template))
16
16
  yield* traverseCfg(child);
17
17
  return;
18
- case 'MakeArray':
18
+ case "MakeArray":
19
19
  for (const child of cfg.template)
20
20
  yield* traverseCfg(child);
21
21
  return;
22
- case 'GetJsonField':
23
- case 'GetResourceField':
22
+ case "GetJsonField":
23
+ case "GetResourceField":
24
24
  yield* traverseCfg(cfg.source);
25
25
  yield* traverseCfg(cfg.field);
26
26
  return;
27
- case 'MapRecordValues':
28
- case 'MapArrayValues':
29
- case 'MapResourceFields':
27
+ case "MapRecordValues":
28
+ case "MapArrayValues":
29
+ case "MapResourceFields":
30
30
  yield* traverseCfg(cfg.source);
31
31
  yield* traverseCfg(cfg.mapping);
32
32
  return;
33
- case 'Flatten':
34
- case 'GetResourceValueAsJson':
35
- case 'GetBlobContent':
36
- case 'ExtractArchiveAndGetURL':
37
- case 'GetBlobContentAsString':
38
- case 'GetBlobContentAsJson':
39
- case 'GetDownloadedBlobContent':
40
- case 'GetOnDemandBlobContent':
41
- case 'GetImportProgress':
42
- case 'GetLastLogs':
43
- case 'GetProgressLog':
44
- case 'GetProgressLogWithInfo':
45
- case 'GetLogHandle':
33
+ case "Flatten":
34
+ case "GetResourceValueAsJson":
35
+ case "GetBlobContent":
36
+ case "ExtractArchiveAndGetURL":
37
+ case "GetBlobContentAsString":
38
+ case "GetBlobContentAsJson":
39
+ case "GetDownloadedBlobContent":
40
+ case "GetOnDemandBlobContent":
41
+ case "GetImportProgress":
42
+ case "GetLastLogs":
43
+ case "GetProgressLog":
44
+ case "GetProgressLogWithInfo":
45
+ case "GetLogHandle":
46
46
  yield* traverseCfg(cfg.source);
47
47
  return;
48
- case 'IsEmpty':
48
+ case "IsEmpty":
49
49
  yield* traverseCfg(cfg.arg);
50
50
  return;
51
- case 'Not':
51
+ case "Not":
52
52
  yield* traverseCfg(cfg.operand);
53
53
  return;
54
- case 'And':
55
- case 'Or':
54
+ case "And":
55
+ case "Or":
56
56
  yield* traverseCfg(cfg.operand1);
57
57
  yield* traverseCfg(cfg.operand2);
58
58
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.cjs","sources":["../../src/cfg_render/traverse.ts"],"sourcesContent":["import type { Cfg } from '@platforma-sdk/model';\nimport { assertNever } from '@milaboratories/ts-helpers';\n\nexport function* traverseCfg(cfg: Cfg, guide?: (cfg: Cfg) => boolean): Generator<Cfg> {\n yield cfg;\n if (guide !== undefined && !guide(cfg)) return;\n switch (cfg.type) {\n case 'GetFromCtx':\n case 'Immediate':\n return;\n case 'Isolate':\n yield * traverseCfg(cfg.cfg);\n return;\n case 'MakeObject':\n for (const [, child] of Object.entries(cfg.template)) yield * traverseCfg(child);\n return;\n case 'MakeArray':\n for (const child of cfg.template) yield * traverseCfg(child);\n return;\n case 'GetJsonField':\n case 'GetResourceField':\n yield * traverseCfg(cfg.source);\n yield * traverseCfg(cfg.field);\n return;\n case 'MapRecordValues':\n case 'MapArrayValues':\n case 'MapResourceFields':\n yield * traverseCfg(cfg.source);\n yield * traverseCfg(cfg.mapping);\n return;\n case 'Flatten':\n case 'GetResourceValueAsJson':\n case 'GetBlobContent':\n case 'ExtractArchiveAndGetURL':\n case 'GetBlobContentAsString':\n case 'GetBlobContentAsJson':\n case 'GetDownloadedBlobContent':\n case 'GetOnDemandBlobContent':\n case 'GetImportProgress':\n case 'GetLastLogs':\n case 'GetProgressLog':\n case 'GetProgressLogWithInfo':\n case 'GetLogHandle':\n yield * traverseCfg(cfg.source);\n return;\n case 'IsEmpty':\n yield * traverseCfg(cfg.arg);\n return;\n case 'Not':\n yield * traverseCfg(cfg.operand);\n return;\n case 'And':\n case 'Or':\n yield * traverseCfg(cfg.operand1);\n yield * traverseCfg(cfg.operand2);\n return;\n default:\n assertNever(cfg);\n }\n}\n"],"names":["assertNever"],"mappings":";;;;UAGiB,WAAW,CAAC,GAAQ,EAAE,KAA6B,EAAA;AAClE,IAAA,MAAM,GAAG;AAET,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,WAAW;YACd;AACF,QAAA,KAAK,SAAS;YACZ,OAAQ,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5B;AACF,QAAA,KAAK,YAAY;AACf,YAAA,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAAE,gBAAA,OAAQ,WAAW,CAAC,KAAK,CAAC;YAChF;AACF,QAAA,KAAK,WAAW;AACd,YAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ;AAAE,gBAAA,OAAQ,WAAW,CAAC,KAAK,CAAC;YAC5D;AACF,QAAA,KAAK,cAAc;AACnB,QAAA,KAAK,kBAAkB;YACrB,OAAQ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B,OAAQ,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B;AACF,QAAA,KAAK,iBAAiB;AACtB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,mBAAmB;YACtB,OAAQ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B,OAAQ,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAChC;AACF,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,yBAAyB;AAC9B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,sBAAsB;AAC3B,QAAA,KAAK,0BAA0B;AAC/B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,mBAAmB;AACxB,QAAA,KAAK,aAAa;AAClB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,cAAc;YACjB,OAAQ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B;AACF,QAAA,KAAK,SAAS;YACZ,OAAQ,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5B;AACF,QAAA,KAAK,KAAK;YACR,OAAQ,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAChC;AACF,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,IAAI;YACP,OAAQ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YACjC,OAAQ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YACjC;AACF,QAAA;YACEA,qBAAW,CAAC,GAAG,CAAC;;AAEtB;;;;"}
1
+ {"version":3,"file":"traverse.cjs","sources":["../../src/cfg_render/traverse.ts"],"sourcesContent":["import type { Cfg } from \"@platforma-sdk/model\";\nimport { assertNever } from \"@milaboratories/ts-helpers\";\n\nexport function* traverseCfg(cfg: Cfg, guide?: (cfg: Cfg) => boolean): Generator<Cfg> {\n yield cfg;\n if (guide !== undefined && !guide(cfg)) return;\n switch (cfg.type) {\n case \"GetFromCtx\":\n case \"Immediate\":\n return;\n case \"Isolate\":\n yield* traverseCfg(cfg.cfg);\n return;\n case \"MakeObject\":\n for (const [, child] of Object.entries(cfg.template)) yield* traverseCfg(child);\n return;\n case \"MakeArray\":\n for (const child of cfg.template) yield* traverseCfg(child);\n return;\n case \"GetJsonField\":\n case \"GetResourceField\":\n yield* traverseCfg(cfg.source);\n yield* traverseCfg(cfg.field);\n return;\n case \"MapRecordValues\":\n case \"MapArrayValues\":\n case \"MapResourceFields\":\n yield* traverseCfg(cfg.source);\n yield* traverseCfg(cfg.mapping);\n return;\n case \"Flatten\":\n case \"GetResourceValueAsJson\":\n case \"GetBlobContent\":\n case \"ExtractArchiveAndGetURL\":\n case \"GetBlobContentAsString\":\n case \"GetBlobContentAsJson\":\n case \"GetDownloadedBlobContent\":\n case \"GetOnDemandBlobContent\":\n case \"GetImportProgress\":\n case \"GetLastLogs\":\n case \"GetProgressLog\":\n case \"GetProgressLogWithInfo\":\n case \"GetLogHandle\":\n yield* traverseCfg(cfg.source);\n return;\n case \"IsEmpty\":\n yield* traverseCfg(cfg.arg);\n return;\n case \"Not\":\n yield* traverseCfg(cfg.operand);\n return;\n case \"And\":\n case \"Or\":\n yield* traverseCfg(cfg.operand1);\n yield* traverseCfg(cfg.operand2);\n return;\n default:\n assertNever(cfg);\n }\n}\n"],"names":["assertNever"],"mappings":";;;;UAGiB,WAAW,CAAC,GAAQ,EAAE,KAA6B,EAAA;AAClE,IAAA,MAAM,GAAG;AAET,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,WAAW;YACd;AACF,QAAA,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,KAAK,YAAY;AACf,YAAA,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAAE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC;YAC/E;AACF,QAAA,KAAK,WAAW;AACd,YAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ;AAAE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC;YAC3D;AACF,QAAA,KAAK,cAAc;AACnB,QAAA,KAAK,kBAAkB;YACrB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7B;AACF,QAAA,KAAK,iBAAiB;AACtB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,mBAAmB;YACtB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B;AACF,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,yBAAyB;AAC9B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,sBAAsB;AAC3B,QAAA,KAAK,0BAA0B;AAC/B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,mBAAmB;AACxB,QAAA,KAAK,aAAa;AAClB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,cAAc;YACjB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B;AACF,QAAA,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,KAAK,KAAK;YACR,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B;AACF,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,IAAI;YACP,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC;AACF,QAAA;YACEA,qBAAW,CAAC,GAAG,CAAC;;AAEtB;;;;"}
@@ -1,3 +1,3 @@
1
- import type { Cfg } from '@platforma-sdk/model';
1
+ import type { Cfg } from "@platforma-sdk/model";
2
2
  export declare function traverseCfg(cfg: Cfg, guide?: (cfg: Cfg) => boolean): Generator<Cfg>;
3
3
  //# sourceMappingURL=traverse.d.ts.map
@@ -3,54 +3,54 @@ import { assertNever } from '@milaboratories/ts-helpers';
3
3
  function* traverseCfg(cfg, guide) {
4
4
  yield cfg;
5
5
  switch (cfg.type) {
6
- case 'GetFromCtx':
7
- case 'Immediate':
6
+ case "GetFromCtx":
7
+ case "Immediate":
8
8
  return;
9
- case 'Isolate':
9
+ case "Isolate":
10
10
  yield* traverseCfg(cfg.cfg);
11
11
  return;
12
- case 'MakeObject':
12
+ case "MakeObject":
13
13
  for (const [, child] of Object.entries(cfg.template))
14
14
  yield* traverseCfg(child);
15
15
  return;
16
- case 'MakeArray':
16
+ case "MakeArray":
17
17
  for (const child of cfg.template)
18
18
  yield* traverseCfg(child);
19
19
  return;
20
- case 'GetJsonField':
21
- case 'GetResourceField':
20
+ case "GetJsonField":
21
+ case "GetResourceField":
22
22
  yield* traverseCfg(cfg.source);
23
23
  yield* traverseCfg(cfg.field);
24
24
  return;
25
- case 'MapRecordValues':
26
- case 'MapArrayValues':
27
- case 'MapResourceFields':
25
+ case "MapRecordValues":
26
+ case "MapArrayValues":
27
+ case "MapResourceFields":
28
28
  yield* traverseCfg(cfg.source);
29
29
  yield* traverseCfg(cfg.mapping);
30
30
  return;
31
- case 'Flatten':
32
- case 'GetResourceValueAsJson':
33
- case 'GetBlobContent':
34
- case 'ExtractArchiveAndGetURL':
35
- case 'GetBlobContentAsString':
36
- case 'GetBlobContentAsJson':
37
- case 'GetDownloadedBlobContent':
38
- case 'GetOnDemandBlobContent':
39
- case 'GetImportProgress':
40
- case 'GetLastLogs':
41
- case 'GetProgressLog':
42
- case 'GetProgressLogWithInfo':
43
- case 'GetLogHandle':
31
+ case "Flatten":
32
+ case "GetResourceValueAsJson":
33
+ case "GetBlobContent":
34
+ case "ExtractArchiveAndGetURL":
35
+ case "GetBlobContentAsString":
36
+ case "GetBlobContentAsJson":
37
+ case "GetDownloadedBlobContent":
38
+ case "GetOnDemandBlobContent":
39
+ case "GetImportProgress":
40
+ case "GetLastLogs":
41
+ case "GetProgressLog":
42
+ case "GetProgressLogWithInfo":
43
+ case "GetLogHandle":
44
44
  yield* traverseCfg(cfg.source);
45
45
  return;
46
- case 'IsEmpty':
46
+ case "IsEmpty":
47
47
  yield* traverseCfg(cfg.arg);
48
48
  return;
49
- case 'Not':
49
+ case "Not":
50
50
  yield* traverseCfg(cfg.operand);
51
51
  return;
52
- case 'And':
53
- case 'Or':
52
+ case "And":
53
+ case "Or":
54
54
  yield* traverseCfg(cfg.operand1);
55
55
  yield* traverseCfg(cfg.operand2);
56
56
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.js","sources":["../../src/cfg_render/traverse.ts"],"sourcesContent":["import type { Cfg } from '@platforma-sdk/model';\nimport { assertNever } from '@milaboratories/ts-helpers';\n\nexport function* traverseCfg(cfg: Cfg, guide?: (cfg: Cfg) => boolean): Generator<Cfg> {\n yield cfg;\n if (guide !== undefined && !guide(cfg)) return;\n switch (cfg.type) {\n case 'GetFromCtx':\n case 'Immediate':\n return;\n case 'Isolate':\n yield * traverseCfg(cfg.cfg);\n return;\n case 'MakeObject':\n for (const [, child] of Object.entries(cfg.template)) yield * traverseCfg(child);\n return;\n case 'MakeArray':\n for (const child of cfg.template) yield * traverseCfg(child);\n return;\n case 'GetJsonField':\n case 'GetResourceField':\n yield * traverseCfg(cfg.source);\n yield * traverseCfg(cfg.field);\n return;\n case 'MapRecordValues':\n case 'MapArrayValues':\n case 'MapResourceFields':\n yield * traverseCfg(cfg.source);\n yield * traverseCfg(cfg.mapping);\n return;\n case 'Flatten':\n case 'GetResourceValueAsJson':\n case 'GetBlobContent':\n case 'ExtractArchiveAndGetURL':\n case 'GetBlobContentAsString':\n case 'GetBlobContentAsJson':\n case 'GetDownloadedBlobContent':\n case 'GetOnDemandBlobContent':\n case 'GetImportProgress':\n case 'GetLastLogs':\n case 'GetProgressLog':\n case 'GetProgressLogWithInfo':\n case 'GetLogHandle':\n yield * traverseCfg(cfg.source);\n return;\n case 'IsEmpty':\n yield * traverseCfg(cfg.arg);\n return;\n case 'Not':\n yield * traverseCfg(cfg.operand);\n return;\n case 'And':\n case 'Or':\n yield * traverseCfg(cfg.operand1);\n yield * traverseCfg(cfg.operand2);\n return;\n default:\n assertNever(cfg);\n }\n}\n"],"names":[],"mappings":";;UAGiB,WAAW,CAAC,GAAQ,EAAE,KAA6B,EAAA;AAClE,IAAA,MAAM,GAAG;AAET,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,WAAW;YACd;AACF,QAAA,KAAK,SAAS;YACZ,OAAQ,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5B;AACF,QAAA,KAAK,YAAY;AACf,YAAA,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAAE,gBAAA,OAAQ,WAAW,CAAC,KAAK,CAAC;YAChF;AACF,QAAA,KAAK,WAAW;AACd,YAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ;AAAE,gBAAA,OAAQ,WAAW,CAAC,KAAK,CAAC;YAC5D;AACF,QAAA,KAAK,cAAc;AACnB,QAAA,KAAK,kBAAkB;YACrB,OAAQ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B,OAAQ,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B;AACF,QAAA,KAAK,iBAAiB;AACtB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,mBAAmB;YACtB,OAAQ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B,OAAQ,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAChC;AACF,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,yBAAyB;AAC9B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,sBAAsB;AAC3B,QAAA,KAAK,0BAA0B;AAC/B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,mBAAmB;AACxB,QAAA,KAAK,aAAa;AAClB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,cAAc;YACjB,OAAQ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/B;AACF,QAAA,KAAK,SAAS;YACZ,OAAQ,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC5B;AACF,QAAA,KAAK,KAAK;YACR,OAAQ,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAChC;AACF,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,IAAI;YACP,OAAQ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YACjC,OAAQ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YACjC;AACF,QAAA;YACE,WAAW,CAAC,GAAG,CAAC;;AAEtB;;;;"}
1
+ {"version":3,"file":"traverse.js","sources":["../../src/cfg_render/traverse.ts"],"sourcesContent":["import type { Cfg } from \"@platforma-sdk/model\";\nimport { assertNever } from \"@milaboratories/ts-helpers\";\n\nexport function* traverseCfg(cfg: Cfg, guide?: (cfg: Cfg) => boolean): Generator<Cfg> {\n yield cfg;\n if (guide !== undefined && !guide(cfg)) return;\n switch (cfg.type) {\n case \"GetFromCtx\":\n case \"Immediate\":\n return;\n case \"Isolate\":\n yield* traverseCfg(cfg.cfg);\n return;\n case \"MakeObject\":\n for (const [, child] of Object.entries(cfg.template)) yield* traverseCfg(child);\n return;\n case \"MakeArray\":\n for (const child of cfg.template) yield* traverseCfg(child);\n return;\n case \"GetJsonField\":\n case \"GetResourceField\":\n yield* traverseCfg(cfg.source);\n yield* traverseCfg(cfg.field);\n return;\n case \"MapRecordValues\":\n case \"MapArrayValues\":\n case \"MapResourceFields\":\n yield* traverseCfg(cfg.source);\n yield* traverseCfg(cfg.mapping);\n return;\n case \"Flatten\":\n case \"GetResourceValueAsJson\":\n case \"GetBlobContent\":\n case \"ExtractArchiveAndGetURL\":\n case \"GetBlobContentAsString\":\n case \"GetBlobContentAsJson\":\n case \"GetDownloadedBlobContent\":\n case \"GetOnDemandBlobContent\":\n case \"GetImportProgress\":\n case \"GetLastLogs\":\n case \"GetProgressLog\":\n case \"GetProgressLogWithInfo\":\n case \"GetLogHandle\":\n yield* traverseCfg(cfg.source);\n return;\n case \"IsEmpty\":\n yield* traverseCfg(cfg.arg);\n return;\n case \"Not\":\n yield* traverseCfg(cfg.operand);\n return;\n case \"And\":\n case \"Or\":\n yield* traverseCfg(cfg.operand1);\n yield* traverseCfg(cfg.operand2);\n return;\n default:\n assertNever(cfg);\n }\n}\n"],"names":[],"mappings":";;UAGiB,WAAW,CAAC,GAAQ,EAAE,KAA6B,EAAA;AAClE,IAAA,MAAM,GAAG;AAET,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,WAAW;YACd;AACF,QAAA,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,KAAK,YAAY;AACf,YAAA,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAAE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC;YAC/E;AACF,QAAA,KAAK,WAAW;AACd,YAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ;AAAE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC;YAC3D;AACF,QAAA,KAAK,cAAc;AACnB,QAAA,KAAK,kBAAkB;YACrB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7B;AACF,QAAA,KAAK,iBAAiB;AACtB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,mBAAmB;YACtB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B;AACF,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,yBAAyB;AAC9B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,sBAAsB;AAC3B,QAAA,KAAK,0BAA0B;AAC/B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,mBAAmB;AACxB,QAAA,KAAK,aAAa;AAClB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,cAAc;YACjB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B;AACF,QAAA,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,KAAK,KAAK;YACR,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B;AACF,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,IAAI;YACP,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC;AACF,QAAA;YACE,WAAW,CAAC,GAAG,CAAC;;AAEtB;;;;"}
@@ -13,7 +13,7 @@ function ifNotUndef(value, cb) {
13
13
  }
14
14
  function isActiveCfg(cfg) {
15
15
  switch (cfg.type) {
16
- case 'GetImportProgress':
16
+ case "GetImportProgress":
17
17
  return true;
18
18
  default:
19
19
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"util.cjs","sources":["../../src/cfg_render/util.ts"],"sourcesContent":["import type { Cfg } from '@platforma-sdk/model';\nimport { traverseCfg } from './traverse';\n\nexport function mapRecord<T1, T2, Key extends string>(\n obj: Record<Key, T1>,\n mapper: (value: T1) => T2,\n): Record<Key, T2> {\n const result = {} as Record<Key, T2>;\n for (const [key, value] of Object.entries(obj)) result[key as Key] = mapper(value as T1);\n return result;\n}\n\nexport function ifNotUndef<T, R>(value: T | undefined, cb: (value: T) => R): R | undefined {\n return value === undefined ? undefined : cb(value);\n}\n\nfunction isActiveCfg(cfg: Cfg): boolean {\n switch (cfg.type) {\n case 'GetImportProgress':\n return true;\n default:\n return false;\n }\n}\n\nexport function hasActiveCfgComponents(cfg: Cfg): boolean {\n for (const nested of traverseCfg(cfg)) if (isActiveCfg(nested)) return true;\n return false;\n}\n"],"names":["traverseCfg"],"mappings":";;;;AAGM,SAAU,SAAS,CACvB,GAAoB,EACpB,MAAyB,EAAA;IAEzB,MAAM,MAAM,GAAG,EAAqB;AACpC,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,GAAU,CAAC,GAAG,MAAM,CAAC,KAAW,CAAC;AACxF,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,UAAU,CAAO,KAAoB,EAAE,EAAmB,EAAA;AACxE,IAAA,OAAO,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;AACpD;AAEA,SAAS,WAAW,CAAC,GAAQ,EAAA;AAC3B,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,mBAAmB;AACtB,YAAA,OAAO,IAAI;AACb,QAAA;AACE,YAAA,OAAO,KAAK;;AAElB;AAEM,SAAU,sBAAsB,CAAC,GAAQ,EAAA;AAC7C,IAAA,KAAK,MAAM,MAAM,IAAIA,oBAAW,CAAC,GAAG,CAAC;QAAE,IAAI,WAAW,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,IAAI;AAC3E,IAAA,OAAO,KAAK;AACd;;;;;;"}
1
+ {"version":3,"file":"util.cjs","sources":["../../src/cfg_render/util.ts"],"sourcesContent":["import type { Cfg } from \"@platforma-sdk/model\";\nimport { traverseCfg } from \"./traverse\";\n\nexport function mapRecord<T1, T2, Key extends string>(\n obj: Record<Key, T1>,\n mapper: (value: T1) => T2,\n): Record<Key, T2> {\n const result = {} as Record<Key, T2>;\n for (const [key, value] of Object.entries(obj)) result[key as Key] = mapper(value as T1);\n return result;\n}\n\nexport function ifNotUndef<T, R>(value: T | undefined, cb: (value: T) => R): R | undefined {\n return value === undefined ? undefined : cb(value);\n}\n\nfunction isActiveCfg(cfg: Cfg): boolean {\n switch (cfg.type) {\n case \"GetImportProgress\":\n return true;\n default:\n return false;\n }\n}\n\nexport function hasActiveCfgComponents(cfg: Cfg): boolean {\n for (const nested of traverseCfg(cfg)) if (isActiveCfg(nested)) return true;\n return false;\n}\n"],"names":["traverseCfg"],"mappings":";;;;AAGM,SAAU,SAAS,CACvB,GAAoB,EACpB,MAAyB,EAAA;IAEzB,MAAM,MAAM,GAAG,EAAqB;AACpC,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,GAAU,CAAC,GAAG,MAAM,CAAC,KAAW,CAAC;AACxF,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,UAAU,CAAO,KAAoB,EAAE,EAAmB,EAAA;AACxE,IAAA,OAAO,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;AACpD;AAEA,SAAS,WAAW,CAAC,GAAQ,EAAA;AAC3B,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,mBAAmB;AACtB,YAAA,OAAO,IAAI;AACb,QAAA;AACE,YAAA,OAAO,KAAK;;AAElB;AAEM,SAAU,sBAAsB,CAAC,GAAQ,EAAA;AAC7C,IAAA,KAAK,MAAM,MAAM,IAAIA,oBAAW,CAAC,GAAG,CAAC;QAAE,IAAI,WAAW,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,IAAI;AAC3E,IAAA,OAAO,KAAK;AACd;;;;;;"}
@@ -1,4 +1,4 @@
1
- import type { Cfg } from '@platforma-sdk/model';
1
+ import type { Cfg } from "@platforma-sdk/model";
2
2
  export declare function mapRecord<T1, T2, Key extends string>(obj: Record<Key, T1>, mapper: (value: T1) => T2): Record<Key, T2>;
3
3
  export declare function ifNotUndef<T, R>(value: T | undefined, cb: (value: T) => R): R | undefined;
4
4
  export declare function hasActiveCfgComponents(cfg: Cfg): boolean;
@@ -11,7 +11,7 @@ function ifNotUndef(value, cb) {
11
11
  }
12
12
  function isActiveCfg(cfg) {
13
13
  switch (cfg.type) {
14
- case 'GetImportProgress':
14
+ case "GetImportProgress":
15
15
  return true;
16
16
  default:
17
17
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../src/cfg_render/util.ts"],"sourcesContent":["import type { Cfg } from '@platforma-sdk/model';\nimport { traverseCfg } from './traverse';\n\nexport function mapRecord<T1, T2, Key extends string>(\n obj: Record<Key, T1>,\n mapper: (value: T1) => T2,\n): Record<Key, T2> {\n const result = {} as Record<Key, T2>;\n for (const [key, value] of Object.entries(obj)) result[key as Key] = mapper(value as T1);\n return result;\n}\n\nexport function ifNotUndef<T, R>(value: T | undefined, cb: (value: T) => R): R | undefined {\n return value === undefined ? undefined : cb(value);\n}\n\nfunction isActiveCfg(cfg: Cfg): boolean {\n switch (cfg.type) {\n case 'GetImportProgress':\n return true;\n default:\n return false;\n }\n}\n\nexport function hasActiveCfgComponents(cfg: Cfg): boolean {\n for (const nested of traverseCfg(cfg)) if (isActiveCfg(nested)) return true;\n return false;\n}\n"],"names":[],"mappings":";;AAGM,SAAU,SAAS,CACvB,GAAoB,EACpB,MAAyB,EAAA;IAEzB,MAAM,MAAM,GAAG,EAAqB;AACpC,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,GAAU,CAAC,GAAG,MAAM,CAAC,KAAW,CAAC;AACxF,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,UAAU,CAAO,KAAoB,EAAE,EAAmB,EAAA;AACxE,IAAA,OAAO,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;AACpD;AAEA,SAAS,WAAW,CAAC,GAAQ,EAAA;AAC3B,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,mBAAmB;AACtB,YAAA,OAAO,IAAI;AACb,QAAA;AACE,YAAA,OAAO,KAAK;;AAElB;AAEM,SAAU,sBAAsB,CAAC,GAAQ,EAAA;AAC7C,IAAA,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC;QAAE,IAAI,WAAW,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,IAAI;AAC3E,IAAA,OAAO,KAAK;AACd;;;;"}
1
+ {"version":3,"file":"util.js","sources":["../../src/cfg_render/util.ts"],"sourcesContent":["import type { Cfg } from \"@platforma-sdk/model\";\nimport { traverseCfg } from \"./traverse\";\n\nexport function mapRecord<T1, T2, Key extends string>(\n obj: Record<Key, T1>,\n mapper: (value: T1) => T2,\n): Record<Key, T2> {\n const result = {} as Record<Key, T2>;\n for (const [key, value] of Object.entries(obj)) result[key as Key] = mapper(value as T1);\n return result;\n}\n\nexport function ifNotUndef<T, R>(value: T | undefined, cb: (value: T) => R): R | undefined {\n return value === undefined ? undefined : cb(value);\n}\n\nfunction isActiveCfg(cfg: Cfg): boolean {\n switch (cfg.type) {\n case \"GetImportProgress\":\n return true;\n default:\n return false;\n }\n}\n\nexport function hasActiveCfgComponents(cfg: Cfg): boolean {\n for (const nested of traverseCfg(cfg)) if (isActiveCfg(nested)) return true;\n return false;\n}\n"],"names":[],"mappings":";;AAGM,SAAU,SAAS,CACvB,GAAoB,EACpB,MAAyB,EAAA;IAEzB,MAAM,MAAM,GAAG,EAAqB;AACpC,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,GAAU,CAAC,GAAG,MAAM,CAAC,KAAW,CAAC;AACxF,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,UAAU,CAAO,KAAoB,EAAE,EAAmB,EAAA;AACxE,IAAA,OAAO,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;AACpD;AAEA,SAAS,WAAW,CAAC,GAAQ,EAAA;AAC3B,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,mBAAmB;AACtB,YAAA,OAAO,IAAI;AACb,QAAA;AACE,YAAA,OAAO,KAAK;;AAElB;AAEM,SAAU,sBAAsB,CAAC,GAAQ,EAAA;AAC7C,IAAA,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC;QAAE,IAAI,WAAW,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,IAAI;AAC3E,IAAA,OAAO,KAAK;AACd;;;;"}
@@ -10,9 +10,11 @@ function getDebugFlags() {
10
10
  logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,
11
11
  };
12
12
  if (process.env.MI_LOG_OUTPUT_STATUS)
13
- flags.logOutputStatus = process.env.MI_LOG_OUTPUT_STATUS === 'unstable-only' ? 'unstable-only' : 'any';
13
+ flags.logOutputStatus =
14
+ process.env.MI_LOG_OUTPUT_STATUS === "unstable-only" ? "unstable-only" : "any";
14
15
  if (process.env.MI_LOG_TREE_STAT)
15
- flags.logTreeStats = process.env.MI_LOG_TREE_STAT === 'cumulative' ? 'cumulative' : 'per-request';
16
+ flags.logTreeStats =
17
+ process.env.MI_LOG_TREE_STAT === "cumulative" ? "cumulative" : "per-request";
16
18
  return flags;
17
19
  }
18
20
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/debug/index.ts"],"sourcesContent":["export type MlDebugFlags = {\n logTreeStats?: 'cumulative' | 'per-request';\n logProjectMutationStat: boolean;\n dumpInitialTreeState: boolean;\n logOutputStatus?: 'any' | 'unstable-only';\n logOutputRecalculations?: boolean;\n};\n\nlet flags: MlDebugFlags | undefined = undefined;\nexport function getDebugFlags() {\n if (flags) return flags;\n flags = {\n dumpInitialTreeState: process.env.MI_DUMP_INITIAL_TREE_STATE !== undefined,\n logProjectMutationStat: process.env.MI_LOG_PROJECT_MUTATION_STAT !== undefined,\n logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,\n };\n if (process.env.MI_LOG_OUTPUT_STATUS)\n flags.logOutputStatus = process.env.MI_LOG_OUTPUT_STATUS === 'unstable-only' ? 'unstable-only' : 'any';\n if (process.env.MI_LOG_TREE_STAT)\n flags.logTreeStats = process.env.MI_LOG_TREE_STAT === 'cumulative' ? 'cumulative' : 'per-request';\n return flags;\n}\n"],"names":[],"mappings":";;AAQA,IAAI,KAAK,GAA6B,SAAS;SAC/B,aAAa,GAAA;AAC3B,IAAA,IAAI,KAAK;AAAE,QAAA,OAAO,KAAK;AACvB,IAAA,KAAK,GAAG;AACN,QAAA,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;AAC1E,QAAA,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;AAC9E,QAAA,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;KAChF;AACD,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;AAClC,QAAA,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,eAAe,GAAG,eAAe,GAAG,KAAK;AACxG,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;AAC9B,QAAA,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa;AACnG,IAAA,OAAO,KAAK;AACd;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/debug/index.ts"],"sourcesContent":["export type MlDebugFlags = {\n logTreeStats?: \"cumulative\" | \"per-request\";\n logProjectMutationStat: boolean;\n dumpInitialTreeState: boolean;\n logOutputStatus?: \"any\" | \"unstable-only\";\n logOutputRecalculations?: boolean;\n};\n\nlet flags: MlDebugFlags | undefined = undefined;\nexport function getDebugFlags() {\n if (flags) return flags;\n flags = {\n dumpInitialTreeState: process.env.MI_DUMP_INITIAL_TREE_STATE !== undefined,\n logProjectMutationStat: process.env.MI_LOG_PROJECT_MUTATION_STAT !== undefined,\n logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,\n };\n if (process.env.MI_LOG_OUTPUT_STATUS)\n flags.logOutputStatus =\n process.env.MI_LOG_OUTPUT_STATUS === \"unstable-only\" ? \"unstable-only\" : \"any\";\n if (process.env.MI_LOG_TREE_STAT)\n flags.logTreeStats =\n process.env.MI_LOG_TREE_STAT === \"cumulative\" ? \"cumulative\" : \"per-request\";\n return flags;\n}\n"],"names":[],"mappings":";;AAQA,IAAI,KAAK,GAA6B,SAAS;SAC/B,aAAa,GAAA;AAC3B,IAAA,IAAI,KAAK;AAAE,QAAA,OAAO,KAAK;AACvB,IAAA,KAAK,GAAG;AACN,QAAA,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;AAC1E,QAAA,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;AAC9E,QAAA,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;KAChF;AACD,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;AAClC,QAAA,KAAK,CAAC,eAAe;AACnB,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,eAAe,GAAG,eAAe,GAAG,KAAK;AAClF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;AAC9B,QAAA,KAAK,CAAC,YAAY;AAChB,YAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa;AAChF,IAAA,OAAO,KAAK;AACd;;;;"}
@@ -1,8 +1,8 @@
1
1
  export type MlDebugFlags = {
2
- logTreeStats?: 'cumulative' | 'per-request';
2
+ logTreeStats?: "cumulative" | "per-request";
3
3
  logProjectMutationStat: boolean;
4
4
  dumpInitialTreeState: boolean;
5
- logOutputStatus?: 'any' | 'unstable-only';
5
+ logOutputStatus?: "any" | "unstable-only";
6
6
  logOutputRecalculations?: boolean;
7
7
  };
8
8
  export declare function getDebugFlags(): MlDebugFlags;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAC5C,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAGF,wBAAgB,aAAa,iBAY5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAC5C,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAGF,wBAAgB,aAAa,iBAc5B"}
@@ -8,9 +8,11 @@ function getDebugFlags() {
8
8
  logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,
9
9
  };
10
10
  if (process.env.MI_LOG_OUTPUT_STATUS)
11
- flags.logOutputStatus = process.env.MI_LOG_OUTPUT_STATUS === 'unstable-only' ? 'unstable-only' : 'any';
11
+ flags.logOutputStatus =
12
+ process.env.MI_LOG_OUTPUT_STATUS === "unstable-only" ? "unstable-only" : "any";
12
13
  if (process.env.MI_LOG_TREE_STAT)
13
- flags.logTreeStats = process.env.MI_LOG_TREE_STAT === 'cumulative' ? 'cumulative' : 'per-request';
14
+ flags.logTreeStats =
15
+ process.env.MI_LOG_TREE_STAT === "cumulative" ? "cumulative" : "per-request";
14
16
  return flags;
15
17
  }
16
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/debug/index.ts"],"sourcesContent":["export type MlDebugFlags = {\n logTreeStats?: 'cumulative' | 'per-request';\n logProjectMutationStat: boolean;\n dumpInitialTreeState: boolean;\n logOutputStatus?: 'any' | 'unstable-only';\n logOutputRecalculations?: boolean;\n};\n\nlet flags: MlDebugFlags | undefined = undefined;\nexport function getDebugFlags() {\n if (flags) return flags;\n flags = {\n dumpInitialTreeState: process.env.MI_DUMP_INITIAL_TREE_STATE !== undefined,\n logProjectMutationStat: process.env.MI_LOG_PROJECT_MUTATION_STAT !== undefined,\n logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,\n };\n if (process.env.MI_LOG_OUTPUT_STATUS)\n flags.logOutputStatus = process.env.MI_LOG_OUTPUT_STATUS === 'unstable-only' ? 'unstable-only' : 'any';\n if (process.env.MI_LOG_TREE_STAT)\n flags.logTreeStats = process.env.MI_LOG_TREE_STAT === 'cumulative' ? 'cumulative' : 'per-request';\n return flags;\n}\n"],"names":[],"mappings":"AAQA,IAAI,KAAK,GAA6B,SAAS;SAC/B,aAAa,GAAA;AAC3B,IAAA,IAAI,KAAK;AAAE,QAAA,OAAO,KAAK;AACvB,IAAA,KAAK,GAAG;AACN,QAAA,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;AAC1E,QAAA,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;AAC9E,QAAA,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;KAChF;AACD,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;AAClC,QAAA,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,eAAe,GAAG,eAAe,GAAG,KAAK;AACxG,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;AAC9B,QAAA,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa;AACnG,IAAA,OAAO,KAAK;AACd;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/debug/index.ts"],"sourcesContent":["export type MlDebugFlags = {\n logTreeStats?: \"cumulative\" | \"per-request\";\n logProjectMutationStat: boolean;\n dumpInitialTreeState: boolean;\n logOutputStatus?: \"any\" | \"unstable-only\";\n logOutputRecalculations?: boolean;\n};\n\nlet flags: MlDebugFlags | undefined = undefined;\nexport function getDebugFlags() {\n if (flags) return flags;\n flags = {\n dumpInitialTreeState: process.env.MI_DUMP_INITIAL_TREE_STATE !== undefined,\n logProjectMutationStat: process.env.MI_LOG_PROJECT_MUTATION_STAT !== undefined,\n logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,\n };\n if (process.env.MI_LOG_OUTPUT_STATUS)\n flags.logOutputStatus =\n process.env.MI_LOG_OUTPUT_STATUS === \"unstable-only\" ? \"unstable-only\" : \"any\";\n if (process.env.MI_LOG_TREE_STAT)\n flags.logTreeStats =\n process.env.MI_LOG_TREE_STAT === \"cumulative\" ? \"cumulative\" : \"per-request\";\n return flags;\n}\n"],"names":[],"mappings":"AAQA,IAAI,KAAK,GAA6B,SAAS;SAC/B,aAAa,GAAA;AAC3B,IAAA,IAAI,KAAK;AAAE,QAAA,OAAO,KAAK;AACvB,IAAA,KAAK,GAAG;AACN,QAAA,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;AAC1E,QAAA,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;AAC9E,QAAA,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;KAChF;AACD,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;AAClC,QAAA,KAAK,CAAC,eAAe;AACnB,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,eAAe,GAAG,eAAe,GAAG,KAAK;AAClF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;AAC9B,QAAA,KAAK,CAAC,YAAY;AAChB,YAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa;AAChF,IAAA,OAAO,KAAK;AACd;;;;"}
@@ -7,11 +7,11 @@ var resolveHelper = require('@milaboratories/resolve-helper');
7
7
 
8
8
  const LegacyDevBlockPackMetaYaml = [blockTools.RegistryV1.PlPackageYamlConfigFile];
9
9
  const LegacyDevBlockPackMetaJson = [blockTools.RegistryV1.PlPackageJsonConfigFile];
10
- const LegacyDevBlockPackTemplate = ['backend', 'dist', 'tengo', 'tpl', 'main.plj.gz'];
11
- const LegacyDevBlockPackConfig = ['config', 'dist', 'config.json'];
12
- const LegacyDevBlockPackFrontendFolder = ['frontend', 'dist'];
13
- const CanonicalBlockConfigRequest = 'block-model/dist/config.json';
14
- const CanonicalBlockUiRequestPackageJson = 'block-ui/package.json';
10
+ const LegacyDevBlockPackTemplate = ["backend", "dist", "tengo", "tpl", "main.plj.gz"];
11
+ const LegacyDevBlockPackConfig = ["config", "dist", "config.json"];
12
+ const LegacyDevBlockPackFrontendFolder = ["frontend", "dist"];
13
+ const CanonicalBlockConfigRequest = "block-model/dist/config.json";
14
+ const CanonicalBlockUiRequestPackageJson = "block-ui/package.json";
15
15
  const LegacyDevBlockPackFiles = [
16
16
  LegacyDevBlockPackTemplate,
17
17
  LegacyDevBlockPackConfig,
@@ -20,8 +20,8 @@ const LegacyDevBlockPackFiles = [
20
20
  LegacyDevBlockPackFrontendFolder,
21
21
  ];
22
22
  async function isLegacyDevPackage(packageRoot) {
23
- return ((await util.tryStat(path.join(packageRoot, ...LegacyDevBlockPackConfig))) !== undefined
24
- || (await util.tryStat(path.join(packageRoot, ...LegacyDevBlockPackTemplate))) !== undefined);
23
+ return ((await util.tryStat(path.join(packageRoot, ...LegacyDevBlockPackConfig))) !== undefined ||
24
+ (await util.tryStat(path.join(packageRoot, ...LegacyDevBlockPackTemplate))) !== undefined);
25
25
  }
26
26
  function mustResolve(root, request) {
27
27
  const res = resolveHelper.tryResolve(root, request);
@@ -42,7 +42,7 @@ async function resolveDevPacket(packageRoot, ignoreErrors) {
42
42
  const workflow = mustResolve(packageRoot, CanonicalBlockConfigRequest);
43
43
  const config = mustResolve(packageRoot, CanonicalBlockConfigRequest);
44
44
  const uiPackageJson = mustResolve(packageRoot, CanonicalBlockUiRequestPackageJson);
45
- return { workflow, config, ui: path.resolve(uiPackageJson, '..', 'dist') };
45
+ return { workflow, config, ui: path.resolve(uiPackageJson, "..", "dist") };
46
46
  }
47
47
  }
48
48
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/dev_env/index.ts"],"sourcesContent":["import { RegistryV1 } from '@platforma-sdk/block-tools';\nimport path from 'node:path';\nimport { tryStat } from './util';\nimport { tryResolve } from '@milaboratories/resolve-helper';\n\nexport const LegacyDevBlockPackMetaYaml = [RegistryV1.PlPackageYamlConfigFile];\nexport const LegacyDevBlockPackMetaJson = [RegistryV1.PlPackageJsonConfigFile];\nexport const LegacyDevBlockPackTemplate = ['backend', 'dist', 'tengo', 'tpl', 'main.plj.gz'];\nexport const LegacyDevBlockPackConfig = ['config', 'dist', 'config.json'];\nexport const LegacyDevBlockPackFrontendFolder = ['frontend', 'dist'];\n\nexport const CanonicalBlockWorkflowRequest = 'block-workflow/dist/tengo/tpl/main.plj.gz';\nexport const CanonicalBlockConfigRequest = 'block-model/dist/config.json';\nexport const CanonicalBlockUiRequestPackageJson = 'block-ui/package.json';\n\nexport const LegacyDevBlockPackFiles = [\n LegacyDevBlockPackTemplate,\n LegacyDevBlockPackConfig,\n LegacyDevBlockPackMetaYaml,\n LegacyDevBlockPackMetaJson,\n LegacyDevBlockPackFrontendFolder,\n];\n\nexport type DevPacketPaths = {\n /** main.plj.gz */\n readonly workflow: string;\n /** config.json */\n readonly config: string;\n /** ui dist folder */\n readonly ui: string;\n};\n\nexport async function isLegacyDevPackage(packageRoot: string): Promise<boolean> {\n return (\n (await tryStat(path.join(packageRoot, ...LegacyDevBlockPackConfig))) !== undefined\n || (await tryStat(path.join(packageRoot, ...LegacyDevBlockPackTemplate))) !== undefined\n );\n}\n\nfunction mustResolve(root: string, request: string): string {\n const res = tryResolve(root, request);\n if (res === undefined) throw new Error(`Can't resolve ${request} against ${root}`);\n return res;\n}\n\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: true\n): Promise<DevPacketPaths | undefined>;\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: false\n): Promise<DevPacketPaths>;\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: boolean,\n): Promise<DevPacketPaths | undefined> {\n if (!path.isAbsolute(packageRoot)) packageRoot = path.resolve(packageRoot);\n if (await isLegacyDevPackage(packageRoot))\n return {\n workflow: path.join(packageRoot, ...LegacyDevBlockPackTemplate),\n config: path.join(packageRoot, ...LegacyDevBlockPackConfig),\n ui: path.join(packageRoot, ...LegacyDevBlockPackFrontendFolder),\n };\n if (ignoreErrors) {\n const workflow = tryResolve(packageRoot, CanonicalBlockConfigRequest);\n if (workflow === undefined) return undefined;\n const config = tryResolve(packageRoot, CanonicalBlockConfigRequest);\n if (config === undefined) return undefined;\n const uiPackageJson = tryResolve(packageRoot, CanonicalBlockUiRequestPackageJson);\n if (uiPackageJson === undefined) return undefined;\n return { workflow, config, ui: path.resolve(uiPackageJson, '..', 'dist') };\n } else {\n const workflow = mustResolve(packageRoot, CanonicalBlockConfigRequest);\n const config = mustResolve(packageRoot, CanonicalBlockConfigRequest);\n const uiPackageJson = mustResolve(packageRoot, CanonicalBlockUiRequestPackageJson);\n return { workflow, config, ui: path.resolve(uiPackageJson, '..', 'dist') };\n }\n}\n"],"names":["RegistryV1","tryStat","tryResolve"],"mappings":";;;;;;;MAKa,0BAA0B,GAAG,CAACA,qBAAU,CAAC,uBAAuB;MAChE,0BAA0B,GAAG,CAACA,qBAAU,CAAC,uBAAuB;AACtE,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa;AACpF,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa;MAC3D,gCAAgC,GAAG,CAAC,UAAU,EAAE,MAAM;AAG5D,MAAM,2BAA2B,GAAG;AACpC,MAAM,kCAAkC,GAAG;AAE3C,MAAM,uBAAuB,GAAG;IACrC,0BAA0B;IAC1B,wBAAwB;IACxB,0BAA0B;IAC1B,0BAA0B;IAC1B,gCAAgC;;AAY3B,eAAe,kBAAkB,CAAC,WAAmB,EAAA;AAC1D,IAAA,QACE,CAAC,MAAMC,YAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,wBAAwB,CAAC,CAAC,MAAM;AACtE,WAAA,CAAC,MAAMA,YAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,0BAA0B,CAAC,CAAC,MAAM,SAAS;AAE3F;AAEA,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe,EAAA;IAChD,MAAM,GAAG,GAAGC,wBAAU,CAAC,IAAI,EAAE,OAAO,CAAC;IACrC,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,CAAA,cAAA,EAAiB,OAAO,CAAA,SAAA,EAAY,IAAI,CAAA,CAAE,CAAC;AAClF,IAAA,OAAO,GAAG;AACZ;AAUO,eAAe,gBAAgB,CACpC,WAAmB,EACnB,YAAqB,EAAA;AAErB,IAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAAE,QAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AAC1E,IAAA,IAAI,MAAM,kBAAkB,CAAC,WAAW,CAAC;QACvC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,0BAA0B,CAAC;YAC/D,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,wBAAwB,CAAC;YAC3D,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,gCAAgC,CAAC;SAChE;IASI;QACL,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACtE,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACpE,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,kCAAkC,CAAC;AAClF,QAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;IAC5E;AACF;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/dev_env/index.ts"],"sourcesContent":["import { RegistryV1 } from \"@platforma-sdk/block-tools\";\nimport path from \"node:path\";\nimport { tryStat } from \"./util\";\nimport { tryResolve } from \"@milaboratories/resolve-helper\";\n\nexport const LegacyDevBlockPackMetaYaml = [RegistryV1.PlPackageYamlConfigFile];\nexport const LegacyDevBlockPackMetaJson = [RegistryV1.PlPackageJsonConfigFile];\nexport const LegacyDevBlockPackTemplate = [\"backend\", \"dist\", \"tengo\", \"tpl\", \"main.plj.gz\"];\nexport const LegacyDevBlockPackConfig = [\"config\", \"dist\", \"config.json\"];\nexport const LegacyDevBlockPackFrontendFolder = [\"frontend\", \"dist\"];\n\nexport const CanonicalBlockWorkflowRequest = \"block-workflow/dist/tengo/tpl/main.plj.gz\";\nexport const CanonicalBlockConfigRequest = \"block-model/dist/config.json\";\nexport const CanonicalBlockUiRequestPackageJson = \"block-ui/package.json\";\n\nexport const LegacyDevBlockPackFiles = [\n LegacyDevBlockPackTemplate,\n LegacyDevBlockPackConfig,\n LegacyDevBlockPackMetaYaml,\n LegacyDevBlockPackMetaJson,\n LegacyDevBlockPackFrontendFolder,\n];\n\nexport type DevPacketPaths = {\n /** main.plj.gz */\n readonly workflow: string;\n /** config.json */\n readonly config: string;\n /** ui dist folder */\n readonly ui: string;\n};\n\nexport async function isLegacyDevPackage(packageRoot: string): Promise<boolean> {\n return (\n (await tryStat(path.join(packageRoot, ...LegacyDevBlockPackConfig))) !== undefined ||\n (await tryStat(path.join(packageRoot, ...LegacyDevBlockPackTemplate))) !== undefined\n );\n}\n\nfunction mustResolve(root: string, request: string): string {\n const res = tryResolve(root, request);\n if (res === undefined) throw new Error(`Can't resolve ${request} against ${root}`);\n return res;\n}\n\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: true,\n): Promise<DevPacketPaths | undefined>;\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: false,\n): Promise<DevPacketPaths>;\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: boolean,\n): Promise<DevPacketPaths | undefined> {\n if (!path.isAbsolute(packageRoot)) packageRoot = path.resolve(packageRoot);\n if (await isLegacyDevPackage(packageRoot))\n return {\n workflow: path.join(packageRoot, ...LegacyDevBlockPackTemplate),\n config: path.join(packageRoot, ...LegacyDevBlockPackConfig),\n ui: path.join(packageRoot, ...LegacyDevBlockPackFrontendFolder),\n };\n if (ignoreErrors) {\n const workflow = tryResolve(packageRoot, CanonicalBlockConfigRequest);\n if (workflow === undefined) return undefined;\n const config = tryResolve(packageRoot, CanonicalBlockConfigRequest);\n if (config === undefined) return undefined;\n const uiPackageJson = tryResolve(packageRoot, CanonicalBlockUiRequestPackageJson);\n if (uiPackageJson === undefined) return undefined;\n return { workflow, config, ui: path.resolve(uiPackageJson, \"..\", \"dist\") };\n } else {\n const workflow = mustResolve(packageRoot, CanonicalBlockConfigRequest);\n const config = mustResolve(packageRoot, CanonicalBlockConfigRequest);\n const uiPackageJson = mustResolve(packageRoot, CanonicalBlockUiRequestPackageJson);\n return { workflow, config, ui: path.resolve(uiPackageJson, \"..\", \"dist\") };\n }\n}\n"],"names":["RegistryV1","tryStat","tryResolve"],"mappings":";;;;;;;MAKa,0BAA0B,GAAG,CAACA,qBAAU,CAAC,uBAAuB;MAChE,0BAA0B,GAAG,CAACA,qBAAU,CAAC,uBAAuB;AACtE,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa;AACpF,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa;MAC3D,gCAAgC,GAAG,CAAC,UAAU,EAAE,MAAM;AAG5D,MAAM,2BAA2B,GAAG;AACpC,MAAM,kCAAkC,GAAG;AAE3C,MAAM,uBAAuB,GAAG;IACrC,0BAA0B;IAC1B,wBAAwB;IACxB,0BAA0B;IAC1B,0BAA0B;IAC1B,gCAAgC;;AAY3B,eAAe,kBAAkB,CAAC,WAAmB,EAAA;AAC1D,IAAA,QACE,CAAC,MAAMC,YAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,wBAAwB,CAAC,CAAC,MAAM,SAAS;AAClF,QAAA,CAAC,MAAMA,YAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,0BAA0B,CAAC,CAAC,MAAM,SAAS;AAExF;AAEA,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe,EAAA;IAChD,MAAM,GAAG,GAAGC,wBAAU,CAAC,IAAI,EAAE,OAAO,CAAC;IACrC,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,CAAA,cAAA,EAAiB,OAAO,CAAA,SAAA,EAAY,IAAI,CAAA,CAAE,CAAC;AAClF,IAAA,OAAO,GAAG;AACZ;AAUO,eAAe,gBAAgB,CACpC,WAAmB,EACnB,YAAqB,EAAA;AAErB,IAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAAE,QAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AAC1E,IAAA,IAAI,MAAM,kBAAkB,CAAC,WAAW,CAAC;QACvC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,0BAA0B,CAAC;YAC/D,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,wBAAwB,CAAC;YAC3D,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,gCAAgC,CAAC;SAChE;IASI;QACL,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACtE,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACpE,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,kCAAkC,CAAC;AAClF,QAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;IAC5E;AACF;;;;;;;;;;;;;"}