@milaboratories/pl-middle-layer 1.42.1 → 1.42.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/dist/block_registry/index.d.ts +0 -1
  2. package/dist/block_registry/registry-v2-provider.cjs +22 -0
  3. package/dist/block_registry/registry-v2-provider.cjs.map +1 -0
  4. package/dist/block_registry/registry-v2-provider.d.ts +0 -1
  5. package/dist/block_registry/registry-v2-provider.js +20 -0
  6. package/dist/block_registry/registry-v2-provider.js.map +1 -0
  7. package/dist/block_registry/registry.cjs +231 -0
  8. package/dist/block_registry/registry.cjs.map +1 -0
  9. package/dist/block_registry/registry.d.ts +0 -1
  10. package/dist/block_registry/registry.js +227 -0
  11. package/dist/block_registry/registry.js.map +1 -0
  12. package/dist/block_registry/registry.test.d.ts +0 -1
  13. package/dist/block_registry/watcher.cjs +174 -0
  14. package/dist/block_registry/watcher.cjs.map +1 -0
  15. package/dist/block_registry/watcher.d.ts +0 -1
  16. package/dist/block_registry/watcher.js +171 -0
  17. package/dist/block_registry/watcher.js.map +1 -0
  18. package/dist/block_registry/well_known_registries.cjs +19 -0
  19. package/dist/block_registry/well_known_registries.cjs.map +1 -0
  20. package/dist/block_registry/well_known_registries.d.ts +0 -1
  21. package/dist/block_registry/well_known_registries.js +15 -0
  22. package/dist/block_registry/well_known_registries.js.map +1 -0
  23. package/dist/cfg_render/executor.cjs +159 -0
  24. package/dist/cfg_render/executor.cjs.map +1 -0
  25. package/dist/cfg_render/executor.d.ts +0 -1
  26. package/dist/cfg_render/executor.js +156 -0
  27. package/dist/cfg_render/executor.js.map +1 -0
  28. package/dist/cfg_render/executor.test.d.ts +0 -1
  29. package/dist/cfg_render/operation.d.ts +0 -1
  30. package/dist/cfg_render/renderer.cjs +528 -0
  31. package/dist/cfg_render/renderer.cjs.map +1 -0
  32. package/dist/cfg_render/renderer.d.ts +0 -1
  33. package/dist/cfg_render/renderer.js +525 -0
  34. package/dist/cfg_render/renderer.js.map +1 -0
  35. package/dist/cfg_render/traverse.cjs +65 -0
  36. package/dist/cfg_render/traverse.cjs.map +1 -0
  37. package/dist/cfg_render/traverse.d.ts +0 -1
  38. package/dist/cfg_render/traverse.js +63 -0
  39. package/dist/cfg_render/traverse.js.map +1 -0
  40. package/dist/cfg_render/util.cjs +32 -0
  41. package/dist/cfg_render/util.cjs.map +1 -0
  42. package/dist/cfg_render/util.d.ts +0 -1
  43. package/dist/cfg_render/util.js +28 -0
  44. package/dist/cfg_render/util.js.map +1 -0
  45. package/dist/debug/index.cjs +21 -0
  46. package/dist/debug/index.cjs.map +1 -0
  47. package/dist/debug/index.d.ts +0 -1
  48. package/dist/debug/index.js +19 -0
  49. package/dist/debug/index.js.map +1 -0
  50. package/dist/dev_env/index.cjs +59 -0
  51. package/dist/dev_env/index.cjs.map +1 -0
  52. package/dist/dev_env/index.d.ts +0 -1
  53. package/dist/dev_env/index.js +48 -0
  54. package/dist/dev_env/index.js.map +1 -0
  55. package/dist/dev_env/util.cjs +37 -0
  56. package/dist/dev_env/util.cjs.map +1 -0
  57. package/dist/dev_env/util.d.ts +0 -1
  58. package/dist/dev_env/util.js +16 -0
  59. package/dist/dev_env/util.js.map +1 -0
  60. package/dist/index.cjs +74 -0
  61. package/dist/index.cjs.map +1 -0
  62. package/dist/index.d.ts +0 -1
  63. package/dist/index.js +15 -75
  64. package/dist/index.js.map +1 -1
  65. package/dist/js_render/computable_context.cjs +525 -0
  66. package/dist/js_render/computable_context.cjs.map +1 -0
  67. package/dist/js_render/computable_context.d.ts +0 -1
  68. package/dist/js_render/computable_context.js +523 -0
  69. package/dist/js_render/computable_context.js.map +1 -0
  70. package/dist/js_render/context.cjs +229 -0
  71. package/dist/js_render/context.cjs.map +1 -0
  72. package/dist/js_render/context.d.ts +0 -1
  73. package/dist/js_render/context.js +226 -0
  74. package/dist/js_render/context.js.map +1 -0
  75. package/dist/js_render/index.cjs +163 -0
  76. package/dist/js_render/index.cjs.map +1 -0
  77. package/dist/js_render/index.d.ts +0 -1
  78. package/dist/js_render/index.js +160 -0
  79. package/dist/js_render/index.js.map +1 -0
  80. package/dist/middle_layer/active_cfg.cjs +37 -0
  81. package/dist/middle_layer/active_cfg.cjs.map +1 -0
  82. package/dist/middle_layer/active_cfg.d.ts +0 -1
  83. package/dist/middle_layer/active_cfg.js +35 -0
  84. package/dist/middle_layer/active_cfg.js.map +1 -0
  85. package/dist/middle_layer/block.cjs +51 -0
  86. package/dist/middle_layer/block.cjs.map +1 -0
  87. package/dist/middle_layer/block.d.ts +0 -1
  88. package/dist/middle_layer/block.js +48 -0
  89. package/dist/middle_layer/block.js.map +1 -0
  90. package/dist/middle_layer/block_ctx.cjs +87 -0
  91. package/dist/middle_layer/block_ctx.cjs.map +1 -0
  92. package/dist/middle_layer/block_ctx.d.ts +0 -1
  93. package/dist/middle_layer/block_ctx.js +84 -0
  94. package/dist/middle_layer/block_ctx.js.map +1 -0
  95. package/dist/middle_layer/block_ctx_unsafe.cjs +19 -0
  96. package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -0
  97. package/dist/middle_layer/block_ctx_unsafe.d.ts +0 -1
  98. package/dist/middle_layer/block_ctx_unsafe.js +16 -0
  99. package/dist/middle_layer/block_ctx_unsafe.js.map +1 -0
  100. package/dist/middle_layer/driver_kit.cjs +42 -0
  101. package/dist/middle_layer/driver_kit.cjs.map +1 -0
  102. package/dist/middle_layer/driver_kit.d.ts +0 -1
  103. package/dist/middle_layer/driver_kit.js +40 -0
  104. package/dist/middle_layer/driver_kit.js.map +1 -0
  105. package/dist/middle_layer/frontend_path.cjs +64 -0
  106. package/dist/middle_layer/frontend_path.cjs.map +1 -0
  107. package/dist/middle_layer/frontend_path.d.ts +0 -1
  108. package/dist/middle_layer/frontend_path.js +62 -0
  109. package/dist/middle_layer/frontend_path.js.map +1 -0
  110. package/dist/middle_layer/index.d.ts +0 -1
  111. package/dist/middle_layer/middle_layer.cjs +226 -0
  112. package/dist/middle_layer/middle_layer.cjs.map +1 -0
  113. package/dist/middle_layer/middle_layer.d.ts +0 -1
  114. package/dist/middle_layer/middle_layer.js +224 -0
  115. package/dist/middle_layer/middle_layer.js.map +1 -0
  116. package/dist/middle_layer/navigation_states.cjs +41 -0
  117. package/dist/middle_layer/navigation_states.cjs.map +1 -0
  118. package/dist/middle_layer/navigation_states.d.ts +0 -1
  119. package/dist/middle_layer/navigation_states.js +39 -0
  120. package/dist/middle_layer/navigation_states.js.map +1 -0
  121. package/dist/middle_layer/ops.cjs +75 -0
  122. package/dist/middle_layer/ops.cjs.map +1 -0
  123. package/dist/middle_layer/ops.d.ts +0 -1
  124. package/dist/middle_layer/ops.js +70 -0
  125. package/dist/middle_layer/ops.js.map +1 -0
  126. package/dist/middle_layer/project.cjs +446 -0
  127. package/dist/middle_layer/project.cjs.map +1 -0
  128. package/dist/middle_layer/project.d.ts +0 -1
  129. package/dist/middle_layer/project.js +444 -0
  130. package/dist/middle_layer/project.js.map +1 -0
  131. package/dist/middle_layer/project_list.cjs +53 -0
  132. package/dist/middle_layer/project_list.cjs.map +1 -0
  133. package/dist/middle_layer/project_list.d.ts +0 -1
  134. package/dist/middle_layer/project_list.js +48 -0
  135. package/dist/middle_layer/project_list.js.map +1 -0
  136. package/dist/middle_layer/project_overview.cjs +225 -0
  137. package/dist/middle_layer/project_overview.cjs.map +1 -0
  138. package/dist/middle_layer/project_overview.d.ts +0 -1
  139. package/dist/middle_layer/project_overview.js +204 -0
  140. package/dist/middle_layer/project_overview.js.map +1 -0
  141. package/dist/middle_layer/project_overview_light.cjs +20 -0
  142. package/dist/middle_layer/project_overview_light.cjs.map +1 -0
  143. package/dist/middle_layer/project_overview_light.d.ts +0 -1
  144. package/dist/middle_layer/project_overview_light.js +18 -0
  145. package/dist/middle_layer/project_overview_light.js.map +1 -0
  146. package/dist/middle_layer/render.cjs +26 -0
  147. package/dist/middle_layer/render.cjs.map +1 -0
  148. package/dist/middle_layer/render.d.ts +0 -1
  149. package/dist/middle_layer/render.js +23 -0
  150. package/dist/middle_layer/render.js.map +1 -0
  151. package/dist/middle_layer/render.test.d.ts +0 -1
  152. package/dist/middle_layer/types.d.ts +0 -1
  153. package/dist/middle_layer/util.cjs +22 -0
  154. package/dist/middle_layer/util.cjs.map +1 -0
  155. package/dist/middle_layer/util.d.ts +0 -1
  156. package/dist/middle_layer/util.js +20 -0
  157. package/dist/middle_layer/util.js.map +1 -0
  158. package/dist/model/args.cjs +62 -0
  159. package/dist/model/args.cjs.map +1 -0
  160. package/dist/model/args.d.ts +0 -1
  161. package/dist/model/args.js +58 -0
  162. package/dist/model/args.js.map +1 -0
  163. package/dist/model/block_pack.d.ts +0 -1
  164. package/dist/model/block_pack_spec.cjs +11 -0
  165. package/dist/model/block_pack_spec.cjs.map +1 -0
  166. package/dist/model/block_pack_spec.d.ts +0 -1
  167. package/dist/model/block_pack_spec.js +8 -0
  168. package/dist/model/block_pack_spec.js.map +1 -0
  169. package/dist/model/frontend.d.ts +0 -1
  170. package/dist/model/index.d.ts +0 -1
  171. package/dist/model/project_helper.cjs +36 -0
  172. package/dist/model/project_helper.cjs.map +1 -0
  173. package/dist/model/project_helper.d.ts +0 -1
  174. package/dist/model/project_helper.js +34 -0
  175. package/dist/model/project_helper.js.map +1 -0
  176. package/dist/model/project_model.cjs +74 -0
  177. package/dist/model/project_model.cjs.map +1 -0
  178. package/dist/model/project_model.d.ts +0 -1
  179. package/dist/model/project_model.js +54 -0
  180. package/dist/model/project_model.js.map +1 -0
  181. package/dist/model/project_model.test.d.ts +0 -1
  182. package/dist/model/project_model_util.cjs +176 -0
  183. package/dist/model/project_model_util.cjs.map +1 -0
  184. package/dist/model/project_model_util.d.ts +0 -1
  185. package/dist/model/project_model_util.js +170 -0
  186. package/dist/model/project_model_util.js.map +1 -0
  187. package/dist/model/project_model_util.test.d.ts +0 -1
  188. package/dist/model/project_model_v1.cjs +9 -0
  189. package/dist/model/project_model_v1.cjs.map +1 -0
  190. package/dist/model/project_model_v1.d.ts +0 -1
  191. package/dist/model/project_model_v1.js +6 -0
  192. package/dist/model/project_model_v1.js.map +1 -0
  193. package/dist/model/template_spec.d.ts +0 -1
  194. package/dist/mutator/block-pack/block_pack.cjs +233 -0
  195. package/dist/mutator/block-pack/block_pack.cjs.map +1 -0
  196. package/dist/mutator/block-pack/block_pack.d.ts +0 -1
  197. package/dist/mutator/block-pack/block_pack.js +227 -0
  198. package/dist/mutator/block-pack/block_pack.js.map +1 -0
  199. package/dist/mutator/block-pack/block_pack.test.d.ts +0 -1
  200. package/dist/mutator/block-pack/frontend.cjs +21 -0
  201. package/dist/mutator/block-pack/frontend.cjs.map +1 -0
  202. package/dist/mutator/block-pack/frontend.d.ts +0 -1
  203. package/dist/mutator/block-pack/frontend.js +19 -0
  204. package/dist/mutator/block-pack/frontend.js.map +1 -0
  205. package/dist/mutator/context_export.cjs +26 -0
  206. package/dist/mutator/context_export.cjs.map +1 -0
  207. package/dist/mutator/context_export.d.ts +2 -3
  208. package/dist/mutator/context_export.js +23 -0
  209. package/dist/mutator/context_export.js.map +1 -0
  210. package/dist/mutator/migration.cjs +57 -0
  211. package/dist/mutator/migration.cjs.map +1 -0
  212. package/dist/mutator/migration.d.ts +0 -1
  213. package/dist/mutator/migration.js +55 -0
  214. package/dist/mutator/migration.js.map +1 -0
  215. package/dist/mutator/project.cjs +997 -0
  216. package/dist/mutator/project.cjs.map +1 -0
  217. package/dist/mutator/project.d.ts +0 -1
  218. package/dist/mutator/project.js +992 -0
  219. package/dist/mutator/project.js.map +1 -0
  220. package/dist/mutator/project.test.d.ts +0 -1
  221. package/dist/mutator/template/direct_template_loader.cjs +146 -0
  222. package/dist/mutator/template/direct_template_loader.cjs.map +1 -0
  223. package/dist/mutator/template/direct_template_loader.d.ts +0 -1
  224. package/dist/mutator/template/direct_template_loader.js +143 -0
  225. package/dist/mutator/template/direct_template_loader.js.map +1 -0
  226. package/dist/mutator/template/direct_template_loader_v3.cjs +139 -0
  227. package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -0
  228. package/dist/mutator/template/direct_template_loader_v3.d.ts +0 -1
  229. package/dist/mutator/template/direct_template_loader_v3.js +137 -0
  230. package/dist/mutator/template/direct_template_loader_v3.js.map +1 -0
  231. package/dist/mutator/template/render_block.cjs +43 -0
  232. package/dist/mutator/template/render_block.cjs.map +1 -0
  233. package/dist/mutator/template/render_block.d.ts +0 -1
  234. package/dist/mutator/template/render_block.js +34 -0
  235. package/dist/mutator/template/render_block.js.map +1 -0
  236. package/dist/mutator/template/render_template.cjs +35 -0
  237. package/dist/mutator/template/render_template.cjs.map +1 -0
  238. package/dist/mutator/template/render_template.d.ts +0 -1
  239. package/dist/mutator/template/render_template.js +33 -0
  240. package/dist/mutator/template/render_template.js.map +1 -0
  241. package/dist/mutator/template/template_loading.cjs +71 -0
  242. package/dist/mutator/template/template_loading.cjs.map +1 -0
  243. package/dist/mutator/template/template_loading.d.ts +0 -1
  244. package/dist/mutator/template/template_loading.js +60 -0
  245. package/dist/mutator/template/template_loading.js.map +1 -0
  246. package/dist/mutator/template/template_render.test.d.ts +0 -1
  247. package/dist/network_check/network_check.cjs +267 -0
  248. package/dist/network_check/network_check.cjs.map +1 -0
  249. package/dist/network_check/network_check.d.ts +0 -1
  250. package/dist/network_check/network_check.js +264 -0
  251. package/dist/network_check/network_check.js.map +1 -0
  252. package/dist/network_check/network_check.test.d.ts +0 -1
  253. package/dist/network_check/pings.cjs +107 -0
  254. package/dist/network_check/pings.cjs.map +1 -0
  255. package/dist/network_check/pings.d.ts +0 -1
  256. package/dist/network_check/pings.js +96 -0
  257. package/dist/network_check/pings.js.map +1 -0
  258. package/dist/network_check/template.cjs +318 -0
  259. package/dist/network_check/template.cjs.map +1 -0
  260. package/dist/network_check/template.d.ts +0 -1
  261. package/dist/network_check/template.js +302 -0
  262. package/dist/network_check/template.js.map +1 -0
  263. package/dist/network_check/template.test.d.ts +0 -1
  264. package/dist/network_check/test_utils.d.ts +0 -1
  265. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.cjs +77 -0
  266. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.cjs.map +1 -0
  267. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.js +74 -0
  268. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.js.map +1 -0
  269. package/dist/pool/data.cjs +298 -0
  270. package/dist/pool/data.cjs.map +1 -0
  271. package/dist/pool/data.d.ts +7 -9
  272. package/dist/pool/data.js +282 -0
  273. package/dist/pool/data.js.map +1 -0
  274. package/dist/pool/driver.cjs +620 -0
  275. package/dist/pool/driver.cjs.map +1 -0
  276. package/dist/pool/driver.d.ts +0 -1
  277. package/dist/pool/driver.js +598 -0
  278. package/dist/pool/driver.js.map +1 -0
  279. package/dist/pool/index.d.ts +0 -1
  280. package/dist/pool/p_object_collection.cjs +87 -0
  281. package/dist/pool/p_object_collection.cjs.map +1 -0
  282. package/dist/pool/p_object_collection.d.ts +0 -1
  283. package/dist/pool/p_object_collection.js +84 -0
  284. package/dist/pool/p_object_collection.js.map +1 -0
  285. package/dist/pool/ref_count_pool.cjs +58 -0
  286. package/dist/pool/ref_count_pool.cjs.map +1 -0
  287. package/dist/pool/ref_count_pool.d.ts +0 -1
  288. package/dist/pool/ref_count_pool.js +56 -0
  289. package/dist/pool/ref_count_pool.js.map +1 -0
  290. package/dist/pool/result_pool.cjs +265 -0
  291. package/dist/pool/result_pool.cjs.map +1 -0
  292. package/dist/pool/result_pool.d.ts +0 -1
  293. package/dist/pool/result_pool.js +263 -0
  294. package/dist/pool/result_pool.js.map +1 -0
  295. package/dist/test/block_packs.d.ts +0 -1
  296. package/dist/test/explicit_templates.d.ts +0 -1
  297. package/dist/test/known_templates.d.ts +0 -1
  298. package/dist/test_env.d.ts +0 -1
  299. package/dist/worker/WorkerManager.cjs +53 -0
  300. package/dist/worker/WorkerManager.cjs.map +1 -0
  301. package/dist/worker/WorkerManager.d.ts +0 -1
  302. package/dist/worker/WorkerManager.js +51 -0
  303. package/dist/worker/WorkerManager.js.map +1 -0
  304. package/dist/worker/worker.cjs +16 -0
  305. package/dist/worker/worker.cjs.map +1 -0
  306. package/dist/worker/worker.d.ts +0 -1
  307. package/dist/worker/worker.js +14 -0
  308. package/dist/worker/worker.js.map +1 -0
  309. package/dist/worker/workerApi.cjs +20 -0
  310. package/dist/worker/workerApi.cjs.map +1 -0
  311. package/dist/worker/workerApi.d.ts +1 -3
  312. package/dist/worker/workerApi.js +18 -0
  313. package/dist/worker/workerApi.js.map +1 -0
  314. package/package.json +26 -34
  315. package/src/cfg_render/executor.test.ts +5 -4
  316. package/src/model/project_model.test.ts +3 -3
  317. package/src/model/project_model_util.test.ts +3 -2
  318. package/src/mutator/block-pack/block_pack.test.ts +5 -4
  319. package/src/mutator/project.test.ts +4 -4
  320. package/src/mutator/template/template_render.test.ts +7 -6
  321. package/src/network_check/network_check.test.ts +1 -0
  322. package/src/network_check/test_utils.ts +2 -0
  323. package/src/worker/WorkerManager.ts +6 -8
  324. package/dist/block_registry/index.d.ts.map +0 -1
  325. package/dist/block_registry/registry-v2-provider.d.ts.map +0 -1
  326. package/dist/block_registry/registry.d.ts.map +0 -1
  327. package/dist/block_registry/registry.test.d.ts.map +0 -1
  328. package/dist/block_registry/watcher.d.ts.map +0 -1
  329. package/dist/block_registry/well_known_registries.d.ts.map +0 -1
  330. package/dist/cfg_render/executor.d.ts.map +0 -1
  331. package/dist/cfg_render/executor.test.d.ts.map +0 -1
  332. package/dist/cfg_render/operation.d.ts.map +0 -1
  333. package/dist/cfg_render/renderer.d.ts.map +0 -1
  334. package/dist/cfg_render/traverse.d.ts.map +0 -1
  335. package/dist/cfg_render/util.d.ts.map +0 -1
  336. package/dist/debug/index.d.ts.map +0 -1
  337. package/dist/dev_env/index.d.ts.map +0 -1
  338. package/dist/dev_env/util.d.ts.map +0 -1
  339. package/dist/index.d.ts.map +0 -1
  340. package/dist/index.mjs +0 -6742
  341. package/dist/index.mjs.map +0 -1
  342. package/dist/js_render/computable_context.d.ts.map +0 -1
  343. package/dist/js_render/context.d.ts.map +0 -1
  344. package/dist/js_render/index.d.ts.map +0 -1
  345. package/dist/middle_layer/active_cfg.d.ts.map +0 -1
  346. package/dist/middle_layer/block.d.ts.map +0 -1
  347. package/dist/middle_layer/block_ctx.d.ts.map +0 -1
  348. package/dist/middle_layer/block_ctx_unsafe.d.ts.map +0 -1
  349. package/dist/middle_layer/driver_kit.d.ts.map +0 -1
  350. package/dist/middle_layer/frontend_path.d.ts.map +0 -1
  351. package/dist/middle_layer/index.d.ts.map +0 -1
  352. package/dist/middle_layer/middle_layer.d.ts.map +0 -1
  353. package/dist/middle_layer/navigation_states.d.ts.map +0 -1
  354. package/dist/middle_layer/ops.d.ts.map +0 -1
  355. package/dist/middle_layer/project.d.ts.map +0 -1
  356. package/dist/middle_layer/project_list.d.ts.map +0 -1
  357. package/dist/middle_layer/project_overview.d.ts.map +0 -1
  358. package/dist/middle_layer/project_overview_light.d.ts.map +0 -1
  359. package/dist/middle_layer/render.d.ts.map +0 -1
  360. package/dist/middle_layer/render.test.d.ts.map +0 -1
  361. package/dist/middle_layer/types.d.ts.map +0 -1
  362. package/dist/middle_layer/util.d.ts.map +0 -1
  363. package/dist/model/args.d.ts.map +0 -1
  364. package/dist/model/block_pack.d.ts.map +0 -1
  365. package/dist/model/block_pack_spec.d.ts.map +0 -1
  366. package/dist/model/frontend.d.ts.map +0 -1
  367. package/dist/model/index.d.ts.map +0 -1
  368. package/dist/model/project_helper.d.ts.map +0 -1
  369. package/dist/model/project_model.d.ts.map +0 -1
  370. package/dist/model/project_model.test.d.ts.map +0 -1
  371. package/dist/model/project_model_util.d.ts.map +0 -1
  372. package/dist/model/project_model_util.test.d.ts.map +0 -1
  373. package/dist/model/project_model_v1.d.ts.map +0 -1
  374. package/dist/model/template_spec.d.ts.map +0 -1
  375. package/dist/mutator/block-pack/block_pack.d.ts.map +0 -1
  376. package/dist/mutator/block-pack/block_pack.test.d.ts.map +0 -1
  377. package/dist/mutator/block-pack/frontend.d.ts.map +0 -1
  378. package/dist/mutator/context_export.d.ts.map +0 -1
  379. package/dist/mutator/migration.d.ts.map +0 -1
  380. package/dist/mutator/project.d.ts.map +0 -1
  381. package/dist/mutator/project.test.d.ts.map +0 -1
  382. package/dist/mutator/template/direct_template_loader.d.ts.map +0 -1
  383. package/dist/mutator/template/direct_template_loader_v3.d.ts.map +0 -1
  384. package/dist/mutator/template/render_block.d.ts.map +0 -1
  385. package/dist/mutator/template/render_template.d.ts.map +0 -1
  386. package/dist/mutator/template/template_loading.d.ts.map +0 -1
  387. package/dist/mutator/template/template_render.test.d.ts.map +0 -1
  388. package/dist/network_check/network_check.d.ts.map +0 -1
  389. package/dist/network_check/network_check.test.d.ts.map +0 -1
  390. package/dist/network_check/pings.d.ts.map +0 -1
  391. package/dist/network_check/template.d.ts.map +0 -1
  392. package/dist/network_check/template.test.d.ts.map +0 -1
  393. package/dist/network_check/test_utils.d.ts.map +0 -1
  394. package/dist/pool/data.d.ts.map +0 -1
  395. package/dist/pool/driver.d.ts.map +0 -1
  396. package/dist/pool/index.d.ts.map +0 -1
  397. package/dist/pool/p_object_collection.d.ts.map +0 -1
  398. package/dist/pool/ref_count_pool.d.ts.map +0 -1
  399. package/dist/pool/result_pool.d.ts.map +0 -1
  400. package/dist/test/block_packs.d.ts.map +0 -1
  401. package/dist/test/explicit_templates.d.ts.map +0 -1
  402. package/dist/test/known_templates.d.ts.map +0 -1
  403. package/dist/test_env.d.ts.map +0 -1
  404. package/dist/worker/WorkerManager.d.ts.map +0 -1
  405. package/dist/worker/worker.d.ts.map +0 -1
  406. package/dist/worker/workerApi.d.ts.map +0 -1
  407. package/dist/worker.js +0 -2
  408. package/dist/worker.js.map +0 -1
  409. package/dist/worker.mjs +0 -20
  410. package/dist/worker.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_overview.js","sources":["../../src/middle_layer/project_overview.ts"],"sourcesContent":["import type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport type { ComputableStableDefined } from '@milaboratories/computable';\nimport { Computable } from '@milaboratories/computable';\nimport type {\n ProjectRenderingState,\n ProjectStructure } from '../model/project_model';\nimport {\n BlockRenderingStateKey,\n ProjectCreatedTimestamp,\n projectFieldName,\n ProjectLastModifiedTimestamp,\n ProjectMetaKey,\n ProjectStructureAuthorKey,\n ProjectStructureKey,\n} from '../model/project_model';\nimport { notEmpty } from '@milaboratories/ts-helpers';\nimport { allBlocks, productionGraph } from '../model/project_model_util';\nimport type { MiddleLayerEnvironment } from './middle_layer';\nimport type {\n AuthorMarker,\n BlockCalculationStatus,\n BlockSettings,\n ProjectMeta,\n ProjectOverview,\n} from '@milaboratories/pl-model-middle-layer';\nimport { constructBlockContextArgsOnly } from './block_ctx';\nimport { ifNotUndef } from '../cfg_render/util';\nimport { extractCodeWithInfo, type BlockSection } from '@platforma-sdk/model';\nimport { computableFromCfgOrRF } from './render';\nimport type { NavigationStates } from './navigation_states';\nimport { getBlockPackInfo } from './util';\nimport { resourceIdToString, type ResourceId } from '@milaboratories/pl-client';\nimport * as R from 'remeda';\n\ntype BlockInfo = {\n argsRid: ResourceId;\n currentArguments: unknown;\n prod?: ProdState;\n};\n\ntype _CalculationStatus = 'Running' | 'Done';\n\ntype ProdState = {\n finished: boolean;\n\n outputError: boolean;\n\n outputsError?: string;\n\n exportsError?: string;\n\n stale: boolean;\n\n /** Arguments current production was rendered with. */\n arguments: Record<string, unknown>;\n};\n\nfunction argsEquals(a: Record<string, unknown> | undefined, b: Record<string, unknown> | undefined): boolean {\n if (a === b) return true;\n if (a === undefined || b === undefined) return false;\n const clean = R.omitBy<Record<string, unknown>>((_, key) => key.startsWith('__'));\n return R.isDeepEqual(clean(a), clean(b));\n}\n\n/** Returns derived general project state form the project resource */\nexport function projectOverview(\n prjEntry: PlTreeEntry,\n navigationStates: NavigationStates,\n env: MiddleLayerEnvironment,\n): ComputableStableDefined<ProjectOverview> {\n return Computable.make(\n (ctx) => {\n const prj = ctx.accessor(prjEntry).node();\n\n const created = notEmpty(prj.getKeyValueAsJson<number>(ProjectCreatedTimestamp));\n const lastModified = notEmpty(prj.getKeyValueAsJson<number>(ProjectLastModifiedTimestamp));\n\n const meta = notEmpty(prj.getKeyValueAsJson<ProjectMeta>(ProjectMetaKey));\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const renderingState = notEmpty(\n prj.getKeyValueAsJson<ProjectRenderingState>(BlockRenderingStateKey),\n );\n\n const infos = new Map<string, BlockInfo>();\n for (const { id } of allBlocks(structure)) {\n const cInputs = prj.traverse({\n field: projectFieldName(id, 'currentArgs'),\n assertFieldType: 'Dynamic',\n errorIfFieldNotSet: true,\n });\n const currentArguments = cInputs.getDataAsJson() as Record<string, unknown>;\n\n let prod: ProdState | undefined = undefined;\n\n const rInputs = prj.traverse({\n field: projectFieldName(id, 'prodArgs'),\n assertFieldType: 'Dynamic',\n stableIfNotFound: true,\n });\n if (rInputs !== undefined) {\n const prodArgs = rInputs.getDataAsJson() as Record<string, unknown>;\n const result = prj.getField({\n field: projectFieldName(id, 'prodOutput'),\n assertFieldType: 'Dynamic',\n errorIfFieldNotFound: true,\n });\n const ctx = prj.getField({\n field: projectFieldName(id, 'prodUiCtx'),\n assertFieldType: 'Dynamic',\n errorIfFieldNotFound: true,\n });\n prod = {\n arguments: prodArgs,\n stale: !argsEquals(currentArguments, prodArgs),\n outputError:\n result.error !== undefined\n || ctx.error !== undefined\n || result.value?.getError() !== undefined\n || ctx.value?.getError() !== undefined,\n outputsError:\n result.error?.getDataAsString() ?? result.value?.getError()?.getDataAsString(),\n exportsError: ctx.error?.getDataAsString() ?? ctx.value?.getError()?.getDataAsString(),\n finished:\n ((result.value !== undefined && result.value.getIsReadyOrError())\n || (result.error !== undefined && result.error.getIsReadyOrError()))\n && ((ctx.value !== undefined && ctx.value.getIsReadyOrError())\n || (ctx.error !== undefined && ctx.error.getIsReadyOrError())),\n };\n }\n\n infos.set(id, { currentArguments, prod, argsRid: cInputs.resourceInfo.id });\n }\n\n const currentGraph = productionGraph(structure, (id) => {\n const bpInfo = getBlockPackInfo(prj, id)!;\n const bInfo = infos.get(id)!;\n const args = bInfo.currentArguments;\n return {\n args,\n enrichmentTargets: env.projectHelper.getEnrichmentTargets(() => bpInfo.cfg, () => args, { argsRid: bInfo.argsRid, blockPackRid: bpInfo.bpResourceId }),\n };\n });\n\n const limbo = new Set(renderingState.blocksInLimbo);\n\n const blocks = [...allBlocks(structure)].map(({ id, label: defaultLabel, renderingMode }) => {\n const info = notEmpty(infos.get(id));\n const gNode = notEmpty(currentGraph.nodes.get(id));\n let calculationStatus: BlockCalculationStatus = 'NotCalculated';\n if (info.prod !== undefined) {\n if (limbo.has(id)) calculationStatus = 'Limbo';\n else calculationStatus = info.prod.finished ? 'Done' : 'Running';\n }\n\n const bp = getBlockPackInfo(prj, id);\n\n const { sections, title, inputsValid, sdkVersion, featureFlags, isIncompatibleWithRuntime }\n = ifNotUndef(bp, ({ bpId, cfg }) => {\n if (!env.runtimeCapabilities.checkCompatibility(cfg.featureFlags)) {\n return {\n isIncompatibleWithRuntime: true,\n featureFlags: cfg.featureFlags,\n };\n }\n const blockCtxArgsOnly = constructBlockContextArgsOnly(prjEntry, id);\n const codeWithInfo = extractCodeWithInfo(cfg);\n return {\n sections: computableFromCfgOrRF(\n env,\n blockCtxArgsOnly,\n cfg.sections,\n codeWithInfo,\n bpId,\n ).wrap({\n recover: (e) => {\n env.logger.error('Error in block model sections');\n env.logger.error(e);\n return [];\n },\n }) as ComputableStableDefined<BlockSection[]>,\n title: ifNotUndef(\n cfg.title,\n (title) =>\n computableFromCfgOrRF(\n env,\n blockCtxArgsOnly,\n title,\n codeWithInfo,\n bpId,\n ).wrap({\n recover: (e) => {\n env.logger.error('Error in block model title');\n env.logger.error(e);\n return 'Invalid title';\n },\n }) as ComputableStableDefined<string>,\n ),\n inputsValid: computableFromCfgOrRF(\n env,\n blockCtxArgsOnly,\n cfg.inputsValid,\n codeWithInfo,\n bpId,\n ).wrap({\n recover: (e) => {\n // I'm not sure that we should write an error here, because it just means \"Invalid args\"\n env.logger.error('Error in block model argsValid');\n env.logger.error(e);\n return false;\n },\n }) as ComputableStableDefined<boolean>,\n sdkVersion: codeWithInfo?.sdkVersion,\n featureFlags: codeWithInfo?.featureFlags ?? {},\n isIncompatibleWithRuntime: false,\n };\n }) || {};\n\n const settings = prj\n .traverse({\n field: projectFieldName(id, 'blockSettings'),\n assertFieldType: 'Dynamic',\n errorIfFieldNotSet: true,\n })\n .getDataAsJson() as BlockSettings;\n\n const updates = ifNotUndef(bp, ({ info }) =>\n env.blockUpdateWatcher.get({ currentSpec: info.source, settings }),\n );\n\n return {\n projectResourceId: resourceIdToString(prjEntry.rid),\n id,\n label: title ?? defaultLabel,\n title: title ?? defaultLabel,\n renderingMode,\n stale: info.prod?.stale !== false || calculationStatus === 'Limbo',\n missingReference: gNode.missingReferences,\n upstreams: [...currentGraph.traverseIdsExcludingRoots('upstream', id)],\n downstreams: [...currentGraph.traverseIdsExcludingRoots('downstream', id)],\n calculationStatus,\n outputErrors: info.prod?.outputError === true,\n outputsError: info.prod?.outputsError,\n exportsError: info.prod?.exportsError,\n settings,\n sections,\n inputsValid,\n updateInfo: {},\n currentBlockPack: bp?.info?.source,\n updates,\n sdkVersion,\n featureFlags,\n isIncompatibleWithRuntime,\n navigationState: navigationStates.getState(id),\n };\n });\n\n return {\n meta,\n created: new Date(created),\n lastModified: new Date(lastModified),\n authorMarker: prj.getKeyValueAsJson<AuthorMarker>(ProjectStructureAuthorKey),\n blocks,\n };\n },\n {\n postprocessValue: (value) => {\n const cantRun = new Set<string>();\n const staleBlocks = new Set<string>();\n return {\n ...value,\n blocks: value.blocks.map((b) => {\n if (!b.inputsValid) cantRun.add(b.id);\n if (b.stale) staleBlocks.add(b.id);\n const stale = b.stale || b.upstreams.findIndex((u) => staleBlocks.has(u)) !== -1;\n const canRun\n = (stale || b.outputErrors)\n && Boolean(b.inputsValid)\n && !b.missingReference\n && b.upstreams.findIndex((u) => cantRun.has(u)) === -1;\n const bb = {\n ...b,\n canRun,\n stale,\n updateSuggestions: b.updates?.suggestions ?? [],\n updatedBlockPack: b.updates?.mainSuggestion,\n };\n delete bb['updates'];\n return bb;\n }),\n };\n },\n },\n ).withStableType();\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var tsHelpers = require('@milaboratories/ts-helpers');
4
+ var computable = require('@milaboratories/computable');
5
+ var project_model = require('../model/project_model.cjs');
6
+ var project_model_util = require('../model/project_model_util.cjs');
7
+
8
+ /** Returns derived general project state form the project resource */
9
+ function projectOverviewLight(prjEntry) {
10
+ return computable.Computable.make((ctx) => {
11
+ const prj = ctx.accessor(prjEntry).node();
12
+ const structure = tsHelpers.notEmpty(prj.getKeyValueAsJson(project_model.ProjectStructureKey));
13
+ return {
14
+ listOfBlocks: [...project_model_util.allBlocks(structure)].map((b) => b.id),
15
+ };
16
+ });
17
+ }
18
+
19
+ exports.projectOverviewLight = projectOverviewLight;
20
+ //# sourceMappingURL=project_overview_light.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_overview_light.cjs","sources":["../../src/middle_layer/project_overview_light.ts"],"sourcesContent":["import { notEmpty } from '@milaboratories/ts-helpers';\nimport type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport { Computable } from '@milaboratories/computable';\nimport type { ProjectStructure } from '../model/project_model';\nimport { ProjectStructureKey } from '../model/project_model';\nimport { allBlocks } from '../model/project_model_util';\n\nexport type ProjectOverviewLight = {\n readonly listOfBlocks: string[];\n};\n\n/** Returns derived general project state form the project resource */\nexport function projectOverviewLight(\n prjEntry: PlTreeEntry,\n): Computable<ProjectOverviewLight> {\n return Computable.make((ctx) => {\n const prj = ctx.accessor(prjEntry).node();\n\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n\n return {\n listOfBlocks: [...allBlocks(structure)].map((b) => b.id),\n };\n });\n}\n"],"names":["Computable","notEmpty","ProjectStructureKey","allBlocks"],"mappings":";;;;;;;AAWA;AACM,SAAU,oBAAoB,CAClC,QAAqB,EAAA;AAErB,IAAA,OAAOA,qBAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;QAEzC,MAAM,SAAS,GAAGC,kBAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAmBC,iCAAmB,CAAC,CAAC;QAExF,OAAO;AACL,YAAA,YAAY,EAAE,CAAC,GAAGC,4BAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;SACzD;AACH,IAAA,CAAC,CAAC;AACJ;;;;"}
@@ -5,4 +5,3 @@ export type ProjectOverviewLight = {
5
5
  };
6
6
  /** Returns derived general project state form the project resource */
7
7
  export declare function projectOverviewLight(prjEntry: PlTreeEntry): Computable<ProjectOverviewLight>;
8
- //# sourceMappingURL=project_overview_light.d.ts.map
@@ -0,0 +1,18 @@
1
+ import { notEmpty } from '@milaboratories/ts-helpers';
2
+ import { Computable } from '@milaboratories/computable';
3
+ import { ProjectStructureKey } from '../model/project_model.js';
4
+ import { allBlocks } from '../model/project_model_util.js';
5
+
6
+ /** Returns derived general project state form the project resource */
7
+ function projectOverviewLight(prjEntry) {
8
+ return Computable.make((ctx) => {
9
+ const prj = ctx.accessor(prjEntry).node();
10
+ const structure = notEmpty(prj.getKeyValueAsJson(ProjectStructureKey));
11
+ return {
12
+ listOfBlocks: [...allBlocks(structure)].map((b) => b.id),
13
+ };
14
+ });
15
+ }
16
+
17
+ export { projectOverviewLight };
18
+ //# sourceMappingURL=project_overview_light.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_overview_light.js","sources":["../../src/middle_layer/project_overview_light.ts"],"sourcesContent":["import { notEmpty } from '@milaboratories/ts-helpers';\nimport type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport { Computable } from '@milaboratories/computable';\nimport type { ProjectStructure } from '../model/project_model';\nimport { ProjectStructureKey } from '../model/project_model';\nimport { allBlocks } from '../model/project_model_util';\n\nexport type ProjectOverviewLight = {\n readonly listOfBlocks: string[];\n};\n\n/** Returns derived general project state form the project resource */\nexport function projectOverviewLight(\n prjEntry: PlTreeEntry,\n): Computable<ProjectOverviewLight> {\n return Computable.make((ctx) => {\n const prj = ctx.accessor(prjEntry).node();\n\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n\n return {\n listOfBlocks: [...allBlocks(structure)].map((b) => b.id),\n };\n });\n}\n"],"names":[],"mappings":";;;;;AAWA;AACM,SAAU,oBAAoB,CAClC,QAAqB,EAAA;AAErB,IAAA,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;QAEzC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAmB,mBAAmB,CAAC,CAAC;QAExF,OAAO;AACL,YAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;SACzD;AACH,IAAA,CAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ var model = require('@platforma-sdk/model');
4
+ var executor = require('../cfg_render/executor.cjs');
5
+ var index = require('../js_render/index.cjs');
6
+ var util = require('../cfg_render/util.cjs');
7
+
8
+ function isActive(cfg) {
9
+ if (model.isConfigLambda(cfg))
10
+ return cfg.isActive === true;
11
+ else
12
+ return util.hasActiveCfgComponents(cfg);
13
+ }
14
+ function computableFromCfgOrRF(env, ctx, cfgOrFh, codeWithInfo, configKey, ops = {}) {
15
+ if (model.isConfigLambda(cfgOrFh)) {
16
+ if (codeWithInfo === undefined)
17
+ throw new Error('No code bundle.');
18
+ return index.computableFromRF(env, ctx, cfgOrFh, codeWithInfo, configKey, ops);
19
+ }
20
+ else
21
+ return executor.computableFromCfg(env.driverKit, ctx, cfgOrFh, ops);
22
+ }
23
+
24
+ exports.computableFromCfgOrRF = computableFromCfgOrRF;
25
+ exports.isActive = isActive;
26
+ //# sourceMappingURL=render.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.cjs","sources":["../../src/middle_layer/render.ts"],"sourcesContent":["import type { BlockCodeWithInfo, TypedConfigOrConfigLambda } from '@platforma-sdk/model';\nimport { isConfigLambda } from '@platforma-sdk/model';\nimport type { Computable, ComputableRenderingOps } from '@milaboratories/computable';\nimport { computableFromCfg } from '../cfg_render/executor';\nimport type { MiddleLayerEnvironment } from './middle_layer';\nimport { computableFromRF } from '../js_render';\nimport type { BlockContextAny } from './block_ctx';\nimport { hasActiveCfgComponents } from '../cfg_render/util';\n\nexport function isActive(cfg: TypedConfigOrConfigLambda): boolean {\n if (isConfigLambda(cfg)) return cfg.isActive === true;\n else return hasActiveCfgComponents(cfg);\n}\n\nexport function computableFromCfgOrRF(\n env: MiddleLayerEnvironment,\n ctx: BlockContextAny,\n cfgOrFh: TypedConfigOrConfigLambda,\n codeWithInfo: BlockCodeWithInfo | undefined,\n configKey: string,\n ops: Partial<ComputableRenderingOps> = {},\n): Computable<unknown> {\n if (isConfigLambda(cfgOrFh)) {\n if (codeWithInfo === undefined) throw new Error('No code bundle.');\n return computableFromRF(env, ctx, cfgOrFh, codeWithInfo, configKey, ops);\n } else return computableFromCfg(env.driverKit, ctx, cfgOrFh, ops);\n}\n"],"names":["isConfigLambda","hasActiveCfgComponents","computableFromRF","computableFromCfg"],"mappings":";;;;;;;AASM,SAAU,QAAQ,CAAC,GAA8B,EAAA;IACrD,IAAIA,oBAAc,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,GAAG,CAAC,QAAQ,KAAK,IAAI;;AAChD,QAAA,OAAOC,2BAAsB,CAAC,GAAG,CAAC;AACzC;AAEM,SAAU,qBAAqB,CACnC,GAA2B,EAC3B,GAAoB,EACpB,OAAkC,EAClC,YAA2C,EAC3C,SAAiB,EACjB,MAAuC,EAAE,EAAA;AAEzC,IAAA,IAAID,oBAAc,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,YAAY,KAAK,SAAS;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC;AAClE,QAAA,OAAOE,sBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC;IAC1E;;AAAO,QAAA,OAAOC,0BAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC;AACnE;;;;;"}
@@ -4,4 +4,3 @@ import { MiddleLayerEnvironment } from './middle_layer';
4
4
  import { BlockContextAny } from './block_ctx';
5
5
  export declare function isActive(cfg: TypedConfigOrConfigLambda): boolean;
6
6
  export declare function computableFromCfgOrRF(env: MiddleLayerEnvironment, ctx: BlockContextAny, cfgOrFh: TypedConfigOrConfigLambda, codeWithInfo: BlockCodeWithInfo | undefined, configKey: string, ops?: Partial<ComputableRenderingOps>): Computable<unknown>;
7
- //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { isConfigLambda } from '@platforma-sdk/model';
2
+ import { computableFromCfg } from '../cfg_render/executor.js';
3
+ import { computableFromRF } from '../js_render/index.js';
4
+ import { hasActiveCfgComponents } from '../cfg_render/util.js';
5
+
6
+ function isActive(cfg) {
7
+ if (isConfigLambda(cfg))
8
+ return cfg.isActive === true;
9
+ else
10
+ return hasActiveCfgComponents(cfg);
11
+ }
12
+ function computableFromCfgOrRF(env, ctx, cfgOrFh, codeWithInfo, configKey, ops = {}) {
13
+ if (isConfigLambda(cfgOrFh)) {
14
+ if (codeWithInfo === undefined)
15
+ throw new Error('No code bundle.');
16
+ return computableFromRF(env, ctx, cfgOrFh, codeWithInfo, configKey, ops);
17
+ }
18
+ else
19
+ return computableFromCfg(env.driverKit, ctx, cfgOrFh, ops);
20
+ }
21
+
22
+ export { computableFromCfgOrRF, isActive };
23
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sources":["../../src/middle_layer/render.ts"],"sourcesContent":["import type { BlockCodeWithInfo, TypedConfigOrConfigLambda } from '@platforma-sdk/model';\nimport { isConfigLambda } from '@platforma-sdk/model';\nimport type { Computable, ComputableRenderingOps } from '@milaboratories/computable';\nimport { computableFromCfg } from '../cfg_render/executor';\nimport type { MiddleLayerEnvironment } from './middle_layer';\nimport { computableFromRF } from '../js_render';\nimport type { BlockContextAny } from './block_ctx';\nimport { hasActiveCfgComponents } from '../cfg_render/util';\n\nexport function isActive(cfg: TypedConfigOrConfigLambda): boolean {\n if (isConfigLambda(cfg)) return cfg.isActive === true;\n else return hasActiveCfgComponents(cfg);\n}\n\nexport function computableFromCfgOrRF(\n env: MiddleLayerEnvironment,\n ctx: BlockContextAny,\n cfgOrFh: TypedConfigOrConfigLambda,\n codeWithInfo: BlockCodeWithInfo | undefined,\n configKey: string,\n ops: Partial<ComputableRenderingOps> = {},\n): Computable<unknown> {\n if (isConfigLambda(cfgOrFh)) {\n if (codeWithInfo === undefined) throw new Error('No code bundle.');\n return computableFromRF(env, ctx, cfgOrFh, codeWithInfo, configKey, ops);\n } else return computableFromCfg(env.driverKit, ctx, cfgOrFh, ops);\n}\n"],"names":[],"mappings":";;;;;AASM,SAAU,QAAQ,CAAC,GAA8B,EAAA;IACrD,IAAI,cAAc,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,GAAG,CAAC,QAAQ,KAAK,IAAI;;AAChD,QAAA,OAAO,sBAAsB,CAAC,GAAG,CAAC;AACzC;AAEM,SAAU,qBAAqB,CACnC,GAA2B,EAC3B,GAAoB,EACpB,OAAkC,EAClC,YAA2C,EAC3C,SAAiB,EACjB,MAAuC,EAAE,EAAA;AAEzC,IAAA,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,YAAY,KAAK,SAAS;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC;AAClE,QAAA,OAAO,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC;IAC1E;;AAAO,QAAA,OAAO,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC;AACnE;;;;"}
@@ -2,4 +2,3 @@ import { MiddleLayer } from './middle_layer';
2
2
  import { Project } from './project';
3
3
  export declare function withMl(cb: (ml: MiddleLayer, workFolder: string) => Promise<void>): Promise<void>;
4
4
  export declare function awaitBlockDone(prj: Project, blockId: string, timeout?: number): Promise<void>;
5
- //# sourceMappingURL=render.test.d.ts.map
@@ -8,4 +8,3 @@ export interface TreeAndComputable<T, ST extends T = T> {
8
8
  /** Helper type to express a TreeAndComputable with computable
9
9
  * with standard non-undefined-stable type signature. */
10
10
  export type TreeAndComputableU<T> = TreeAndComputable<T | undefined, T>;
11
- //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var project_model = require('../model/project_model.cjs');
4
+ var plClient = require('@milaboratories/pl-client');
5
+ var util = require('../cfg_render/util.cjs');
6
+ var model = require('@platforma-sdk/model');
7
+
8
+ /** Returns block pack info along with string representation of block-pack resource id */
9
+ function getBlockPackInfo(prj, blockId) {
10
+ return util.ifNotUndef(prj.traverse({
11
+ field: project_model.projectFieldName(blockId, 'blockPack'),
12
+ assertFieldType: 'Dynamic',
13
+ errorIfFieldNotSet: true,
14
+ }, { field: plClient.Pl.HolderRefField, assertFieldType: 'Input', errorIfFieldNotFound: true }), (bpAcc) => {
15
+ const info = bpAcc.getDataAsJson();
16
+ const cfg = model.extractConfig(info.config);
17
+ return { bpResourceId: bpAcc.resourceInfo.id, bpId: bpAcc.resourceInfo.id.toString(), info, cfg };
18
+ });
19
+ }
20
+
21
+ exports.getBlockPackInfo = getBlockPackInfo;
22
+ //# sourceMappingURL=util.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.cjs","sources":["../../src/middle_layer/util.ts"],"sourcesContent":["import type { PlTreeNodeAccessor } from '@milaboratories/pl-tree';\nimport { projectFieldName } from '../model/project_model';\nimport type { ResourceId } from '@milaboratories/pl-client';\nimport { Pl } from '@milaboratories/pl-client';\nimport { ifNotUndef } from '../cfg_render/util';\nimport type { BlockPackInfo } from '../model/block_pack';\nimport type { BlockConfig } from '@platforma-sdk/model';\nimport { extractConfig } from '@platforma-sdk/model';\n\nexport type BlockPackInfoAndId = {\n readonly bpResourceId: ResourceId;\n /** To be added to computable keys, to force reload on config change */\n readonly bpId: string;\n /** Full block-pack info */\n readonly info: BlockPackInfo;\n /** Config extracted from the info */\n readonly cfg: BlockConfig;\n};\n\n/** Returns block pack info along with string representation of block-pack resource id */\nexport function getBlockPackInfo(\n prj: PlTreeNodeAccessor,\n blockId: string,\n): BlockPackInfoAndId | undefined {\n return ifNotUndef(\n prj.traverse(\n {\n field: projectFieldName(blockId, 'blockPack'),\n assertFieldType: 'Dynamic',\n errorIfFieldNotSet: true,\n },\n { field: Pl.HolderRefField, assertFieldType: 'Input', errorIfFieldNotFound: true },\n ),\n (bpAcc) => {\n const info = bpAcc.getDataAsJson<BlockPackInfo>()!;\n const cfg = extractConfig(info.config);\n return { bpResourceId: bpAcc.resourceInfo.id, bpId: bpAcc.resourceInfo.id.toString(), info, cfg };\n },\n );\n}\n"],"names":["ifNotUndef","projectFieldName","Pl","extractConfig"],"mappings":";;;;;;;AAmBA;AACM,SAAU,gBAAgB,CAC9B,GAAuB,EACvB,OAAe,EAAA;AAEf,IAAA,OAAOA,eAAU,CACf,GAAG,CAAC,QAAQ,CACV;AACE,QAAA,KAAK,EAAEC,8BAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;AAC7C,QAAA,eAAe,EAAE,SAAS;AAC1B,QAAA,kBAAkB,EAAE,IAAI;KACzB,EACD,EAAE,KAAK,EAAEC,WAAE,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,CACnF,EACD,CAAC,KAAK,KAAI;AACR,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAkB;QAClD,MAAM,GAAG,GAAGC,mBAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;AACnG,IAAA,CAAC,CACF;AACH;;;;"}
@@ -13,4 +13,3 @@ export type BlockPackInfoAndId = {
13
13
  };
14
14
  /** Returns block pack info along with string representation of block-pack resource id */
15
15
  export declare function getBlockPackInfo(prj: PlTreeNodeAccessor, blockId: string): BlockPackInfoAndId | undefined;
16
- //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1,20 @@
1
+ import { projectFieldName } from '../model/project_model.js';
2
+ import { Pl } from '@milaboratories/pl-client';
3
+ import { ifNotUndef } from '../cfg_render/util.js';
4
+ import { extractConfig } from '@platforma-sdk/model';
5
+
6
+ /** Returns block pack info along with string representation of block-pack resource id */
7
+ function getBlockPackInfo(prj, blockId) {
8
+ return ifNotUndef(prj.traverse({
9
+ field: projectFieldName(blockId, 'blockPack'),
10
+ assertFieldType: 'Dynamic',
11
+ errorIfFieldNotSet: true,
12
+ }, { field: Pl.HolderRefField, assertFieldType: 'Input', errorIfFieldNotFound: true }), (bpAcc) => {
13
+ const info = bpAcc.getDataAsJson();
14
+ const cfg = extractConfig(info.config);
15
+ return { bpResourceId: bpAcc.resourceInfo.id, bpId: bpAcc.resourceInfo.id.toString(), info, cfg };
16
+ });
17
+ }
18
+
19
+ export { getBlockPackInfo };
20
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sources":["../../src/middle_layer/util.ts"],"sourcesContent":["import type { PlTreeNodeAccessor } from '@milaboratories/pl-tree';\nimport { projectFieldName } from '../model/project_model';\nimport type { ResourceId } from '@milaboratories/pl-client';\nimport { Pl } from '@milaboratories/pl-client';\nimport { ifNotUndef } from '../cfg_render/util';\nimport type { BlockPackInfo } from '../model/block_pack';\nimport type { BlockConfig } from '@platforma-sdk/model';\nimport { extractConfig } from '@platforma-sdk/model';\n\nexport type BlockPackInfoAndId = {\n readonly bpResourceId: ResourceId;\n /** To be added to computable keys, to force reload on config change */\n readonly bpId: string;\n /** Full block-pack info */\n readonly info: BlockPackInfo;\n /** Config extracted from the info */\n readonly cfg: BlockConfig;\n};\n\n/** Returns block pack info along with string representation of block-pack resource id */\nexport function getBlockPackInfo(\n prj: PlTreeNodeAccessor,\n blockId: string,\n): BlockPackInfoAndId | undefined {\n return ifNotUndef(\n prj.traverse(\n {\n field: projectFieldName(blockId, 'blockPack'),\n assertFieldType: 'Dynamic',\n errorIfFieldNotSet: true,\n },\n { field: Pl.HolderRefField, assertFieldType: 'Input', errorIfFieldNotFound: true },\n ),\n (bpAcc) => {\n const info = bpAcc.getDataAsJson<BlockPackInfo>()!;\n const cfg = extractConfig(info.config);\n return { bpResourceId: bpAcc.resourceInfo.id, bpId: bpAcc.resourceInfo.id.toString(), info, cfg };\n },\n );\n}\n"],"names":[],"mappings":";;;;;AAmBA;AACM,SAAU,gBAAgB,CAC9B,GAAuB,EACvB,OAAe,EAAA;AAEf,IAAA,OAAO,UAAU,CACf,GAAG,CAAC,QAAQ,CACV;AACE,QAAA,KAAK,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;AAC7C,QAAA,eAAe,EAAE,SAAS;AAC1B,QAAA,kBAAkB,EAAE,IAAI;KACzB,EACD,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,CACnF,EACD,CAAC,KAAK,KAAI;AACR,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAkB;QAClD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;AACnG,IAAA,CAAC,CACF;AACH;;;;"}
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var tsHelpers = require('@milaboratories/ts-helpers');
4
+
5
+ function outputRef(blockId, name, requireEnrichments) {
6
+ return { __isRef: true, blockId, name };
7
+ }
8
+ function isBlockOutputReference(obj) {
9
+ return (typeof obj === 'object'
10
+ && obj !== null
11
+ && '__isRef' in obj
12
+ && obj.__isRef === true
13
+ && 'blockId' in obj
14
+ && 'name' in obj);
15
+ }
16
+ function addAllReferencedBlocks(result, node, allowed) {
17
+ const type = typeof node;
18
+ switch (type) {
19
+ case 'function':
20
+ case 'bigint':
21
+ case 'number':
22
+ case 'string':
23
+ case 'boolean':
24
+ case 'symbol':
25
+ case 'undefined':
26
+ return;
27
+ case 'object':
28
+ if (node === null)
29
+ return;
30
+ if (isBlockOutputReference(node)) {
31
+ if (allowed === undefined || allowed.has(node.blockId)) {
32
+ result.upstreams.add(node.blockId);
33
+ if (node.requireEnrichments)
34
+ result.upstreamsRequiringEnrichments.add(node.blockId);
35
+ }
36
+ else
37
+ result.missingReferences = true;
38
+ }
39
+ else if (Array.isArray(node)) {
40
+ for (const child of node)
41
+ addAllReferencedBlocks(result, child, allowed);
42
+ }
43
+ else {
44
+ for (const [, child] of Object.entries(node))
45
+ addAllReferencedBlocks(result, child, allowed);
46
+ }
47
+ return;
48
+ default:
49
+ tsHelpers.assertNever(type);
50
+ }
51
+ }
52
+ /** Extracts all resource ids referenced by args object. */
53
+ function inferAllReferencedBlocks(args, allowed) {
54
+ const result = { upstreams: new Set(), upstreamsRequiringEnrichments: new Set(), missingReferences: false };
55
+ addAllReferencedBlocks(result, args, allowed);
56
+ return result;
57
+ }
58
+
59
+ exports.inferAllReferencedBlocks = inferAllReferencedBlocks;
60
+ exports.isBlockOutputReference = isBlockOutputReference;
61
+ exports.outputRef = outputRef;
62
+ //# sourceMappingURL=args.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.cjs","sources":["../../src/model/args.ts"],"sourcesContent":["import { assertNever } from '@milaboratories/ts-helpers';\nimport type { PlRef } from '@platforma-sdk/model';\n\nexport function outputRef(blockId: string, name: string, requireEnrichments?: boolean): PlRef {\n if (requireEnrichments) return { __isRef: true, blockId, name, requireEnrichments };\n else return { __isRef: true, blockId, name };\n}\n\nexport function isBlockOutputReference(obj: unknown): obj is PlRef {\n return (\n typeof obj === 'object'\n && obj !== null\n && '__isRef' in obj\n && obj.__isRef === true\n && 'blockId' in obj\n && 'name' in obj\n );\n}\n\nfunction addAllReferencedBlocks(result: BlockUpstreams, node: unknown, allowed?: Set<string>) {\n const type = typeof node;\n switch (type) {\n case 'function':\n case 'bigint':\n case 'number':\n case 'string':\n case 'boolean':\n case 'symbol':\n case 'undefined':\n return;\n\n case 'object':\n if (node === null) return;\n\n if (isBlockOutputReference(node)) {\n if (allowed === undefined || allowed.has(node.blockId)) {\n result.upstreams.add(node.blockId);\n if (node.requireEnrichments)\n result.upstreamsRequiringEnrichments.add(node.blockId);\n } else result.missingReferences = true;\n } else if (Array.isArray(node)) {\n for (const child of node) addAllReferencedBlocks(result, child, allowed);\n } else {\n for (const [, child] of Object.entries(node as object))\n addAllReferencedBlocks(result, child, allowed);\n }\n\n return;\n\n default:\n assertNever(type);\n }\n}\n\nexport interface BlockUpstreams {\n /** All direct block dependencies */\n upstreams: Set<string>;\n /** Direct block dependencies which enrichments are also required by current block */\n upstreamsRequiringEnrichments: Set<string>;\n /** True if not-allowed references was encountered */\n missingReferences: boolean;\n}\n\n/** Extracts all resource ids referenced by args object. */\nexport function inferAllReferencedBlocks(args: unknown, allowed?: Set<string>): BlockUpstreams {\n const result = { upstreams: new Set<string>(), upstreamsRequiringEnrichments: new Set<string>(), missingReferences: false };\n addAllReferencedBlocks(result, args, allowed);\n return result;\n}\n"],"names":["assertNever"],"mappings":";;;;SAGgB,SAAS,CAAC,OAAe,EAAE,IAAY,EAAE,kBAA4B,EAAA;AACnF,IACK,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;AAC9C;AAEM,SAAU,sBAAsB,CAAC,GAAY,EAAA;AACjD,IAAA,QACE,OAAO,GAAG,KAAK;AACZ,WAAA,GAAG,KAAK;AACR,WAAA,SAAS,IAAI;WACb,GAAG,CAAC,OAAO,KAAK;AAChB,WAAA,SAAS,IAAI;WACb,MAAM,IAAI,GAAG;AAEpB;AAEA,SAAS,sBAAsB,CAAC,MAAsB,EAAE,IAAa,EAAE,OAAqB,EAAA;AAC1F,IAAA,MAAM,IAAI,GAAG,OAAO,IAAI;IACxB,QAAQ,IAAI;AACV,QAAA,KAAK,UAAU;AACf,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,WAAW;YACd;AAEF,QAAA,KAAK,QAAQ;YACX,IAAI,IAAI,KAAK,IAAI;gBAAE;AAEnB,YAAA,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;AAChC,gBAAA,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACtD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;oBAClC,IAAI,IAAI,CAAC,kBAAkB;wBACzB,MAAM,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC1D;;AAAO,oBAAA,MAAM,CAAC,iBAAiB,GAAG,IAAI;YACxC;AAAO,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9B,KAAK,MAAM,KAAK,IAAI,IAAI;AAAE,oBAAA,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;YAC1E;iBAAO;gBACL,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC;AACpD,oBAAA,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;YAClD;YAEA;AAEF,QAAA;YACEA,qBAAW,CAAC,IAAI,CAAC;;AAEvB;AAWA;AACM,SAAU,wBAAwB,CAAC,IAAa,EAAE,OAAqB,EAAA;AAC3E,IAAA,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,GAAG,EAAU,EAAE,6BAA6B,EAAE,IAAI,GAAG,EAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE;AAC3H,IAAA,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;AAC7C,IAAA,OAAO,MAAM;AACf;;;;;;"}
@@ -11,4 +11,3 @@ export interface BlockUpstreams {
11
11
  }
12
12
  /** Extracts all resource ids referenced by args object. */
13
13
  export declare function inferAllReferencedBlocks(args: unknown, allowed?: Set<string>): BlockUpstreams;
14
- //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1,58 @@
1
+ import { assertNever } from '@milaboratories/ts-helpers';
2
+
3
+ function outputRef(blockId, name, requireEnrichments) {
4
+ return { __isRef: true, blockId, name };
5
+ }
6
+ function isBlockOutputReference(obj) {
7
+ return (typeof obj === 'object'
8
+ && obj !== null
9
+ && '__isRef' in obj
10
+ && obj.__isRef === true
11
+ && 'blockId' in obj
12
+ && 'name' in obj);
13
+ }
14
+ function addAllReferencedBlocks(result, node, allowed) {
15
+ const type = typeof node;
16
+ switch (type) {
17
+ case 'function':
18
+ case 'bigint':
19
+ case 'number':
20
+ case 'string':
21
+ case 'boolean':
22
+ case 'symbol':
23
+ case 'undefined':
24
+ return;
25
+ case 'object':
26
+ if (node === null)
27
+ return;
28
+ if (isBlockOutputReference(node)) {
29
+ if (allowed === undefined || allowed.has(node.blockId)) {
30
+ result.upstreams.add(node.blockId);
31
+ if (node.requireEnrichments)
32
+ result.upstreamsRequiringEnrichments.add(node.blockId);
33
+ }
34
+ else
35
+ result.missingReferences = true;
36
+ }
37
+ else if (Array.isArray(node)) {
38
+ for (const child of node)
39
+ addAllReferencedBlocks(result, child, allowed);
40
+ }
41
+ else {
42
+ for (const [, child] of Object.entries(node))
43
+ addAllReferencedBlocks(result, child, allowed);
44
+ }
45
+ return;
46
+ default:
47
+ assertNever(type);
48
+ }
49
+ }
50
+ /** Extracts all resource ids referenced by args object. */
51
+ function inferAllReferencedBlocks(args, allowed) {
52
+ const result = { upstreams: new Set(), upstreamsRequiringEnrichments: new Set(), missingReferences: false };
53
+ addAllReferencedBlocks(result, args, allowed);
54
+ return result;
55
+ }
56
+
57
+ export { inferAllReferencedBlocks, isBlockOutputReference, outputRef };
58
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sources":["../../src/model/args.ts"],"sourcesContent":["import { assertNever } from '@milaboratories/ts-helpers';\nimport type { PlRef } from '@platforma-sdk/model';\n\nexport function outputRef(blockId: string, name: string, requireEnrichments?: boolean): PlRef {\n if (requireEnrichments) return { __isRef: true, blockId, name, requireEnrichments };\n else return { __isRef: true, blockId, name };\n}\n\nexport function isBlockOutputReference(obj: unknown): obj is PlRef {\n return (\n typeof obj === 'object'\n && obj !== null\n && '__isRef' in obj\n && obj.__isRef === true\n && 'blockId' in obj\n && 'name' in obj\n );\n}\n\nfunction addAllReferencedBlocks(result: BlockUpstreams, node: unknown, allowed?: Set<string>) {\n const type = typeof node;\n switch (type) {\n case 'function':\n case 'bigint':\n case 'number':\n case 'string':\n case 'boolean':\n case 'symbol':\n case 'undefined':\n return;\n\n case 'object':\n if (node === null) return;\n\n if (isBlockOutputReference(node)) {\n if (allowed === undefined || allowed.has(node.blockId)) {\n result.upstreams.add(node.blockId);\n if (node.requireEnrichments)\n result.upstreamsRequiringEnrichments.add(node.blockId);\n } else result.missingReferences = true;\n } else if (Array.isArray(node)) {\n for (const child of node) addAllReferencedBlocks(result, child, allowed);\n } else {\n for (const [, child] of Object.entries(node as object))\n addAllReferencedBlocks(result, child, allowed);\n }\n\n return;\n\n default:\n assertNever(type);\n }\n}\n\nexport interface BlockUpstreams {\n /** All direct block dependencies */\n upstreams: Set<string>;\n /** Direct block dependencies which enrichments are also required by current block */\n upstreamsRequiringEnrichments: Set<string>;\n /** True if not-allowed references was encountered */\n missingReferences: boolean;\n}\n\n/** Extracts all resource ids referenced by args object. */\nexport function inferAllReferencedBlocks(args: unknown, allowed?: Set<string>): BlockUpstreams {\n const result = { upstreams: new Set<string>(), upstreamsRequiringEnrichments: new Set<string>(), missingReferences: false };\n addAllReferencedBlocks(result, args, allowed);\n return result;\n}\n"],"names":[],"mappings":";;SAGgB,SAAS,CAAC,OAAe,EAAE,IAAY,EAAE,kBAA4B,EAAA;AACnF,IACK,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;AAC9C;AAEM,SAAU,sBAAsB,CAAC,GAAY,EAAA;AACjD,IAAA,QACE,OAAO,GAAG,KAAK;AACZ,WAAA,GAAG,KAAK;AACR,WAAA,SAAS,IAAI;WACb,GAAG,CAAC,OAAO,KAAK;AAChB,WAAA,SAAS,IAAI;WACb,MAAM,IAAI,GAAG;AAEpB;AAEA,SAAS,sBAAsB,CAAC,MAAsB,EAAE,IAAa,EAAE,OAAqB,EAAA;AAC1F,IAAA,MAAM,IAAI,GAAG,OAAO,IAAI;IACxB,QAAQ,IAAI;AACV,QAAA,KAAK,UAAU;AACf,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,QAAQ;AACb,QAAA,KAAK,WAAW;YACd;AAEF,QAAA,KAAK,QAAQ;YACX,IAAI,IAAI,KAAK,IAAI;gBAAE;AAEnB,YAAA,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;AAChC,gBAAA,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACtD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;oBAClC,IAAI,IAAI,CAAC,kBAAkB;wBACzB,MAAM,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC1D;;AAAO,oBAAA,MAAM,CAAC,iBAAiB,GAAG,IAAI;YACxC;AAAO,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9B,KAAK,MAAM,KAAK,IAAI,IAAI;AAAE,oBAAA,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;YAC1E;iBAAO;gBACL,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAc,CAAC;AACpD,oBAAA,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;YAClD;YAEA;AAEF,QAAA;YACE,WAAW,CAAC,IAAI,CAAC;;AAEvB;AAWA;AACM,SAAU,wBAAwB,CAAC,IAAa,EAAE,OAAqB,EAAA;AAC3E,IAAA,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,GAAG,EAAU,EAAE,6BAA6B,EAAE,IAAI,GAAG,EAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE;AAC3H,IAAA,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;AAC7C,IAAA,OAAO,MAAM;AACf;;;;"}
@@ -5,4 +5,3 @@ export interface BlockPackInfo {
5
5
  readonly source: BlockPackSpec;
6
6
  readonly config: BlockConfigContainer;
7
7
  }
8
- //# sourceMappingURL=block_pack.d.ts.map
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ const FrontendFromUrlResourceType = { name: 'Frontend/FromUrl', version: '1' };
4
+ const FrontendFromFolderResourceType = {
5
+ name: 'Frontend/FromFolder',
6
+ version: '1',
7
+ };
8
+
9
+ exports.FrontendFromFolderResourceType = FrontendFromFolderResourceType;
10
+ exports.FrontendFromUrlResourceType = FrontendFromUrlResourceType;
11
+ //# sourceMappingURL=block_pack_spec.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_pack_spec.cjs","sources":["../../src/model/block_pack_spec.ts"],"sourcesContent":["import type { ExplicitTemplate, PreparedTemplate } from './template_spec';\nimport type { ResourceType } from '@milaboratories/pl-client';\nimport type { BlockConfigContainer } from '@platforma-sdk/model';\nimport type { BlockPackSpec } from '@milaboratories/pl-model-middle-layer';\n\nexport type FrontendSpec = FrontendFromUrl | FrontendFromFolder;\n\nexport interface FrontendFromUrlData {\n url: string;\n}\n\nexport const FrontendFromUrlResourceType: ResourceType = { name: 'Frontend/FromUrl', version: '1' };\n\n/** Directs user of the block pack to download the contents from the URL\n * outside the pl infrastructure. */\nexport interface FrontendFromUrl extends FrontendFromUrlData {\n type: 'url';\n}\n\nexport interface FrontendFromFolderData {\n path: string;\n /** HMAC signature of the path using local secret encoded as hex. */\n signature: string;\n}\n\nexport const FrontendFromFolderResourceType: ResourceType = {\n name: 'Frontend/FromFolder',\n version: '1',\n};\n\n/** Directs user of the block pack to load frontend from specific local\n * folder. Signature allows to confirm that this is the same client who\n * added the resource. */\nexport interface FrontendFromFolder extends FrontendFromFolderData {\n type: 'local';\n}\n\n/** Direct instructions to create block-pack from client. Currently, this\n * is the only block-pack spec that can be directly materialized. */\nexport interface BlockPackExplicit {\n type: 'explicit';\n template: ExplicitTemplate;\n config: BlockConfigContainer;\n frontend: FrontendSpec;\n source: BlockPackSpec;\n}\n\n/** Block-pack spec that can be materialized in pl. */\nexport type BlockPackSpecPrepared = {\n type: 'prepared';\n template: PreparedTemplate;\n config: BlockConfigContainer;\n frontend: FrontendSpec;\n source: BlockPackSpec;\n};\n\n/** All block-pack specs. */\nexport type BlockPackSpecAny = BlockPackSpecPrepared | BlockPackExplicit | BlockPackSpec;\n"],"names":[],"mappings":";;AAWO,MAAM,2BAA2B,GAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG;AAc1F,MAAM,8BAA8B,GAAiB;AAC1D,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,OAAO,EAAE,GAAG;;;;;;"}
@@ -43,4 +43,3 @@ export type BlockPackSpecPrepared = {
43
43
  };
44
44
  /** All block-pack specs. */
45
45
  export type BlockPackSpecAny = BlockPackSpecPrepared | BlockPackExplicit | BlockPackSpec;
46
- //# sourceMappingURL=block_pack_spec.d.ts.map
@@ -0,0 +1,8 @@
1
+ const FrontendFromUrlResourceType = { name: 'Frontend/FromUrl', version: '1' };
2
+ const FrontendFromFolderResourceType = {
3
+ name: 'Frontend/FromFolder',
4
+ version: '1',
5
+ };
6
+
7
+ export { FrontendFromFolderResourceType, FrontendFromUrlResourceType };
8
+ //# sourceMappingURL=block_pack_spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_pack_spec.js","sources":["../../src/model/block_pack_spec.ts"],"sourcesContent":["import type { ExplicitTemplate, PreparedTemplate } from './template_spec';\nimport type { ResourceType } from '@milaboratories/pl-client';\nimport type { BlockConfigContainer } from '@platforma-sdk/model';\nimport type { BlockPackSpec } from '@milaboratories/pl-model-middle-layer';\n\nexport type FrontendSpec = FrontendFromUrl | FrontendFromFolder;\n\nexport interface FrontendFromUrlData {\n url: string;\n}\n\nexport const FrontendFromUrlResourceType: ResourceType = { name: 'Frontend/FromUrl', version: '1' };\n\n/** Directs user of the block pack to download the contents from the URL\n * outside the pl infrastructure. */\nexport interface FrontendFromUrl extends FrontendFromUrlData {\n type: 'url';\n}\n\nexport interface FrontendFromFolderData {\n path: string;\n /** HMAC signature of the path using local secret encoded as hex. */\n signature: string;\n}\n\nexport const FrontendFromFolderResourceType: ResourceType = {\n name: 'Frontend/FromFolder',\n version: '1',\n};\n\n/** Directs user of the block pack to load frontend from specific local\n * folder. Signature allows to confirm that this is the same client who\n * added the resource. */\nexport interface FrontendFromFolder extends FrontendFromFolderData {\n type: 'local';\n}\n\n/** Direct instructions to create block-pack from client. Currently, this\n * is the only block-pack spec that can be directly materialized. */\nexport interface BlockPackExplicit {\n type: 'explicit';\n template: ExplicitTemplate;\n config: BlockConfigContainer;\n frontend: FrontendSpec;\n source: BlockPackSpec;\n}\n\n/** Block-pack spec that can be materialized in pl. */\nexport type BlockPackSpecPrepared = {\n type: 'prepared';\n template: PreparedTemplate;\n config: BlockConfigContainer;\n frontend: FrontendSpec;\n source: BlockPackSpec;\n};\n\n/** All block-pack specs. */\nexport type BlockPackSpecAny = BlockPackSpecPrepared | BlockPackExplicit | BlockPackSpec;\n"],"names":[],"mappings":"AAWO,MAAM,2BAA2B,GAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG;AAc1F,MAAM,8BAA8B,GAAiB;AAC1D,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,OAAO,EAAE,GAAG;;;;;"}
@@ -7,4 +7,3 @@ export interface FrontendData {
7
7
  /** SDK version used by the UI */
8
8
  readonly sdkVersion: string;
9
9
  }
10
- //# sourceMappingURL=frontend.d.ts.map
@@ -1,3 +1,2 @@
1
1
  export * from './block_pack_spec';
2
2
  export { type ProjectListEntry } from './project_model';
3
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var model = require('@platforma-sdk/model');
4
+ var lruCache = require('lru-cache');
5
+ var index = require('../js_render/index.cjs');
6
+
7
+ class ProjectHelper {
8
+ quickJs;
9
+ enrichmentTargetsCache = new lruCache.LRUCache({
10
+ max: 256,
11
+ memoMethod: (_key, _value, { context }) => {
12
+ return { value: this.calculateEnrichmentTargets(context) };
13
+ },
14
+ });
15
+ constructor(quickJs) {
16
+ this.quickJs = quickJs;
17
+ }
18
+ calculateEnrichmentTargets(req) {
19
+ const blockConfig = req.blockConfig();
20
+ if (blockConfig.enrichmentTargets === undefined)
21
+ return undefined;
22
+ const args = req.args();
23
+ const result = index.executeSingleLambda(this.quickJs, blockConfig.enrichmentTargets, model.extractCodeWithInfo(blockConfig), args);
24
+ return result;
25
+ }
26
+ getEnrichmentTargets(blockConfig, args, key) {
27
+ const req = { blockConfig, args };
28
+ if (key === undefined)
29
+ return this.calculateEnrichmentTargets(req);
30
+ const cacheKey = `${key.argsRid}:${key.blockPackRid}`;
31
+ return this.enrichmentTargetsCache.memo(cacheKey, { context: req }).value;
32
+ }
33
+ }
34
+
35
+ exports.ProjectHelper = ProjectHelper;
36
+ //# sourceMappingURL=project_helper.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_helper.cjs","sources":["../../src/model/project_helper.ts"],"sourcesContent":["import { extractCodeWithInfo, type BlockConfig, type PlRef } from '@platforma-sdk/model';\nimport { LRUCache } from 'lru-cache';\nimport type { QuickJSWASMModule } from 'quickjs-emscripten';\nimport { executeSingleLambda } from '../js_render';\nimport type { ResourceId } from '@milaboratories/pl-client';\n\ntype EnrichmentTargetsRequest = {\n blockConfig: () => BlockConfig;\n args: () => unknown;\n};\n\ntype EnrichmentTargetsValue = {\n value: PlRef[] | undefined;\n};\n\nexport class ProjectHelper {\n private readonly enrichmentTargetsCache = new LRUCache<string, EnrichmentTargetsValue, EnrichmentTargetsRequest>({\n max: 256,\n memoMethod: (_key, _value, { context }) => {\n return { value: this.calculateEnrichmentTargets(context) };\n },\n });\n\n constructor(private readonly quickJs: QuickJSWASMModule) {}\n\n private calculateEnrichmentTargets(req: EnrichmentTargetsRequest): PlRef[] | undefined {\n const blockConfig = req.blockConfig();\n if (blockConfig.enrichmentTargets === undefined) return undefined;\n const args = req.args();\n const result = executeSingleLambda(this.quickJs, blockConfig.enrichmentTargets, extractCodeWithInfo(blockConfig)!, args) as PlRef[];\n return result;\n }\n\n public getEnrichmentTargets(blockConfig: () => BlockConfig, args: () => unknown, key?: { argsRid: ResourceId; blockPackRid: ResourceId }): PlRef[] | undefined {\n const req = { blockConfig, args };\n if (key === undefined)\n return this.calculateEnrichmentTargets(req);\n const cacheKey = `${key.argsRid}:${key.blockPackRid}`;\n return this.enrichmentTargetsCache.memo(cacheKey, { context: req }).value;\n }\n}\n"],"names":["LRUCache","executeSingleLambda","extractCodeWithInfo"],"mappings":";;;;;;MAea,aAAa,CAAA;AAQK,IAAA,OAAA;IAPZ,sBAAsB,GAAG,IAAIA,iBAAQ,CAA2D;AAC/G,QAAA,GAAG,EAAE,GAAG;QACR,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAI;YACxC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE;QAC5D,CAAC;AACF,KAAA,CAAC;AAEF,IAAA,WAAA,CAA6B,OAA0B,EAAA;QAA1B,IAAA,CAAA,OAAO,GAAP,OAAO;IAAsB;AAElD,IAAA,0BAA0B,CAAC,GAA6B,EAAA;AAC9D,QAAA,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE;AACrC,QAAA,IAAI,WAAW,CAAC,iBAAiB,KAAK,SAAS;AAAE,YAAA,OAAO,SAAS;AACjE,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE;AACvB,QAAA,MAAM,MAAM,GAAGC,yBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,EAAEC,yBAAmB,CAAC,WAAW,CAAE,EAAE,IAAI,CAAY;AACnI,QAAA,OAAO,MAAM;IACf;AAEO,IAAA,oBAAoB,CAAC,WAA8B,EAAE,IAAmB,EAAE,GAAuD,EAAA;AACtI,QAAA,MAAM,GAAG,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACjC,IAAI,GAAG,KAAK,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC;QAC7C,MAAM,QAAQ,GAAG,CAAA,EAAG,GAAG,CAAC,OAAO,CAAA,CAAA,EAAI,GAAG,CAAC,YAAY,CAAA,CAAE;AACrD,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK;IAC3E;AACD;;;;"}
@@ -11,4 +11,3 @@ export declare class ProjectHelper {
11
11
  blockPackRid: ResourceId;
12
12
  }): PlRef[] | undefined;
13
13
  }
14
- //# sourceMappingURL=project_helper.d.ts.map
@@ -0,0 +1,34 @@
1
+ import { extractCodeWithInfo } from '@platforma-sdk/model';
2
+ import { LRUCache } from 'lru-cache';
3
+ import { executeSingleLambda } from '../js_render/index.js';
4
+
5
+ class ProjectHelper {
6
+ quickJs;
7
+ enrichmentTargetsCache = new LRUCache({
8
+ max: 256,
9
+ memoMethod: (_key, _value, { context }) => {
10
+ return { value: this.calculateEnrichmentTargets(context) };
11
+ },
12
+ });
13
+ constructor(quickJs) {
14
+ this.quickJs = quickJs;
15
+ }
16
+ calculateEnrichmentTargets(req) {
17
+ const blockConfig = req.blockConfig();
18
+ if (blockConfig.enrichmentTargets === undefined)
19
+ return undefined;
20
+ const args = req.args();
21
+ const result = executeSingleLambda(this.quickJs, blockConfig.enrichmentTargets, extractCodeWithInfo(blockConfig), args);
22
+ return result;
23
+ }
24
+ getEnrichmentTargets(blockConfig, args, key) {
25
+ const req = { blockConfig, args };
26
+ if (key === undefined)
27
+ return this.calculateEnrichmentTargets(req);
28
+ const cacheKey = `${key.argsRid}:${key.blockPackRid}`;
29
+ return this.enrichmentTargetsCache.memo(cacheKey, { context: req }).value;
30
+ }
31
+ }
32
+
33
+ export { ProjectHelper };
34
+ //# sourceMappingURL=project_helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_helper.js","sources":["../../src/model/project_helper.ts"],"sourcesContent":["import { extractCodeWithInfo, type BlockConfig, type PlRef } from '@platforma-sdk/model';\nimport { LRUCache } from 'lru-cache';\nimport type { QuickJSWASMModule } from 'quickjs-emscripten';\nimport { executeSingleLambda } from '../js_render';\nimport type { ResourceId } from '@milaboratories/pl-client';\n\ntype EnrichmentTargetsRequest = {\n blockConfig: () => BlockConfig;\n args: () => unknown;\n};\n\ntype EnrichmentTargetsValue = {\n value: PlRef[] | undefined;\n};\n\nexport class ProjectHelper {\n private readonly enrichmentTargetsCache = new LRUCache<string, EnrichmentTargetsValue, EnrichmentTargetsRequest>({\n max: 256,\n memoMethod: (_key, _value, { context }) => {\n return { value: this.calculateEnrichmentTargets(context) };\n },\n });\n\n constructor(private readonly quickJs: QuickJSWASMModule) {}\n\n private calculateEnrichmentTargets(req: EnrichmentTargetsRequest): PlRef[] | undefined {\n const blockConfig = req.blockConfig();\n if (blockConfig.enrichmentTargets === undefined) return undefined;\n const args = req.args();\n const result = executeSingleLambda(this.quickJs, blockConfig.enrichmentTargets, extractCodeWithInfo(blockConfig)!, args) as PlRef[];\n return result;\n }\n\n public getEnrichmentTargets(blockConfig: () => BlockConfig, args: () => unknown, key?: { argsRid: ResourceId; blockPackRid: ResourceId }): PlRef[] | undefined {\n const req = { blockConfig, args };\n if (key === undefined)\n return this.calculateEnrichmentTargets(req);\n const cacheKey = `${key.argsRid}:${key.blockPackRid}`;\n return this.enrichmentTargetsCache.memo(cacheKey, { context: req }).value;\n }\n}\n"],"names":[],"mappings":";;;;MAea,aAAa,CAAA;AAQK,IAAA,OAAA;IAPZ,sBAAsB,GAAG,IAAI,QAAQ,CAA2D;AAC/G,QAAA,GAAG,EAAE,GAAG;QACR,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAI;YACxC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE;QAC5D,CAAC;AACF,KAAA,CAAC;AAEF,IAAA,WAAA,CAA6B,OAA0B,EAAA;QAA1B,IAAA,CAAA,OAAO,GAAP,OAAO;IAAsB;AAElD,IAAA,0BAA0B,CAAC,GAA6B,EAAA;AAC9D,QAAA,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE;AACrC,QAAA,IAAI,WAAW,CAAC,iBAAiB,KAAK,SAAS;AAAE,YAAA,OAAO,SAAS;AACjE,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE;AACvB,QAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,WAAW,CAAE,EAAE,IAAI,CAAY;AACnI,QAAA,OAAO,MAAM;IACf;AAEO,IAAA,oBAAoB,CAAC,WAA8B,EAAE,IAAmB,EAAE,GAAuD,EAAA;AACtI,QAAA,MAAM,GAAG,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE;QACjC,IAAI,GAAG,KAAK,SAAS;AACnB,YAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC;QAC7C,MAAM,QAAQ,GAAG,CAAA,EAAG,GAAG,CAAC,OAAO,CAAA,CAAA,EAAI,GAAG,CAAC,YAAY,CAAA,CAAE;AACrD,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK;IAC3E;AACD;;;;"}