@milaboratories/pl-middle-layer 1.55.0 → 1.55.2

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 (280) hide show
  1. package/dist/_virtual/{_@oxc-project_runtime@0.114.0 → _@oxc-project_runtime@0.123.0}/helpers/usingCtx.cjs +2 -4
  2. package/dist/_virtual/{_@oxc-project_runtime@0.114.0 → _@oxc-project_runtime@0.123.0}/helpers/usingCtx.js +2 -3
  3. package/dist/_virtual/_rolldown/runtime.cjs +7 -13
  4. package/dist/block_registry/index.cjs +3 -3
  5. package/dist/block_registry/index.js +3 -3
  6. package/dist/block_registry/registry-v2-provider.cjs +2 -3
  7. package/dist/block_registry/registry-v2-provider.cjs.map +1 -1
  8. package/dist/block_registry/registry-v2-provider.d.ts.map +1 -0
  9. package/dist/block_registry/registry-v2-provider.js +1 -2
  10. package/dist/block_registry/registry-v2-provider.js.map +1 -1
  11. package/dist/block_registry/registry.cjs +3 -4
  12. package/dist/block_registry/registry.cjs.map +1 -1
  13. package/dist/block_registry/registry.d.ts.map +1 -0
  14. package/dist/block_registry/registry.js +1 -2
  15. package/dist/block_registry/registry.js.map +1 -1
  16. package/dist/block_registry/watcher.cjs +3 -4
  17. package/dist/block_registry/watcher.cjs.map +1 -1
  18. package/dist/block_registry/watcher.d.ts.map +1 -0
  19. package/dist/block_registry/watcher.js +1 -2
  20. package/dist/block_registry/watcher.js.map +1 -1
  21. package/dist/block_registry/well_known_registries.cjs +1 -2
  22. package/dist/block_registry/well_known_registries.cjs.map +1 -1
  23. package/dist/block_registry/well_known_registries.d.ts.map +1 -0
  24. package/dist/block_registry/well_known_registries.js +1 -1
  25. package/dist/cfg_render/executor.cjs +4 -5
  26. package/dist/cfg_render/executor.cjs.map +1 -1
  27. package/dist/cfg_render/executor.js +1 -2
  28. package/dist/cfg_render/executor.js.map +1 -1
  29. package/dist/cfg_render/renderer.cjs +4 -5
  30. package/dist/cfg_render/renderer.cjs.map +1 -1
  31. package/dist/cfg_render/renderer.js +1 -2
  32. package/dist/cfg_render/renderer.js.map +1 -1
  33. package/dist/cfg_render/traverse.cjs +2 -3
  34. package/dist/cfg_render/traverse.cjs.map +1 -1
  35. package/dist/cfg_render/traverse.js +1 -2
  36. package/dist/cfg_render/traverse.js.map +1 -1
  37. package/dist/cfg_render/util.cjs +2 -3
  38. package/dist/cfg_render/util.cjs.map +1 -1
  39. package/dist/cfg_render/util.js +1 -2
  40. package/dist/cfg_render/util.js.map +1 -1
  41. package/dist/debug/index.cjs +1 -2
  42. package/dist/debug/index.cjs.map +1 -1
  43. package/dist/debug/index.js +1 -1
  44. package/dist/debug/index.js.map +1 -1
  45. package/dist/dev_env/index.cjs +3 -4
  46. package/dist/dev_env/index.cjs.map +1 -1
  47. package/dist/dev_env/index.js +1 -2
  48. package/dist/dev_env/index.js.map +1 -1
  49. package/dist/dev_env/util.cjs +2 -3
  50. package/dist/dev_env/util.cjs.map +1 -1
  51. package/dist/dev_env/util.js +1 -2
  52. package/dist/dev_env/util.js.map +1 -1
  53. package/dist/index.cjs +48 -44
  54. package/dist/index.d.ts +0 -3
  55. package/dist/index.js +5 -10
  56. package/dist/js_render/computable_context.cjs +5 -6
  57. package/dist/js_render/computable_context.cjs.map +1 -1
  58. package/dist/js_render/computable_context.js +2 -3
  59. package/dist/js_render/computable_context.js.map +1 -1
  60. package/dist/js_render/context.cjs +3 -4
  61. package/dist/js_render/context.cjs.map +1 -1
  62. package/dist/js_render/context.js +1 -2
  63. package/dist/js_render/context.js.map +1 -1
  64. package/dist/js_render/index.cjs +4 -5
  65. package/dist/js_render/index.cjs.map +1 -1
  66. package/dist/js_render/index.js +1 -2
  67. package/dist/js_render/index.js.map +1 -1
  68. package/dist/js_render/service_injectors.cjs +3 -4
  69. package/dist/js_render/service_injectors.cjs.map +1 -1
  70. package/dist/js_render/service_injectors.js +2 -3
  71. package/dist/js_render/service_injectors.js.map +1 -1
  72. package/dist/middle_layer/active_cfg.cjs +7 -8
  73. package/dist/middle_layer/active_cfg.cjs.map +1 -1
  74. package/dist/middle_layer/active_cfg.js +1 -2
  75. package/dist/middle_layer/active_cfg.js.map +1 -1
  76. package/dist/middle_layer/block.cjs +8 -9
  77. package/dist/middle_layer/block.cjs.map +1 -1
  78. package/dist/middle_layer/block.js +1 -2
  79. package/dist/middle_layer/block.js.map +1 -1
  80. package/dist/middle_layer/block_ctx.cjs +5 -6
  81. package/dist/middle_layer/block_ctx.cjs.map +1 -1
  82. package/dist/middle_layer/block_ctx.js +1 -2
  83. package/dist/middle_layer/block_ctx.js.map +1 -1
  84. package/dist/middle_layer/block_ctx_unsafe.cjs +1 -2
  85. package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -1
  86. package/dist/middle_layer/block_ctx_unsafe.js +1 -1
  87. package/dist/middle_layer/block_ctx_unsafe.js.map +1 -1
  88. package/dist/middle_layer/driver_kit.cjs +5 -6
  89. package/dist/middle_layer/driver_kit.cjs.map +1 -1
  90. package/dist/middle_layer/driver_kit.d.ts +0 -1
  91. package/dist/middle_layer/driver_kit.d.ts.map +1 -0
  92. package/dist/middle_layer/driver_kit.js +1 -2
  93. package/dist/middle_layer/driver_kit.js.map +1 -1
  94. package/dist/middle_layer/frontend_path.cjs +6 -7
  95. package/dist/middle_layer/frontend_path.cjs.map +1 -1
  96. package/dist/middle_layer/frontend_path.js +1 -2
  97. package/dist/middle_layer/frontend_path.js.map +1 -1
  98. package/dist/middle_layer/index.cjs +5 -5
  99. package/dist/middle_layer/index.js +5 -5
  100. package/dist/middle_layer/middle_layer.cjs +15 -16
  101. package/dist/middle_layer/middle_layer.cjs.map +1 -1
  102. package/dist/middle_layer/middle_layer.d.ts +0 -2
  103. package/dist/middle_layer/middle_layer.d.ts.map +1 -0
  104. package/dist/middle_layer/middle_layer.js +1 -2
  105. package/dist/middle_layer/middle_layer.js.map +1 -1
  106. package/dist/middle_layer/navigation_states.cjs +2 -3
  107. package/dist/middle_layer/navigation_states.cjs.map +1 -1
  108. package/dist/middle_layer/navigation_states.js +1 -2
  109. package/dist/middle_layer/navigation_states.js.map +1 -1
  110. package/dist/middle_layer/ops.cjs +5 -7
  111. package/dist/middle_layer/ops.cjs.map +1 -1
  112. package/dist/middle_layer/ops.d.ts +0 -1
  113. package/dist/middle_layer/ops.d.ts.map +1 -0
  114. package/dist/middle_layer/ops.js +1 -2
  115. package/dist/middle_layer/ops.js.map +1 -1
  116. package/dist/middle_layer/project.cjs +12 -13
  117. package/dist/middle_layer/project.cjs.map +1 -1
  118. package/dist/middle_layer/project.d.ts +0 -1
  119. package/dist/middle_layer/project.d.ts.map +1 -0
  120. package/dist/middle_layer/project.js +1 -2
  121. package/dist/middle_layer/project.js.map +1 -1
  122. package/dist/middle_layer/project_list.cjs +3 -4
  123. package/dist/middle_layer/project_list.cjs.map +1 -1
  124. package/dist/middle_layer/project_list.d.ts +0 -4
  125. package/dist/middle_layer/project_list.d.ts.map +1 -0
  126. package/dist/middle_layer/project_list.js +1 -2
  127. package/dist/middle_layer/project_list.js.map +1 -1
  128. package/dist/middle_layer/project_overview.cjs +9 -10
  129. package/dist/middle_layer/project_overview.cjs.map +1 -1
  130. package/dist/middle_layer/project_overview.js +1 -2
  131. package/dist/middle_layer/project_overview.js.map +1 -1
  132. package/dist/middle_layer/project_overview_light.cjs +4 -5
  133. package/dist/middle_layer/project_overview_light.cjs.map +1 -1
  134. package/dist/middle_layer/project_overview_light.js +1 -2
  135. package/dist/middle_layer/project_overview_light.js.map +1 -1
  136. package/dist/middle_layer/render.cjs +5 -6
  137. package/dist/middle_layer/render.cjs.map +1 -1
  138. package/dist/middle_layer/render.js +1 -2
  139. package/dist/middle_layer/render.js.map +1 -1
  140. package/dist/middle_layer/types.d.ts.map +1 -0
  141. package/dist/middle_layer/util.cjs +4 -5
  142. package/dist/middle_layer/util.cjs.map +1 -1
  143. package/dist/middle_layer/util.js +1 -2
  144. package/dist/middle_layer/util.js.map +1 -1
  145. package/dist/model/args.cjs +2 -3
  146. package/dist/model/args.cjs.map +1 -1
  147. package/dist/model/args.js +1 -2
  148. package/dist/model/args.js.map +1 -1
  149. package/dist/model/block_pack_spec.cjs +1 -2
  150. package/dist/model/block_pack_spec.cjs.map +1 -1
  151. package/dist/model/block_pack_spec.d.ts.map +1 -0
  152. package/dist/model/block_pack_spec.js +1 -1
  153. package/dist/model/frontend.d.ts.map +1 -0
  154. package/dist/model/project_helper.cjs +3 -4
  155. package/dist/model/project_helper.cjs.map +1 -1
  156. package/dist/model/project_helper.d.ts.map +1 -0
  157. package/dist/model/project_helper.js +1 -2
  158. package/dist/model/project_helper.js.map +1 -1
  159. package/dist/model/project_model.cjs +1 -6
  160. package/dist/model/project_model.cjs.map +1 -1
  161. package/dist/model/project_model.d.ts +0 -1
  162. package/dist/model/project_model.d.ts.map +1 -0
  163. package/dist/model/project_model.js +2 -4
  164. package/dist/model/project_model.js.map +1 -1
  165. package/dist/model/project_model_util.cjs +2 -3
  166. package/dist/model/project_model_util.cjs.map +1 -1
  167. package/dist/model/project_model_util.js +1 -2
  168. package/dist/model/project_model_util.js.map +1 -1
  169. package/dist/model/project_model_v1.cjs +1 -5
  170. package/dist/model/project_model_v1.cjs.map +1 -1
  171. package/dist/model/project_model_v1.js +2 -4
  172. package/dist/model/project_model_v1.js.map +1 -1
  173. package/dist/model/template_spec.d.ts.map +1 -0
  174. package/dist/mutator/block-pack/block_pack.cjs +9 -10
  175. package/dist/mutator/block-pack/block_pack.cjs.map +1 -1
  176. package/dist/mutator/block-pack/block_pack.d.ts +0 -1
  177. package/dist/mutator/block-pack/block_pack.d.ts.map +1 -0
  178. package/dist/mutator/block-pack/block_pack.js +2 -3
  179. package/dist/mutator/block-pack/block_pack.js.map +1 -1
  180. package/dist/mutator/block-pack/frontend.cjs +3 -4
  181. package/dist/mutator/block-pack/frontend.cjs.map +1 -1
  182. package/dist/mutator/block-pack/frontend.js +1 -2
  183. package/dist/mutator/block-pack/frontend.js.map +1 -1
  184. package/dist/mutator/context_export.cjs +4 -5
  185. package/dist/mutator/context_export.cjs.map +1 -1
  186. package/dist/mutator/context_export.js +1 -2
  187. package/dist/mutator/context_export.js.map +1 -1
  188. package/dist/mutator/migration.cjs +13 -14
  189. package/dist/mutator/migration.cjs.map +1 -1
  190. package/dist/mutator/migration.js +11 -12
  191. package/dist/mutator/migration.js.map +1 -1
  192. package/dist/mutator/project.cjs +13 -14
  193. package/dist/mutator/project.cjs.map +1 -1
  194. package/dist/mutator/project.d.ts +0 -3
  195. package/dist/mutator/project.d.ts.map +1 -0
  196. package/dist/mutator/project.js +6 -7
  197. package/dist/mutator/project.js.map +1 -1
  198. package/dist/mutator/template/direct_template_loader.cjs +3 -4
  199. package/dist/mutator/template/direct_template_loader.cjs.map +1 -1
  200. package/dist/mutator/template/direct_template_loader.js +1 -2
  201. package/dist/mutator/template/direct_template_loader.js.map +1 -1
  202. package/dist/mutator/template/direct_template_loader_v3.cjs +2 -3
  203. package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -1
  204. package/dist/mutator/template/direct_template_loader_v3.js +1 -2
  205. package/dist/mutator/template/direct_template_loader_v3.js.map +1 -1
  206. package/dist/mutator/template/render_block.cjs +4 -6
  207. package/dist/mutator/template/render_block.cjs.map +1 -1
  208. package/dist/mutator/template/render_block.js +2 -4
  209. package/dist/mutator/template/render_block.js.map +1 -1
  210. package/dist/mutator/template/render_template.cjs +2 -3
  211. package/dist/mutator/template/render_template.cjs.map +1 -1
  212. package/dist/mutator/template/render_template.d.ts.map +1 -0
  213. package/dist/mutator/template/render_template.js +1 -2
  214. package/dist/mutator/template/render_template.js.map +1 -1
  215. package/dist/mutator/template/template_cache.cjs +6 -10
  216. package/dist/mutator/template/template_cache.cjs.map +1 -1
  217. package/dist/mutator/template/template_cache.d.ts +2 -3
  218. package/dist/mutator/template/template_cache.d.ts.map +1 -0
  219. package/dist/mutator/template/template_cache.js +4 -8
  220. package/dist/mutator/template/template_cache.js.map +1 -1
  221. package/dist/mutator/template/template_loading.cjs +3 -4
  222. package/dist/mutator/template/template_loading.cjs.map +1 -1
  223. package/dist/mutator/template/template_loading.d.ts.map +1 -0
  224. package/dist/mutator/template/template_loading.js +1 -2
  225. package/dist/mutator/template/template_loading.js.map +1 -1
  226. package/dist/network_check/network_check.cjs +4 -5
  227. package/dist/network_check/network_check.cjs.map +1 -1
  228. package/dist/network_check/network_check.d.ts.map +1 -0
  229. package/dist/network_check/network_check.js +1 -2
  230. package/dist/network_check/network_check.js.map +1 -1
  231. package/dist/network_check/pings.cjs +2 -3
  232. package/dist/network_check/pings.cjs.map +1 -1
  233. package/dist/network_check/pings.js +1 -2
  234. package/dist/network_check/pings.js.map +1 -1
  235. package/dist/network_check/template.cjs +4 -5
  236. package/dist/network_check/template.cjs.map +1 -1
  237. package/dist/network_check/template.js +1 -2
  238. package/dist/network_check/template.js.map +1 -1
  239. package/dist/pool/data.cjs +2 -3
  240. package/dist/pool/data.cjs.map +1 -1
  241. package/dist/pool/data.d.ts +0 -1
  242. package/dist/pool/data.d.ts.map +1 -0
  243. package/dist/pool/data.js +1 -2
  244. package/dist/pool/data.js.map +1 -1
  245. package/dist/pool/driver.cjs +3 -4
  246. package/dist/pool/driver.cjs.map +1 -1
  247. package/dist/pool/driver.d.ts +0 -1
  248. package/dist/pool/driver.d.ts.map +1 -0
  249. package/dist/pool/driver.js +1 -2
  250. package/dist/pool/driver.js.map +1 -1
  251. package/dist/pool/index.cjs +2 -2
  252. package/dist/pool/index.d.ts +1 -2
  253. package/dist/pool/index.js +2 -2
  254. package/dist/pool/p_object_collection.cjs +3 -4
  255. package/dist/pool/p_object_collection.cjs.map +1 -1
  256. package/dist/pool/p_object_collection.d.ts.map +1 -0
  257. package/dist/pool/p_object_collection.js +1 -2
  258. package/dist/pool/p_object_collection.js.map +1 -1
  259. package/dist/pool/result_pool.cjs +7 -8
  260. package/dist/pool/result_pool.cjs.map +1 -1
  261. package/dist/pool/result_pool.d.ts +1 -3
  262. package/dist/pool/result_pool.js +1 -2
  263. package/dist/pool/result_pool.js.map +1 -1
  264. package/dist/service_factories.cjs +2 -3
  265. package/dist/service_factories.cjs.map +1 -1
  266. package/dist/service_factories.js +1 -2
  267. package/dist/service_factories.js.map +1 -1
  268. package/dist/worker/WorkerManager.cjs +2 -3
  269. package/dist/worker/WorkerManager.cjs.map +1 -1
  270. package/dist/worker/WorkerManager.js +1 -2
  271. package/dist/worker/WorkerManager.js.map +1 -1
  272. package/dist/worker/worker.cjs +3 -4
  273. package/dist/worker/worker.cjs.map +1 -1
  274. package/dist/worker/worker.js +1 -2
  275. package/dist/worker/worker.js.map +1 -1
  276. package/dist/worker/workerApi.cjs +2 -3
  277. package/dist/worker/workerApi.cjs.map +1 -1
  278. package/dist/worker/workerApi.js +1 -2
  279. package/dist/worker/workerApi.js.map +1 -1
  280. package/package.json +13 -13
@@ -2,7 +2,6 @@ import { tryStat } from "./util.js";
2
2
  import { RegistryV1 } from "@platforma-sdk/block-tools";
3
3
  import path from "node:path";
4
4
  import { tryResolve } from "@milaboratories/resolve-helper";
5
-
6
5
  //#region src/dev_env/index.ts
7
6
  const LegacyDevBlockPackMetaYaml = [RegistryV1.PlPackageYamlConfigFile];
8
7
  const LegacyDevBlockPackMetaJson = [RegistryV1.PlPackageJsonConfigFile];
@@ -66,7 +65,7 @@ async function resolveDevPacket(packageRoot, ignoreErrors) {
66
65
  };
67
66
  }
68
67
  }
69
-
70
68
  //#endregion
71
69
  export { LegacyDevBlockPackFiles, resolveDevPacket };
70
+
72
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"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"],"mappings":";;;;;;AAKA,MAAa,6BAA6B,CAAC,WAAW,wBAAwB;AAC9E,MAAa,6BAA6B,CAAC,WAAW,wBAAwB;AAC9E,MAAa,6BAA6B;CAAC;CAAW;CAAQ;CAAS;CAAO;CAAc;AAC5F,MAAa,2BAA2B;CAAC;CAAU;CAAQ;CAAc;AACzE,MAAa,mCAAmC,CAAC,YAAY,OAAO;AAGpE,MAAa,8BAA8B;AAC3C,MAAa,qCAAqC;AAElD,MAAa,0BAA0B;CACrC;CACA;CACA;CACA;CACA;CACD;AAWD,eAAsB,mBAAmB,aAAuC;AAC9E,QACG,MAAM,QAAQ,KAAK,KAAK,aAAa,GAAG,yBAAyB,CAAC,KAAM,UACxE,MAAM,QAAQ,KAAK,KAAK,aAAa,GAAG,2BAA2B,CAAC,KAAM;;AAI/E,SAAS,YAAY,MAAc,SAAyB;CAC1D,MAAM,MAAM,WAAW,MAAM,QAAQ;AACrC,KAAI,QAAQ,OAAW,OAAM,IAAI,MAAM,iBAAiB,QAAQ,WAAW,OAAO;AAClF,QAAO;;AAWT,eAAsB,iBACpB,aACA,cACqC;AACrC,KAAI,CAAC,KAAK,WAAW,YAAY,CAAE,eAAc,KAAK,QAAQ,YAAY;AAC1E,KAAI,MAAM,mBAAmB,YAAY,CACvC,QAAO;EACL,UAAU,KAAK,KAAK,aAAa,GAAG,2BAA2B;EAC/D,QAAQ,KAAK,KAAK,aAAa,GAAG,yBAAyB;EAC3D,IAAI,KAAK,KAAK,aAAa,GAAG,iCAAiC;EAChE;AACH,KAAI,cAAc;EAChB,MAAM,WAAW,WAAW,aAAa,4BAA4B;AACrE,MAAI,aAAa,OAAW,QAAO;EACnC,MAAM,SAAS,WAAW,aAAa,4BAA4B;AACnE,MAAI,WAAW,OAAW,QAAO;EACjC,MAAM,gBAAgB,WAAW,aAAa,mCAAmC;AACjF,MAAI,kBAAkB,OAAW,QAAO;AACxC,SAAO;GAAE;GAAU;GAAQ,IAAI,KAAK,QAAQ,eAAe,MAAM,OAAO;GAAE;QACrE;EACL,MAAM,WAAW,YAAY,aAAa,4BAA4B;EACtE,MAAM,SAAS,YAAY,aAAa,4BAA4B;EACpE,MAAM,gBAAgB,YAAY,aAAa,mCAAmC;AAClF,SAAO;GAAE;GAAU;GAAQ,IAAI,KAAK,QAAQ,eAAe,MAAM,OAAO;GAAE"}
1
+ {"version":3,"file":"index.js","names":[],"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"],"mappings":";;;;;AAKA,MAAa,6BAA6B,CAAC,WAAW,wBAAwB;AAC9E,MAAa,6BAA6B,CAAC,WAAW,wBAAwB;AAC9E,MAAa,6BAA6B;CAAC;CAAW;CAAQ;CAAS;CAAO;CAAc;AAC5F,MAAa,2BAA2B;CAAC;CAAU;CAAQ;CAAc;AACzE,MAAa,mCAAmC,CAAC,YAAY,OAAO;AAGpE,MAAa,8BAA8B;AAC3C,MAAa,qCAAqC;AAElD,MAAa,0BAA0B;CACrC;CACA;CACA;CACA;CACA;CACD;AAWD,eAAsB,mBAAmB,aAAuC;AAC9E,QACG,MAAM,QAAQ,KAAK,KAAK,aAAa,GAAG,yBAAyB,CAAC,KAAM,KAAA,KACxE,MAAM,QAAQ,KAAK,KAAK,aAAa,GAAG,2BAA2B,CAAC,KAAM,KAAA;;AAI/E,SAAS,YAAY,MAAc,SAAyB;CAC1D,MAAM,MAAM,WAAW,MAAM,QAAQ;AACrC,KAAI,QAAQ,KAAA,EAAW,OAAM,IAAI,MAAM,iBAAiB,QAAQ,WAAW,OAAO;AAClF,QAAO;;AAWT,eAAsB,iBACpB,aACA,cACqC;AACrC,KAAI,CAAC,KAAK,WAAW,YAAY,CAAE,eAAc,KAAK,QAAQ,YAAY;AAC1E,KAAI,MAAM,mBAAmB,YAAY,CACvC,QAAO;EACL,UAAU,KAAK,KAAK,aAAa,GAAG,2BAA2B;EAC/D,QAAQ,KAAK,KAAK,aAAa,GAAG,yBAAyB;EAC3D,IAAI,KAAK,KAAK,aAAa,GAAG,iCAAiC;EAChE;AACH,KAAI,cAAc;EAChB,MAAM,WAAW,WAAW,aAAa,4BAA4B;AACrE,MAAI,aAAa,KAAA,EAAW,QAAO,KAAA;EACnC,MAAM,SAAS,WAAW,aAAa,4BAA4B;AACnE,MAAI,WAAW,KAAA,EAAW,QAAO,KAAA;EACjC,MAAM,gBAAgB,WAAW,aAAa,mCAAmC;AACjF,MAAI,kBAAkB,KAAA,EAAW,QAAO,KAAA;AACxC,SAAO;GAAE;GAAU;GAAQ,IAAI,KAAK,QAAQ,eAAe,MAAM,OAAO;GAAE;QACrE;EACL,MAAM,WAAW,YAAY,aAAa,4BAA4B;EACtE,MAAM,SAAS,YAAY,aAAa,4BAA4B;EACpE,MAAM,gBAAgB,YAAY,aAAa,mCAAmC;AAClF,SAAO;GAAE;GAAU;GAAQ,IAAI,KAAK,QAAQ,eAAe,MAAM,OAAO;GAAE"}
@@ -1,7 +1,6 @@
1
- const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
1
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
2
  let node_fs_promises = require("node:fs/promises");
3
3
  node_fs_promises = require_runtime.__toESM(node_fs_promises);
4
-
5
4
  //#region src/dev_env/util.ts
6
5
  async function tryStat(path) {
7
6
  try {
@@ -11,7 +10,7 @@ async function tryStat(path) {
11
10
  throw error;
12
11
  }
13
12
  }
14
-
15
13
  //#endregion
16
14
  exports.tryStat = tryStat;
15
+
17
16
  //# sourceMappingURL=util.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.cjs","names":["fsp"],"sources":["../../src/dev_env/util.ts"],"sourcesContent":["import type { BigIntStats } from \"node:fs\";\nimport * as fsp from \"node:fs/promises\";\n\nexport async function tryStat(path: string): Promise<BigIntStats | undefined> {\n try {\n return await fsp.stat(path, { bigint: true });\n } catch (error: any) {\n if (error.code === \"ENOENT\") {\n return undefined;\n }\n throw error;\n }\n}\n"],"mappings":";;;;;AAGA,eAAsB,QAAQ,MAAgD;AAC5E,KAAI;AACF,SAAO,MAAMA,iBAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,CAAC;UACtC,OAAY;AACnB,MAAI,MAAM,SAAS,SACjB;AAEF,QAAM"}
1
+ {"version":3,"file":"util.cjs","names":["fsp"],"sources":["../../src/dev_env/util.ts"],"sourcesContent":["import type { BigIntStats } from \"node:fs\";\nimport * as fsp from \"node:fs/promises\";\n\nexport async function tryStat(path: string): Promise<BigIntStats | undefined> {\n try {\n return await fsp.stat(path, { bigint: true });\n } catch (error: any) {\n if (error.code === \"ENOENT\") {\n return undefined;\n }\n throw error;\n }\n}\n"],"mappings":";;;;AAGA,eAAsB,QAAQ,MAAgD;AAC5E,KAAI;AACF,SAAO,MAAMA,iBAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,CAAC;UACtC,OAAY;AACnB,MAAI,MAAM,SAAS,SACjB;AAEF,QAAM"}
@@ -1,5 +1,4 @@
1
1
  import * as fsp from "node:fs/promises";
2
-
3
2
  //#region src/dev_env/util.ts
4
3
  async function tryStat(path) {
5
4
  try {
@@ -9,7 +8,7 @@ async function tryStat(path) {
9
8
  throw error;
10
9
  }
11
10
  }
12
-
13
11
  //#endregion
14
12
  export { tryStat };
13
+
15
14
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","names":[],"sources":["../../src/dev_env/util.ts"],"sourcesContent":["import type { BigIntStats } from \"node:fs\";\nimport * as fsp from \"node:fs/promises\";\n\nexport async function tryStat(path: string): Promise<BigIntStats | undefined> {\n try {\n return await fsp.stat(path, { bigint: true });\n } catch (error: any) {\n if (error.code === \"ENOENT\") {\n return undefined;\n }\n throw error;\n }\n}\n"],"mappings":";;;AAGA,eAAsB,QAAQ,MAAgD;AAC5E,KAAI;AACF,SAAO,MAAM,IAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,CAAC;UACtC,OAAY;AACnB,MAAI,MAAM,SAAS,SACjB;AAEF,QAAM"}
1
+ {"version":3,"file":"util.js","names":[],"sources":["../../src/dev_env/util.ts"],"sourcesContent":["import type { BigIntStats } from \"node:fs\";\nimport * as fsp from \"node:fs/promises\";\n\nexport async function tryStat(path: string): Promise<BigIntStats | undefined> {\n try {\n return await fsp.stat(path, { bigint: true });\n } catch (error: any) {\n if (error.code === \"ENOENT\") {\n return undefined;\n }\n throw error;\n }\n}\n"],"mappings":";;AAGA,eAAsB,QAAQ,MAAgD;AAC5E,KAAI;AACF,SAAO,MAAM,IAAI,KAAK,MAAM,EAAE,QAAQ,MAAM,CAAC;UACtC,OAAY;AACnB,MAAI,MAAM,SAAS,SACjB;AAEF,QAAM"}
package/dist/index.cjs CHANGED
@@ -1,24 +1,23 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_registry = require('./block_registry/registry.cjs');
3
- const require_registry_v2_provider = require('./block_registry/registry-v2-provider.cjs');
4
- const require_well_known_registries = require('./block_registry/well_known_registries.cjs');
5
- require('./block_registry/index.cjs');
6
- const require_project_model = require('./model/project_model.cjs');
7
- const require_project_list = require('./middle_layer/project_list.cjs');
8
- const require_render_template = require('./mutator/template/render_template.cjs');
9
- const require_template_loading = require('./mutator/template/template_loading.cjs');
10
- const require_block_pack_spec = require('./model/block_pack_spec.cjs');
11
- const require_project = require('./mutator/project.cjs');
12
- const require_data = require('./pool/data.cjs');
13
- const require_p_object_collection = require('./pool/p_object_collection.cjs');
14
- const require_template_cache = require('./mutator/template/template_cache.cjs');
15
- const require_project$1 = require('./middle_layer/project.cjs');
16
- const require_ops = require('./middle_layer/ops.cjs');
17
- const require_driver_kit = require('./middle_layer/driver_kit.cjs');
18
- const require_middle_layer = require('./middle_layer/middle_layer.cjs');
19
- require('./middle_layer/index.cjs');
20
- const require_network_check = require('./network_check/network_check.cjs');
21
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_registry = require("./block_registry/registry.cjs");
3
+ const require_registry_v2_provider = require("./block_registry/registry-v2-provider.cjs");
4
+ const require_well_known_registries = require("./block_registry/well_known_registries.cjs");
5
+ require("./block_registry/index.cjs");
6
+ const require_project_model = require("./model/project_model.cjs");
7
+ const require_project_list = require("./middle_layer/project_list.cjs");
8
+ const require_render_template = require("./mutator/template/render_template.cjs");
9
+ const require_template_loading = require("./mutator/template/template_loading.cjs");
10
+ const require_block_pack_spec = require("./model/block_pack_spec.cjs");
11
+ const require_project = require("./mutator/project.cjs");
12
+ const require_data = require("./pool/data.cjs");
13
+ const require_p_object_collection = require("./pool/p_object_collection.cjs");
14
+ const require_template_cache = require("./mutator/template/template_cache.cjs");
15
+ const require_project$1 = require("./middle_layer/project.cjs");
16
+ const require_ops = require("./middle_layer/ops.cjs");
17
+ const require_driver_kit = require("./middle_layer/driver_kit.cjs");
18
+ const require_middle_layer = require("./middle_layer/middle_layer.cjs");
19
+ require("./middle_layer/index.cjs");
20
+ const require_network_check = require("./network_check/network_check.cjs");
22
21
  exports.ACCESS_COUNT_KEY = require_template_cache.ACCESS_COUNT_KEY;
23
22
  exports.ACCESS_KEY_PREFIX = require_template_cache.ACCESS_KEY_PREFIX;
24
23
  exports.BlockArgsAuthorKeyPrefix = require_project_model.BlockArgsAuthorKeyPrefix;
@@ -76,33 +75,38 @@ exports.parseFinalPObjectCollection = require_p_object_collection.parseFinalPObj
76
75
  exports.prepareTemplateSpec = require_template_loading.prepareTemplateSpec;
77
76
  exports.runGc = require_template_cache.runGc;
78
77
  var _platforma_sdk_model = require("@platforma-sdk/model");
79
- Object.keys(_platforma_sdk_model).forEach(function (k) {
80
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
81
- enumerable: true,
82
- get: function () { return _platforma_sdk_model[k]; }
83
- });
78
+ Object.keys(_platforma_sdk_model).forEach(function(k) {
79
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
80
+ enumerable: true,
81
+ get: function() {
82
+ return _platforma_sdk_model[k];
83
+ }
84
+ });
84
85
  });
85
-
86
86
  var _milaboratories_pl_model_middle_layer = require("@milaboratories/pl-model-middle-layer");
87
- Object.keys(_milaboratories_pl_model_middle_layer).forEach(function (k) {
88
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
89
- enumerable: true,
90
- get: function () { return _milaboratories_pl_model_middle_layer[k]; }
91
- });
87
+ Object.keys(_milaboratories_pl_model_middle_layer).forEach(function(k) {
88
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
89
+ enumerable: true,
90
+ get: function() {
91
+ return _milaboratories_pl_model_middle_layer[k];
92
+ }
93
+ });
92
94
  });
93
-
94
95
  var _milaboratories_pl_deployments = require("@milaboratories/pl-deployments");
95
- Object.keys(_milaboratories_pl_deployments).forEach(function (k) {
96
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
97
- enumerable: true,
98
- get: function () { return _milaboratories_pl_deployments[k]; }
99
- });
96
+ Object.keys(_milaboratories_pl_deployments).forEach(function(k) {
97
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
98
+ enumerable: true,
99
+ get: function() {
100
+ return _milaboratories_pl_deployments[k];
101
+ }
102
+ });
100
103
  });
101
-
102
104
  var _milaboratories_pl_client = require("@milaboratories/pl-client");
103
- Object.keys(_milaboratories_pl_client).forEach(function (k) {
104
- if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
105
- enumerable: true,
106
- get: function () { return _milaboratories_pl_client[k]; }
107
- });
105
+ Object.keys(_milaboratories_pl_client).forEach(function(k) {
106
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
107
+ enumerable: true,
108
+ get: function() {
109
+ return _milaboratories_pl_client[k];
110
+ }
111
+ });
108
112
  });
package/dist/index.d.ts CHANGED
@@ -1,17 +1,14 @@
1
1
  import { V2RegistryProvider } from "./block_registry/registry-v2-provider.js";
2
2
  import { BlockPackRegistry, getDevV1PacketMtime, getDevV2PacketMtime } from "./block_registry/registry.js";
3
3
  import { CentralBlockRegistry, V1CentralDevSnapshotRegistry, V1CentralRegistry } from "./block_registry/well_known_registries.js";
4
- import "./block_registry/index.js";
5
4
  import { CachedTemplate, ExplicitTemplate, PreparedTemplate, TemplateFromFile, TemplateFromRegistry, TemplateSpecAny, TemplateSpecPrepared } from "./model/template_spec.js";
6
5
  import { BlockPackExplicit, BlockPackSpecAny, BlockPackSpecPrepared, FrontendFromFolder, FrontendFromFolderData, FrontendFromFolderResourceType, FrontendFromUrl, FrontendFromUrlData, FrontendFromUrlResourceType, FrontendSpec } from "./model/block_pack_spec.js";
7
6
  import { BlockArgsAuthorKeyPrefix, ProjectCreatedTimestamp, ProjectField, ProjectLastModifiedTimestamp, ProjectListEntry, ProjectMetaKey, ProjectResourceType, ProjectStructureAuthorKey, ProjectStructureKey, SchemaVersionCurrent, SchemaVersionKey } from "./model/project_model.js";
8
- import "./model/index.js";
9
7
  import { Project } from "./middle_layer/project.js";
10
8
  import { DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings, DefaultMiddleLayerOpsPaths, DefaultMiddleLayerOpsSettings, DriverKitOps, DriverKitOpsConstructor, DriverKitOpsPaths, DriverKitOpsSettings, MiddleLayerDebugOptions, MiddleLayerOps, MiddleLayerOpsConstructor, MiddleLayerOpsPaths, MiddleLayerOpsSettings } from "./middle_layer/ops.js";
11
9
  import { MiddleLayerDriverKit, initDriverKit } from "./middle_layer/driver_kit.js";
12
10
  import { MiddleLayer } from "./middle_layer/middle_layer.js";
13
11
  import { ProjectsField } from "./middle_layer/project_list.js";
14
- import "./middle_layer/index.js";
15
12
  import { CheckNetworkOpts, checkNetwork, initNetworkCheck } from "./network_check/network_check.js";
16
13
  import { TengoTemplateGet, TengoTemplateGetRegistry, TengoTemplateGetTemplate, TengoTemplateGetTemplateURI, TengoTemplatePack, TengoTemplatePackConvert, TengoTemplatePackConvertTemplate, TengoTemplatePackConvertTemplatePack, loadTemplate, prepareTemplateSpec } from "./mutator/template/template_loading.js";
17
14
  import { ACCESS_COUNT_KEY, ACCESS_KEY_PREFIX, GC_ACCESS_THRESHOLD, GC_MAX_ENTRIES, TemplateCacheFieldName, TemplateCacheStat, TemplateCacheType, cacheBlockPackTemplate, dropTemplateCache, flattenTemplateTree, getOrCreateTemplateCache, invalidateTemplateCacheId, loadTemplateCached, runGc } from "./mutator/template/template_cache.js";
package/dist/index.js CHANGED
@@ -17,13 +17,8 @@ import { initDriverKit } from "./middle_layer/driver_kit.js";
17
17
  import { MiddleLayer } from "./middle_layer/middle_layer.js";
18
18
  import "./middle_layer/index.js";
19
19
  import { checkNetwork, initNetworkCheck } from "./network_check/network_check.js";
20
-
21
- export * from "@platforma-sdk/model"
22
-
23
- export * from "@milaboratories/pl-model-middle-layer"
24
-
25
- export * from "@milaboratories/pl-deployments"
26
-
27
- export * from "@milaboratories/pl-client"
28
-
29
- export { ACCESS_COUNT_KEY, ACCESS_KEY_PREFIX, BlockArgsAuthorKeyPrefix, BlockPackRegistry, CentralBlockRegistry, DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings, DefaultMiddleLayerOpsPaths, DefaultMiddleLayerOpsSettings, FrontendFromFolderResourceType, FrontendFromUrlResourceType, GC_ACCESS_THRESHOLD, GC_MAX_ENTRIES, MiddleLayer, Project, ProjectCreatedTimestamp, ProjectLastModifiedTimestamp, ProjectMetaKey, ProjectResourceType, ProjectStructureAuthorKey, ProjectStructureKey, ProjectsField, SchemaVersionCurrent, SchemaVersionKey, TemplateCacheFieldName, TemplateCacheType, TengoTemplateGet, TengoTemplateGetRegistry, TengoTemplateGetTemplate, TengoTemplateGetTemplateURI, TengoTemplatePack, TengoTemplatePackConvert, TengoTemplatePackConvertTemplate, TengoTemplatePackConvertTemplatePack, V1CentralDevSnapshotRegistry, V1CentralRegistry, V2RegistryProvider, cacheBlockPackTemplate, checkNetwork, createRenderTemplate, deriveGlobalPObjectId, deriveLocalPObjectId, dropTemplateCache, duplicateProject, flattenTemplateTree, getDevV1PacketMtime, getDevV2PacketMtime, getOrCreateTemplateCache, initDriverKit, initNetworkCheck, invalidateTemplateCacheId, loadTemplate, loadTemplateCached, parseFinalPObjectCollection, prepareTemplateSpec, runGc };
20
+ export * from "@platforma-sdk/model";
21
+ export * from "@milaboratories/pl-model-middle-layer";
22
+ export * from "@milaboratories/pl-deployments";
23
+ export * from "@milaboratories/pl-client";
24
+ export { ACCESS_COUNT_KEY, ACCESS_KEY_PREFIX, BlockArgsAuthorKeyPrefix, BlockPackRegistry, CentralBlockRegistry, DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings, DefaultMiddleLayerOpsPaths, DefaultMiddleLayerOpsSettings, FrontendFromFolderResourceType, FrontendFromUrlResourceType, GC_ACCESS_THRESHOLD, GC_MAX_ENTRIES, MiddleLayer, Project, ProjectCreatedTimestamp, ProjectLastModifiedTimestamp, ProjectMetaKey, ProjectResourceType, ProjectStructureAuthorKey, ProjectStructureKey, ProjectsField, SchemaVersionCurrent, SchemaVersionKey, TemplateCacheFieldName, TemplateCacheType, TengoTemplateGet, TengoTemplateGetRegistry, TengoTemplateGetTemplate, TengoTemplateGetTemplateURI, TengoTemplatePack, TengoTemplatePackConvert, TengoTemplatePackConvertTemplate, TengoTemplatePackConvertTemplatePack, V1CentralDevSnapshotRegistry, V1CentralRegistry, V2RegistryProvider, cacheBlockPackTemplate, checkNetwork, createRenderTemplate, deriveGlobalPObjectId, deriveLocalPObjectId, dropTemplateCache, duplicateProject, flattenTemplateTree, getDevV1PacketMtime, getDevV2PacketMtime, getOrCreateTemplateCache, initDriverKit, initNetworkCheck, invalidateTemplateCacheId, loadTemplate, loadTemplateCached, parseFinalPObjectCollection, prepareTemplateSpec, runGc };
@@ -1,14 +1,13 @@
1
- const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
- const require_usingCtx = require('../_virtual/_@oxc-project_runtime@0.114.0/helpers/usingCtx.cjs');
3
- const require_p_object_collection = require('../pool/p_object_collection.cjs');
4
- const require_service_injectors = require('./service_injectors.cjs');
1
+ require("../_virtual/_rolldown/runtime.cjs");
2
+ const require_usingCtx = require("../_virtual/_@oxc-project_runtime@0.123.0/helpers/usingCtx.cjs");
3
+ const require_p_object_collection = require("../pool/p_object_collection.cjs");
4
+ const require_service_injectors = require("./service_injectors.cjs");
5
5
  let _platforma_sdk_model = require("@platforma-sdk/model");
6
6
  let _milaboratories_ts_helpers = require("@milaboratories/ts-helpers");
7
7
  let _milaboratories_computable = require("@milaboratories/computable");
8
8
  let node_crypto = require("node:crypto");
9
9
  let quickjs_emscripten = require("quickjs-emscripten");
10
10
  let _milaboratories_pl_model_common = require("@milaboratories/pl-model-common");
11
-
12
11
  //#region src/js_render/computable_context.ts
13
12
  function bytesToBase64(data) {
14
13
  return data !== void 0 ? Buffer.from(data).toString("base64") : void 0;
@@ -495,7 +494,7 @@ var ComputableContextHelper = class {
495
494
  });
496
495
  }
497
496
  };
498
-
499
497
  //#endregion
500
498
  exports.ComputableContextHelper = ComputableContextHelper;
499
+
501
500
  //# sourceMappingURL=computable_context.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"computable_context.cjs","names":["parseFinalPObjectCollection","Computable","PoolEntryGuard","getServiceInjectors","Services","ServiceInjectionError","ServiceMethodNotFoundError"],"sources":["../../src/js_render/computable_context.ts"],"sourcesContent":["import type { ComputableCtx } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { PlTreeNodeAccessor } from \"@milaboratories/pl-tree\";\nimport { checkBlockFlag } from \"@platforma-sdk/model\";\nimport type {\n ArchiveFormat,\n CommonFieldTraverseOps as CommonFieldTraverseOpsFromSDK,\n DataInfo,\n FieldTraversalStep as FieldTraversalStepFromSDK,\n Option,\n PColumn,\n PColumnValues,\n PFrameDef,\n PFrameHandle,\n PObject,\n PObjectSpec,\n PSpecPredicate,\n PTableDef,\n PTableDefV2,\n PTableHandle,\n ResourceType as ResourceTypeFromSDK,\n ResultCollection,\n ValueOrError,\n RangeBytes,\n BlockCodeKnownFeatureFlags,\n JsRenderInternal,\n} from \"@platforma-sdk/model\";\nimport {\n isDataInfo,\n mapDataInfo,\n mapPObjectData,\n mapPTableDef,\n mapPTableDefV2,\n mapValueInVOE,\n} from \"@platforma-sdk/model\";\nimport { notEmpty } from \"@milaboratories/ts-helpers\";\nimport { PoolEntryGuard } from \"@milaboratories/pl-model-common\";\nimport { randomUUID } from \"node:crypto\";\nimport type { Optional } from \"utility-types\";\nimport type { BlockContextAny } from \"../middle_layer/block_ctx\";\nimport type { MiddleLayerEnvironment } from \"../middle_layer/middle_layer\";\nimport type { Block } from \"../model/project_model\";\nimport { parseFinalPObjectCollection } from \"../pool/p_object_collection\";\nimport type { ResultPool } from \"../pool/result_pool\";\nimport type { JsExecutionContext } from \"./context\";\nimport type { VmFunctionImplementation } from \"quickjs-emscripten\";\nimport { Scope, type QuickJSHandle } from \"quickjs-emscripten\";\nimport {\n resolveRequiredServices,\n serviceFnKey,\n Services,\n ModelServiceRegistry,\n ServiceInjectionError,\n ServiceMethodNotFoundError,\n} from \"@milaboratories/pl-model-common\";\nimport { getServiceInjectors } from \"./service_injectors\";\n\nfunction bytesToBase64(data: Uint8Array | undefined): string | undefined {\n return data !== undefined ? Buffer.from(data).toString(\"base64\") : undefined;\n}\n\nexport class ComputableContextHelper implements JsRenderInternal.GlobalCfgRenderCtxMethods<\n string,\n string\n> {\n public readonly computablesToResolve: Record<string, Computable<unknown>> = {};\n\n private computableCtx: ComputableCtx | undefined;\n private readonly accessors = new Map<string, PlTreeNodeAccessor | undefined>();\n private _meta: Map<string, Block> | undefined;\n private get meta(): Map<string, Block> {\n if (this._meta === undefined) {\n this._meta = this.blockCtx.blockMeta(this.requireComputableCtx);\n }\n return this._meta;\n }\n\n public get serviceRegistry(): ModelServiceRegistry {\n return this.env.serviceRegistry;\n }\n\n constructor(\n private readonly parent: JsExecutionContext,\n private readonly blockCtx: BlockContextAny,\n private readonly env: MiddleLayerEnvironment,\n private readonly featureFlags: BlockCodeKnownFeatureFlags | undefined,\n computableCtx: ComputableCtx,\n ) {\n this.computableCtx = computableCtx;\n }\n\n public resetComputableCtx() {\n this.computableCtx = undefined;\n this.accessors.clear();\n }\n\n private get requireComputableCtx(): ComputableCtx {\n if (this.computableCtx === undefined)\n throw new Error(\"computableCtx not available (called from future mapper?)\");\n return this.computableCtx;\n }\n\n public addOnDestroy(callback: () => void): void {\n this.requireComputableCtx.addOnDestroy(callback);\n }\n\n //\n // Methods for injected ctx object\n //\n\n getAccessorHandleByName(name: string): string | undefined {\n const cCtx = this.requireComputableCtx;\n const wellKnownAccessor = (name: string, ctxKey: \"staging\" | \"prod\"): string | undefined => {\n if (!this.accessors.has(name)) {\n const lambda = this.blockCtx[ctxKey];\n if (lambda === undefined) throw new Error(\"Staging context not available\");\n const entry = lambda(cCtx);\n if (!entry) this.accessors.set(name, undefined);\n else this.accessors.set(name, cCtx.accessor(entry).node({ ignoreError: true }));\n }\n return this.accessors.get(name) ? name : undefined;\n };\n if (name === \"staging\") return wellKnownAccessor(\"staging\", \"staging\");\n else if (name === \"main\") return wellKnownAccessor(\"main\", \"prod\");\n return undefined;\n }\n\n //\n // Accessors\n //\n\n resolveWithCommon(\n handle: string,\n commonOptions: CommonFieldTraverseOpsFromSDK,\n ...steps: (FieldTraversalStepFromSDK | string)[]\n ): string | undefined {\n return this.wrapAccessor(this.getAccessor(handle).traverseWithCommon(commonOptions, ...steps));\n }\n\n getResourceType(handle: string): ResourceTypeFromSDK {\n return this.getAccessor(handle).resourceType;\n }\n\n getInputsLocked(handle: string): boolean {\n return this.getAccessor(handle).getInputsLocked();\n }\n\n getOutputsLocked(handle: string): boolean {\n return this.getAccessor(handle).getOutputsLocked();\n }\n\n getIsReadyOrError(handle: string): boolean {\n return this.getAccessor(handle).getIsReadyOrError();\n }\n\n getIsFinal(handle: string): boolean {\n return this.getAccessor(handle).getIsFinal();\n }\n\n getError(handle: string): string | undefined {\n return this.wrapAccessor(this.getAccessor(handle).getError());\n }\n\n listInputFields(handle: string): string[] {\n return this.getAccessor(handle).listInputFields();\n }\n\n listOutputFields(handle: string): string[] {\n return this.getAccessor(handle).listOutputFields();\n }\n\n listDynamicFields(handle: string): string[] {\n return this.getAccessor(handle).listDynamicFields();\n }\n\n getKeyValueBase64(handle: string, key: string): string | undefined {\n return bytesToBase64(this.getAccessor(handle).getKeyValue(key));\n }\n\n getKeyValueAsString(handle: string, key: string): string | undefined {\n return this.getAccessor(handle).getKeyValueAsString(key);\n }\n\n getDataBase64(handle: string): string | undefined {\n return bytesToBase64(this.getAccessor(handle).getData());\n }\n\n getDataAsString(handle: string): string | undefined {\n return this.getAccessor(handle).getDataAsString();\n }\n\n //\n // Accessor helpers\n //\n\n parsePObjectCollection(\n handle: string,\n errorOnUnknownField: boolean,\n prefix: string,\n ...resolveSteps: string[]\n ): Record<string, PObject<string>> | undefined {\n const acc = this.getAccessor(handle);\n if (!acc.getIsReadyOrError()) return undefined;\n const accResult = parseFinalPObjectCollection(acc, errorOnUnknownField, prefix, resolveSteps);\n const result: Record<string, PObject<string>> = {};\n for (const [key, obj] of Object.entries(accResult)) {\n result[key] = mapPObjectData(obj, (d) => this.wrapAccessor(d));\n }\n return result;\n }\n\n //\n // Blobs\n //\n\n private registerComputable(hPrefix: string, computable: Computable<unknown>): string {\n const fHandle = `${hPrefix}_${randomUUID()}`;\n this.computablesToResolve[fHandle] = computable;\n return fHandle;\n }\n\n public getBlobContentAsString(handle: string, range?: RangeBytes): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n \"getBlobContentAsString\",\n Computable.make((ctx) => this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return Buffer.from(\n await this.env.driverKit.blobDriver.getContent(value.handle, range),\n ).toString(\"utf-8\");\n },\n }),\n );\n }\n\n public getBlobContentAsBase64(handle: string, range?: RangeBytes): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n \"getBlobContentAsBase64\",\n Computable.make((ctx) => this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return Buffer.from(\n await this.env.driverKit.blobDriver.getContent(value.handle, range),\n ).toString(\"base64\");\n },\n }),\n );\n }\n\n public getDownloadedBlobContentHandle(handle: string): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n \"getDownloadedBlobContentHandle\",\n this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo),\n );\n }\n\n public getOnDemandBlobContentHandle(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getOnDemandBlobContentHandle\",\n this.env.driverKit.blobDriver.getOnDemandBlob(resource),\n );\n }\n\n //\n // Blobs to URLs\n //\n\n public extractArchiveAndGetURL(handle: string, format: ArchiveFormat): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"extractArchiveAndGetURL\",\n this.env.driverKit.blobToURLDriver.extractArchiveAndGetURL(resource, format),\n );\n }\n\n //\n // Import progress\n //\n\n getImportProgress(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getImportProgress\",\n this.env.driverKit.uploadDriver.getProgressId(resource),\n );\n }\n\n //\n // Logs\n //\n\n getLastLogs(handle: string, nLines: number): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getLastLogs\",\n this.env.driverKit.logDriver.getLastLogs(resource, nLines),\n );\n }\n\n getProgressLog(handle: string, patternToSearch: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getProgressLog\",\n this.env.driverKit.logDriver.getProgressLog(resource, patternToSearch),\n );\n }\n\n getProgressLogWithInfo(handle: string, patternToSearch: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getProgressLogWithInfo\",\n this.env.driverKit.logDriver.getProgressLogWithInfo(resource, patternToSearch),\n );\n }\n\n getLogHandle(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getLogHandle\",\n this.env.driverKit.logDriver.getLogHandle(resource),\n );\n }\n\n //\n // Blocks\n //\n\n public getBlockLabel(blockId: string): string {\n const b = this.meta.get(blockId);\n if (b === undefined) throw new Error(`Block ${blockId} not found.`);\n return b.label;\n }\n\n //\n // Result Pool\n //\n\n private _resultPool: ResultPool | undefined = undefined;\n private get resultPool(): ResultPool {\n if (this._resultPool === undefined) {\n this._resultPool = notEmpty(\n this.blockCtx.getResultsPool,\n \"getResultsPool\",\n )(this.requireComputableCtx);\n }\n return this._resultPool;\n }\n\n public calculateOptions(predicate: PSpecPredicate): Option[] {\n return this.resultPool.calculateOptions(predicate);\n }\n\n public getDataFromResultPool(): ResultCollection<PObject<string>> {\n const collection = this.resultPool.getData();\n if (collection.instabilityMarker !== undefined)\n this.requireComputableCtx.markUnstable(\n `incomplete_result_pool:${collection.instabilityMarker}`,\n );\n return {\n isComplete: collection.isComplete,\n entries: collection.entries.map((e) => ({\n ref: e.ref,\n obj: mapPObjectData(e.obj, (d) => this.wrapAccessor(d)),\n })),\n };\n }\n\n public getDataWithErrorsFromResultPool(): ResultCollection<\n Optional<PObject<ValueOrError<string, Error>>, \"id\">\n > {\n const collection = this.resultPool.getDataWithErrors();\n if (collection.instabilityMarker !== undefined)\n this.requireComputableCtx.markUnstable(\n `incomplete_result_pool:${collection.instabilityMarker}`,\n );\n return {\n isComplete: collection.isComplete,\n entries: collection.entries.map((e) => ({\n ref: e.ref,\n obj: {\n id: e.obj.id,\n spec: e.obj.spec,\n data: mapValueInVOE(e.obj.data, (d) => this.wrapAccessor(d)),\n },\n })),\n };\n }\n\n public getSpecsFromResultPool(): ResultCollection<PObjectSpec> {\n const specs = this.resultPool.getSpecs();\n if (specs.instabilityMarker !== undefined)\n this.requireComputableCtx.markUnstable(\n `specs_from_pool_incomplete:${specs.instabilityMarker}`,\n );\n return specs;\n }\n\n getSpecFromResultPoolByRef(blockId: string, exportName: string): PObjectSpec | undefined {\n return this.resultPool.getSpecByRef(blockId, exportName);\n }\n\n getDataFromResultPoolByRef(blockId: string, exportName: string): PObject<string> | undefined {\n return mapPObjectData(this.resultPool.getDataByRef(blockId, exportName), (acc) =>\n this.wrapAccessor(acc),\n );\n }\n\n //\n // PFrames / PTables\n //\n\n public createPFrame(\n def: PFrameDef<PColumn<string | PColumnValues | DataInfo<string>>>,\n ): PFrameHandle {\n using guard = new PoolEntryGuard(\n this.env.driverKit.pFrameDriver.createPFrame(\n def.map((c) => mapPObjectData(c, (d) => this.transformInputPData(d))),\n ),\n );\n this.requireComputableCtx.addOnDestroy(guard.entry.unref);\n return guard.keep().key;\n }\n\n public createPTable(\n def: PTableDef<PColumn<string | PColumnValues | DataInfo<string>>>,\n ): PTableHandle {\n using guard = new PoolEntryGuard(\n this.env.driverKit.pFrameDriver.createPTable(\n mapPTableDef(def, (c) => mapPObjectData(c, (d) => this.transformInputPData(d))),\n ),\n );\n this.requireComputableCtx.addOnDestroy(guard.entry.unref);\n return guard.keep().key;\n }\n\n public createPTableV2(\n def: PTableDefV2<PColumn<string | PColumnValues | DataInfo<string>>>,\n ): PTableHandle {\n using guard = new PoolEntryGuard(\n this.env.driverKit.pFrameDriver.createPTableV2(\n mapPTableDefV2(def, (c) => mapPObjectData(c, (d) => this.transformInputPData(d))),\n ),\n );\n this.requireComputableCtx.addOnDestroy(guard.entry.unref);\n return guard.keep().key;\n }\n\n /**\n * Transforms input data for PFrame/PTable creation\n * - Converts string handles to accessors\n * - Maps accessors in DataInfo objects\n * - Passes through other values\n */\n private transformInputPData(\n d: string | PColumnValues | DataInfo<string>,\n ): PlTreeNodeAccessor | PColumnValues | DataInfo<PlTreeNodeAccessor> {\n if (typeof d === \"string\") {\n return this.getAccessor(d);\n } else if (isDataInfo(d)) {\n return mapDataInfo(d, (a) => this.getAccessor(a));\n } else {\n return d;\n }\n }\n\n //\n // Computable\n //\n\n public getCurrentUnstableMarker(): string | undefined {\n return this.computableCtx?.unstableMarker;\n }\n\n //\n // Logging\n //\n\n public logInfo(message: string): void {\n this.env.blockEventDispatcher.logInfo(this.blockCtx.blockId, message);\n }\n\n public logWarn(message: string): void {\n this.env.blockEventDispatcher.logWarn(this.blockCtx.blockId, message);\n }\n\n public logError(message: string): void {\n this.env.blockEventDispatcher.logError(this.blockCtx.blockId, message);\n }\n\n //\n // Helpers\n //\n\n private getAccessor(handle: string): PlTreeNodeAccessor {\n const accessor = this.accessors.get(handle);\n if (accessor === undefined) throw new Error(\"No such accessor\");\n return accessor;\n }\n\n private wrapAccessor(accessor: PlTreeNodeAccessor): string;\n private wrapAccessor(accessor: PlTreeNodeAccessor | undefined): string | undefined;\n private wrapAccessor(accessor: PlTreeNodeAccessor | undefined): string | undefined {\n if (accessor === undefined) return undefined;\n else {\n const nextHandle = randomUUID();\n this.accessors.set(nextHandle, accessor);\n return nextHandle;\n }\n }\n\n public injectCtx(configCtx: QuickJSHandle): void {\n const parent = this.parent;\n const vm = parent.vm;\n\n Scope.withScope((localScope) => {\n // Exporting methods\n\n const exportCtxFunction = (\n name: string,\n fn: VmFunctionImplementation<QuickJSHandle>,\n ): void => {\n const withCachedError: VmFunctionImplementation<QuickJSHandle> = (...args) => {\n // QuickJS strips all fields from errors apart from 'name' and 'message'.\n // That's why here we need to store them, and rethrow them when we exit\n // from QuickJS code.\n const t0 = performance.now();\n try {\n return (fn as any)(...args);\n } catch (e: unknown) {\n const newErr = parent.errorRepo.setAndRecreateForQuickJS(e);\n throw vm.newError(newErr);\n } finally {\n parent.stats.ctxMethodCalls++;\n parent.stats.ctxMethodMs += performance.now() - t0;\n }\n };\n\n vm.newFunction(name, withCachedError).consume((fnh) => vm.setProp(configCtx, name, fnh));\n vm.newFunction(name, fn).consume((fnh) =>\n vm.setProp(configCtx, name + \"__internal__\", fnh),\n );\n };\n\n // Check if this is a v1/v2 block (requiresModelAPIVersion !== 2)\n // For v1/v2 blocks, state is {args, uiState} and we need to inject uiState separately\n const isLegacyBlock = !checkBlockFlag(this.featureFlags, \"requiresModelAPIVersion\", 2);\n\n // Helper to extract uiState from legacy state format {args, uiState}\n const extractUiState = (stateJson: string | undefined): string => {\n if (!stateJson) return \"{}\";\n try {\n const parsed = JSON.parse(stateJson);\n return JSON.stringify(parsed?.uiState ?? {});\n } catch {\n return \"{}\";\n }\n };\n\n if (checkBlockFlag(this.featureFlags, \"supportsLazyState\")) {\n // injecting lazy state functions\n exportCtxFunction(\"args\", () => {\n const cCtx = this.requireComputableCtx;\n const args = this.blockCtx.args(cCtx);\n return args === undefined ? vm.undefined : vm.newString(args);\n });\n exportCtxFunction(\"blockStorage\", () => {\n return vm.newString(this.blockCtx.blockStorage(this.requireComputableCtx) ?? \"{}\");\n });\n exportCtxFunction(\"data\", () => {\n return vm.newString(this.blockCtx.data(this.requireComputableCtx) ?? \"{}\");\n });\n exportCtxFunction(\"activeArgs\", () => {\n const cCtx = this.requireComputableCtx;\n const res = this.blockCtx.activeArgs(cCtx);\n return res === undefined ? vm.undefined : vm.newString(res);\n });\n // For v1/v2 blocks, also inject uiState (extracted from state.uiState)\n if (isLegacyBlock) {\n exportCtxFunction(\"uiState\", () => {\n return vm.newString(extractUiState(this.blockCtx.data(this.requireComputableCtx)));\n });\n }\n } else {\n const cCtx = this.requireComputableCtx;\n const args = this.blockCtx.args(cCtx);\n const activeArgs = this.blockCtx.activeArgs(cCtx);\n const data = this.blockCtx.data(cCtx);\n if (args !== undefined) {\n vm.setProp(configCtx, \"args\", localScope.manage(vm.newString(args)));\n }\n vm.setProp(configCtx, \"data\", localScope.manage(vm.newString(data ?? \"{}\")));\n if (activeArgs !== undefined)\n vm.setProp(configCtx, \"activeArgs\", localScope.manage(vm.newString(activeArgs)));\n // For v1/v2 blocks, also inject uiState (extracted from state.uiState)\n if (isLegacyBlock) {\n vm.setProp(configCtx, \"uiState\", localScope.manage(vm.newString(extractUiState(data))));\n }\n }\n\n //\n // Methods for injected ctx object\n //\n\n exportCtxFunction(\"getAccessorHandleByName\", (name) => {\n return parent.exportSingleValue(\n this.getAccessorHandleByName(vm.getString(name)),\n undefined,\n );\n });\n\n //\n // Accessors\n //\n\n exportCtxFunction(\"resolveWithCommon\", (handle, commonOptions, ...steps) => {\n return parent.exportSingleValue(\n this.resolveWithCommon(\n vm.getString(handle),\n parent.importObjectViaJson(commonOptions) as CommonFieldTraverseOpsFromSDK,\n ...steps.map(\n (step) => parent.importObjectViaJson(step) as FieldTraversalStepFromSDK | string,\n ),\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"getResourceType\", (handle) => {\n return parent.exportObjectViaJson(this.getResourceType(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getInputsLocked\", (handle) => {\n return parent.exportSingleValue(this.getInputsLocked(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getOutputsLocked\", (handle) => {\n return parent.exportSingleValue(this.getOutputsLocked(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getIsReadyOrError\", (handle) => {\n return parent.exportSingleValue(this.getIsReadyOrError(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getIsFinal\", (handle) => {\n return parent.exportSingleValue(this.getIsFinal(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getError\", (handle) => {\n return parent.exportSingleValue(this.getError(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"listInputFields\", (handle) => {\n return parent.exportObjectViaJson(this.listInputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"listOutputFields\", (handle) => {\n return parent.exportObjectViaJson(this.listOutputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"listDynamicFields\", (handle) => {\n return parent.exportObjectViaJson(this.listDynamicFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getKeyValueBase64\", (handle, key) => {\n return parent.exportSingleValue(\n this.getKeyValueBase64(vm.getString(handle), vm.getString(key)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getKeyValueAsString\", (handle, key) => {\n return parent.exportSingleValue(\n this.getKeyValueAsString(vm.getString(handle), vm.getString(key)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getDataBase64\", (handle) => {\n return parent.exportSingleValue(this.getDataBase64(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getDataAsString\", (handle) => {\n return parent.exportSingleValue(this.getDataAsString(vm.getString(handle)), undefined);\n });\n\n //\n // Accessor helpers\n //\n\n exportCtxFunction(\n \"parsePObjectCollection\",\n (handle, errorOnUnknownField, prefix, ...resolveSteps) => {\n return parent.exportObjectUniversal(\n this.parsePObjectCollection(\n vm.getString(handle),\n vm.dump(errorOnUnknownField) as boolean,\n vm.getString(prefix),\n ...resolveSteps.map((stepHandle) => vm.getString(stepHandle)),\n ),\n undefined,\n );\n },\n );\n\n //\n // Blobs\n //\n\n exportCtxFunction(\"getBlobContentAsBase64\", (handle, range) => {\n return parent.exportSingleValue(\n this.getBlobContentAsBase64(\n vm.getString(handle),\n parent.importObjectUniversal(range) as RangeBytes | undefined,\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"getBlobContentAsString\", (handle, range) => {\n return parent.exportSingleValue(\n this.getBlobContentAsString(\n vm.getString(handle),\n parent.importObjectUniversal(range) as RangeBytes | undefined,\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"getDownloadedBlobContentHandle\", (handle) => {\n return parent.exportSingleValue(\n this.getDownloadedBlobContentHandle(vm.getString(handle)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getOnDemandBlobContentHandle\", (handle) => {\n return parent.exportSingleValue(\n this.getOnDemandBlobContentHandle(vm.getString(handle)),\n undefined,\n );\n });\n\n //\n // Blobs to URLs\n //\n\n exportCtxFunction(\"extractArchiveAndGetURL\", (handle, format) => {\n return parent.exportSingleValue(\n this.extractArchiveAndGetURL(vm.getString(handle), vm.getString(format) as ArchiveFormat),\n undefined,\n );\n });\n\n //\n // ImportProgress\n //\n\n exportCtxFunction(\"getImportProgress\", (handle) => {\n return parent.exportSingleValue(this.getImportProgress(vm.getString(handle)), undefined);\n });\n\n //\n // Logs\n //\n\n exportCtxFunction(\"getLastLogs\", (handle, nLines) => {\n return parent.exportSingleValue(\n this.getLastLogs(vm.getString(handle), vm.getNumber(nLines)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getProgressLog\", (handle, patternToSearch) => {\n return parent.exportSingleValue(\n this.getProgressLog(vm.getString(handle), vm.getString(patternToSearch)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getProgressLogWithInfo\", (handle, patternToSearch) => {\n return parent.exportSingleValue(\n this.getProgressLogWithInfo(vm.getString(handle), vm.getString(patternToSearch)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getLogHandle\", (handle) => {\n return parent.exportSingleValue(this.getLogHandle(vm.getString(handle)), undefined);\n });\n\n //\n // Blocks\n //\n\n exportCtxFunction(\"getBlockLabel\", (blockId) => {\n return parent.exportSingleValue(this.getBlockLabel(vm.getString(blockId)), undefined);\n });\n\n //\n // Result pool\n //\n\n exportCtxFunction(\"getDataFromResultPool\", () => {\n return parent.exportObjectUniversal(this.getDataFromResultPool(), undefined);\n });\n\n exportCtxFunction(\"getDataWithErrorsFromResultPool\", () => {\n return parent.exportObjectUniversal(this.getDataWithErrorsFromResultPool(), undefined);\n });\n\n exportCtxFunction(\"getSpecsFromResultPool\", () => {\n return parent.exportObjectUniversal(this.getSpecsFromResultPool(), undefined);\n });\n\n exportCtxFunction(\"calculateOptions\", (predicate) => {\n return parent.exportObjectUniversal(\n this.calculateOptions(parent.importObjectViaJson(predicate) as PSpecPredicate),\n undefined,\n );\n });\n\n exportCtxFunction(\"getSpecFromResultPoolByRef\", (blockId, exportName) => {\n return parent.exportObjectUniversal(\n this.getSpecFromResultPoolByRef(vm.getString(blockId), vm.getString(exportName)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getDataFromResultPoolByRef\", (blockId, exportName) => {\n return parent.exportObjectUniversal(\n this.getDataFromResultPoolByRef(vm.getString(blockId), vm.getString(exportName)),\n undefined,\n );\n });\n\n exportCtxFunction(\"createPFrame\", (def) => {\n return parent.exportSingleValue(\n this.createPFrame(\n parent.importObjectViaJson(def) as PFrameDef<PColumn<string | PColumnValues>>,\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"createPTable\", (def) => {\n return parent.exportSingleValue(\n this.createPTable(\n parent.importObjectViaJson(def) as PTableDef<PColumn<string | PColumnValues>>,\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"createPTableV2\", (def) => {\n return parent.exportSingleValue(\n this.createPTableV2(\n parent.importObjectViaJson(def) as PTableDefV2<PColumn<string | PColumnValues>>,\n ),\n undefined,\n );\n });\n\n //\n // Services\n //\n\n const requiredServiceNames = new Set(resolveRequiredServices(this.featureFlags) as string[]);\n const serviceFunctions = new Map<string, VmFunctionImplementation<QuickJSHandle>>();\n const injectors = getServiceInjectors();\n\n for (const [key, serviceId] of Object.entries(Services)) {\n if (!requiredServiceNames.has(serviceId)) continue;\n const injector = injectors[key as keyof typeof injectors];\n try {\n const methods = injector({ host: this, vm: parent });\n for (const [method, fn] of Object.entries(methods)) {\n serviceFunctions.set(serviceFnKey(serviceId, method), fn);\n }\n } catch (e) {\n throw new ServiceInjectionError(`Failed to inject service \"${serviceId}\"`, { cause: e });\n }\n }\n\n exportCtxFunction(\"getServiceNames\", () => {\n return parent.exportObjectViaJson([...requiredServiceNames]);\n });\n\n exportCtxFunction(\"getServiceMethods\", (serviceIdHandle) => {\n const serviceId = vm.getString(serviceIdHandle);\n const pfx = serviceFnKey(serviceId);\n const methods = [...serviceFunctions.keys()]\n .filter((k) => k.startsWith(pfx))\n .map((k) => k.slice(pfx.length));\n return parent.exportObjectViaJson(methods, undefined);\n });\n\n exportCtxFunction(\n \"callServiceMethod\",\n function (this: QuickJSHandle, serviceIdHandle, methodHandle, ...argHandles) {\n const serviceId = vm.getString(serviceIdHandle);\n const method = vm.getString(methodHandle);\n const fn = serviceFunctions.get(serviceFnKey(serviceId, method));\n if (!fn)\n throw new ServiceMethodNotFoundError(\n `Method \"${method}\" not found on service \"${serviceId}\"`,\n );\n return fn.call(this, ...argHandles);\n },\n );\n\n //\n // Computable\n //\n\n exportCtxFunction(\"getCurrentUnstableMarker\", () => {\n return parent.exportSingleValue(this.getCurrentUnstableMarker(), undefined);\n });\n\n //\n // Logging\n //\n\n exportCtxFunction(\"logInfo\", (message) => {\n this.logInfo(vm.getString(message));\n });\n\n exportCtxFunction(\"logWarn\", (message) => {\n this.logWarn(vm.getString(message));\n });\n\n exportCtxFunction(\"logError\", (message) => {\n this.logError(vm.getString(message));\n });\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"computable_context.cjs","names":["parseFinalPObjectCollection","Computable","PoolEntryGuard","getServiceInjectors","Services","ServiceInjectionError","ServiceMethodNotFoundError"],"sources":["../../src/js_render/computable_context.ts"],"sourcesContent":["import type { ComputableCtx } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\nimport type { PlTreeNodeAccessor } from \"@milaboratories/pl-tree\";\nimport { checkBlockFlag } from \"@platforma-sdk/model\";\nimport type {\n ArchiveFormat,\n CommonFieldTraverseOps as CommonFieldTraverseOpsFromSDK,\n DataInfo,\n FieldTraversalStep as FieldTraversalStepFromSDK,\n Option,\n PColumn,\n PColumnValues,\n PFrameDef,\n PFrameHandle,\n PObject,\n PObjectSpec,\n PSpecPredicate,\n PTableDef,\n PTableDefV2,\n PTableHandle,\n ResourceType as ResourceTypeFromSDK,\n ResultCollection,\n ValueOrError,\n RangeBytes,\n BlockCodeKnownFeatureFlags,\n JsRenderInternal,\n} from \"@platforma-sdk/model\";\nimport {\n isDataInfo,\n mapDataInfo,\n mapPObjectData,\n mapPTableDef,\n mapPTableDefV2,\n mapValueInVOE,\n} from \"@platforma-sdk/model\";\nimport { notEmpty } from \"@milaboratories/ts-helpers\";\nimport { PoolEntryGuard } from \"@milaboratories/pl-model-common\";\nimport { randomUUID } from \"node:crypto\";\nimport type { Optional } from \"utility-types\";\nimport type { BlockContextAny } from \"../middle_layer/block_ctx\";\nimport type { MiddleLayerEnvironment } from \"../middle_layer/middle_layer\";\nimport type { Block } from \"../model/project_model\";\nimport { parseFinalPObjectCollection } from \"../pool/p_object_collection\";\nimport type { ResultPool } from \"../pool/result_pool\";\nimport type { JsExecutionContext } from \"./context\";\nimport type { VmFunctionImplementation } from \"quickjs-emscripten\";\nimport { Scope, type QuickJSHandle } from \"quickjs-emscripten\";\nimport {\n resolveRequiredServices,\n serviceFnKey,\n Services,\n ModelServiceRegistry,\n ServiceInjectionError,\n ServiceMethodNotFoundError,\n} from \"@milaboratories/pl-model-common\";\nimport { getServiceInjectors } from \"./service_injectors\";\n\nfunction bytesToBase64(data: Uint8Array | undefined): string | undefined {\n return data !== undefined ? Buffer.from(data).toString(\"base64\") : undefined;\n}\n\nexport class ComputableContextHelper implements JsRenderInternal.GlobalCfgRenderCtxMethods<\n string,\n string\n> {\n public readonly computablesToResolve: Record<string, Computable<unknown>> = {};\n\n private computableCtx: ComputableCtx | undefined;\n private readonly accessors = new Map<string, PlTreeNodeAccessor | undefined>();\n private _meta: Map<string, Block> | undefined;\n private get meta(): Map<string, Block> {\n if (this._meta === undefined) {\n this._meta = this.blockCtx.blockMeta(this.requireComputableCtx);\n }\n return this._meta;\n }\n\n public get serviceRegistry(): ModelServiceRegistry {\n return this.env.serviceRegistry;\n }\n\n constructor(\n private readonly parent: JsExecutionContext,\n private readonly blockCtx: BlockContextAny,\n private readonly env: MiddleLayerEnvironment,\n private readonly featureFlags: BlockCodeKnownFeatureFlags | undefined,\n computableCtx: ComputableCtx,\n ) {\n this.computableCtx = computableCtx;\n }\n\n public resetComputableCtx() {\n this.computableCtx = undefined;\n this.accessors.clear();\n }\n\n private get requireComputableCtx(): ComputableCtx {\n if (this.computableCtx === undefined)\n throw new Error(\"computableCtx not available (called from future mapper?)\");\n return this.computableCtx;\n }\n\n public addOnDestroy(callback: () => void): void {\n this.requireComputableCtx.addOnDestroy(callback);\n }\n\n //\n // Methods for injected ctx object\n //\n\n getAccessorHandleByName(name: string): string | undefined {\n const cCtx = this.requireComputableCtx;\n const wellKnownAccessor = (name: string, ctxKey: \"staging\" | \"prod\"): string | undefined => {\n if (!this.accessors.has(name)) {\n const lambda = this.blockCtx[ctxKey];\n if (lambda === undefined) throw new Error(\"Staging context not available\");\n const entry = lambda(cCtx);\n if (!entry) this.accessors.set(name, undefined);\n else this.accessors.set(name, cCtx.accessor(entry).node({ ignoreError: true }));\n }\n return this.accessors.get(name) ? name : undefined;\n };\n if (name === \"staging\") return wellKnownAccessor(\"staging\", \"staging\");\n else if (name === \"main\") return wellKnownAccessor(\"main\", \"prod\");\n return undefined;\n }\n\n //\n // Accessors\n //\n\n resolveWithCommon(\n handle: string,\n commonOptions: CommonFieldTraverseOpsFromSDK,\n ...steps: (FieldTraversalStepFromSDK | string)[]\n ): string | undefined {\n return this.wrapAccessor(this.getAccessor(handle).traverseWithCommon(commonOptions, ...steps));\n }\n\n getResourceType(handle: string): ResourceTypeFromSDK {\n return this.getAccessor(handle).resourceType;\n }\n\n getInputsLocked(handle: string): boolean {\n return this.getAccessor(handle).getInputsLocked();\n }\n\n getOutputsLocked(handle: string): boolean {\n return this.getAccessor(handle).getOutputsLocked();\n }\n\n getIsReadyOrError(handle: string): boolean {\n return this.getAccessor(handle).getIsReadyOrError();\n }\n\n getIsFinal(handle: string): boolean {\n return this.getAccessor(handle).getIsFinal();\n }\n\n getError(handle: string): string | undefined {\n return this.wrapAccessor(this.getAccessor(handle).getError());\n }\n\n listInputFields(handle: string): string[] {\n return this.getAccessor(handle).listInputFields();\n }\n\n listOutputFields(handle: string): string[] {\n return this.getAccessor(handle).listOutputFields();\n }\n\n listDynamicFields(handle: string): string[] {\n return this.getAccessor(handle).listDynamicFields();\n }\n\n getKeyValueBase64(handle: string, key: string): string | undefined {\n return bytesToBase64(this.getAccessor(handle).getKeyValue(key));\n }\n\n getKeyValueAsString(handle: string, key: string): string | undefined {\n return this.getAccessor(handle).getKeyValueAsString(key);\n }\n\n getDataBase64(handle: string): string | undefined {\n return bytesToBase64(this.getAccessor(handle).getData());\n }\n\n getDataAsString(handle: string): string | undefined {\n return this.getAccessor(handle).getDataAsString();\n }\n\n //\n // Accessor helpers\n //\n\n parsePObjectCollection(\n handle: string,\n errorOnUnknownField: boolean,\n prefix: string,\n ...resolveSteps: string[]\n ): Record<string, PObject<string>> | undefined {\n const acc = this.getAccessor(handle);\n if (!acc.getIsReadyOrError()) return undefined;\n const accResult = parseFinalPObjectCollection(acc, errorOnUnknownField, prefix, resolveSteps);\n const result: Record<string, PObject<string>> = {};\n for (const [key, obj] of Object.entries(accResult)) {\n result[key] = mapPObjectData(obj, (d) => this.wrapAccessor(d));\n }\n return result;\n }\n\n //\n // Blobs\n //\n\n private registerComputable(hPrefix: string, computable: Computable<unknown>): string {\n const fHandle = `${hPrefix}_${randomUUID()}`;\n this.computablesToResolve[fHandle] = computable;\n return fHandle;\n }\n\n public getBlobContentAsString(handle: string, range?: RangeBytes): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n \"getBlobContentAsString\",\n Computable.make((ctx) => this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return Buffer.from(\n await this.env.driverKit.blobDriver.getContent(value.handle, range),\n ).toString(\"utf-8\");\n },\n }),\n );\n }\n\n public getBlobContentAsBase64(handle: string, range?: RangeBytes): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n \"getBlobContentAsBase64\",\n Computable.make((ctx) => this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return Buffer.from(\n await this.env.driverKit.blobDriver.getContent(value.handle, range),\n ).toString(\"base64\");\n },\n }),\n );\n }\n\n public getDownloadedBlobContentHandle(handle: string): string {\n const resourceInfo = this.getAccessor(handle).resourceInfo;\n return this.registerComputable(\n \"getDownloadedBlobContentHandle\",\n this.env.driverKit.blobDriver.getDownloadedBlob(resourceInfo),\n );\n }\n\n public getOnDemandBlobContentHandle(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getOnDemandBlobContentHandle\",\n this.env.driverKit.blobDriver.getOnDemandBlob(resource),\n );\n }\n\n //\n // Blobs to URLs\n //\n\n public extractArchiveAndGetURL(handle: string, format: ArchiveFormat): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"extractArchiveAndGetURL\",\n this.env.driverKit.blobToURLDriver.extractArchiveAndGetURL(resource, format),\n );\n }\n\n //\n // Import progress\n //\n\n getImportProgress(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getImportProgress\",\n this.env.driverKit.uploadDriver.getProgressId(resource),\n );\n }\n\n //\n // Logs\n //\n\n getLastLogs(handle: string, nLines: number): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getLastLogs\",\n this.env.driverKit.logDriver.getLastLogs(resource, nLines),\n );\n }\n\n getProgressLog(handle: string, patternToSearch: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getProgressLog\",\n this.env.driverKit.logDriver.getProgressLog(resource, patternToSearch),\n );\n }\n\n getProgressLogWithInfo(handle: string, patternToSearch: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getProgressLogWithInfo\",\n this.env.driverKit.logDriver.getProgressLogWithInfo(resource, patternToSearch),\n );\n }\n\n getLogHandle(handle: string): string {\n const resource = this.getAccessor(handle).persist();\n return this.registerComputable(\n \"getLogHandle\",\n this.env.driverKit.logDriver.getLogHandle(resource),\n );\n }\n\n //\n // Blocks\n //\n\n public getBlockLabel(blockId: string): string {\n const b = this.meta.get(blockId);\n if (b === undefined) throw new Error(`Block ${blockId} not found.`);\n return b.label;\n }\n\n //\n // Result Pool\n //\n\n private _resultPool: ResultPool | undefined = undefined;\n private get resultPool(): ResultPool {\n if (this._resultPool === undefined) {\n this._resultPool = notEmpty(\n this.blockCtx.getResultsPool,\n \"getResultsPool\",\n )(this.requireComputableCtx);\n }\n return this._resultPool;\n }\n\n public calculateOptions(predicate: PSpecPredicate): Option[] {\n return this.resultPool.calculateOptions(predicate);\n }\n\n public getDataFromResultPool(): ResultCollection<PObject<string>> {\n const collection = this.resultPool.getData();\n if (collection.instabilityMarker !== undefined)\n this.requireComputableCtx.markUnstable(\n `incomplete_result_pool:${collection.instabilityMarker}`,\n );\n return {\n isComplete: collection.isComplete,\n entries: collection.entries.map((e) => ({\n ref: e.ref,\n obj: mapPObjectData(e.obj, (d) => this.wrapAccessor(d)),\n })),\n };\n }\n\n public getDataWithErrorsFromResultPool(): ResultCollection<\n Optional<PObject<ValueOrError<string, Error>>, \"id\">\n > {\n const collection = this.resultPool.getDataWithErrors();\n if (collection.instabilityMarker !== undefined)\n this.requireComputableCtx.markUnstable(\n `incomplete_result_pool:${collection.instabilityMarker}`,\n );\n return {\n isComplete: collection.isComplete,\n entries: collection.entries.map((e) => ({\n ref: e.ref,\n obj: {\n id: e.obj.id,\n spec: e.obj.spec,\n data: mapValueInVOE(e.obj.data, (d) => this.wrapAccessor(d)),\n },\n })),\n };\n }\n\n public getSpecsFromResultPool(): ResultCollection<PObjectSpec> {\n const specs = this.resultPool.getSpecs();\n if (specs.instabilityMarker !== undefined)\n this.requireComputableCtx.markUnstable(\n `specs_from_pool_incomplete:${specs.instabilityMarker}`,\n );\n return specs;\n }\n\n getSpecFromResultPoolByRef(blockId: string, exportName: string): PObjectSpec | undefined {\n return this.resultPool.getSpecByRef(blockId, exportName);\n }\n\n getDataFromResultPoolByRef(blockId: string, exportName: string): PObject<string> | undefined {\n return mapPObjectData(this.resultPool.getDataByRef(blockId, exportName), (acc) =>\n this.wrapAccessor(acc),\n );\n }\n\n //\n // PFrames / PTables\n //\n\n public createPFrame(\n def: PFrameDef<PColumn<string | PColumnValues | DataInfo<string>>>,\n ): PFrameHandle {\n using guard = new PoolEntryGuard(\n this.env.driverKit.pFrameDriver.createPFrame(\n def.map((c) => mapPObjectData(c, (d) => this.transformInputPData(d))),\n ),\n );\n this.requireComputableCtx.addOnDestroy(guard.entry.unref);\n return guard.keep().key;\n }\n\n public createPTable(\n def: PTableDef<PColumn<string | PColumnValues | DataInfo<string>>>,\n ): PTableHandle {\n using guard = new PoolEntryGuard(\n this.env.driverKit.pFrameDriver.createPTable(\n mapPTableDef(def, (c) => mapPObjectData(c, (d) => this.transformInputPData(d))),\n ),\n );\n this.requireComputableCtx.addOnDestroy(guard.entry.unref);\n return guard.keep().key;\n }\n\n public createPTableV2(\n def: PTableDefV2<PColumn<string | PColumnValues | DataInfo<string>>>,\n ): PTableHandle {\n using guard = new PoolEntryGuard(\n this.env.driverKit.pFrameDriver.createPTableV2(\n mapPTableDefV2(def, (c) => mapPObjectData(c, (d) => this.transformInputPData(d))),\n ),\n );\n this.requireComputableCtx.addOnDestroy(guard.entry.unref);\n return guard.keep().key;\n }\n\n /**\n * Transforms input data for PFrame/PTable creation\n * - Converts string handles to accessors\n * - Maps accessors in DataInfo objects\n * - Passes through other values\n */\n private transformInputPData(\n d: string | PColumnValues | DataInfo<string>,\n ): PlTreeNodeAccessor | PColumnValues | DataInfo<PlTreeNodeAccessor> {\n if (typeof d === \"string\") {\n return this.getAccessor(d);\n } else if (isDataInfo(d)) {\n return mapDataInfo(d, (a) => this.getAccessor(a));\n } else {\n return d;\n }\n }\n\n //\n // Computable\n //\n\n public getCurrentUnstableMarker(): string | undefined {\n return this.computableCtx?.unstableMarker;\n }\n\n //\n // Logging\n //\n\n public logInfo(message: string): void {\n this.env.blockEventDispatcher.logInfo(this.blockCtx.blockId, message);\n }\n\n public logWarn(message: string): void {\n this.env.blockEventDispatcher.logWarn(this.blockCtx.blockId, message);\n }\n\n public logError(message: string): void {\n this.env.blockEventDispatcher.logError(this.blockCtx.blockId, message);\n }\n\n //\n // Helpers\n //\n\n private getAccessor(handle: string): PlTreeNodeAccessor {\n const accessor = this.accessors.get(handle);\n if (accessor === undefined) throw new Error(\"No such accessor\");\n return accessor;\n }\n\n private wrapAccessor(accessor: PlTreeNodeAccessor): string;\n private wrapAccessor(accessor: PlTreeNodeAccessor | undefined): string | undefined;\n private wrapAccessor(accessor: PlTreeNodeAccessor | undefined): string | undefined {\n if (accessor === undefined) return undefined;\n else {\n const nextHandle = randomUUID();\n this.accessors.set(nextHandle, accessor);\n return nextHandle;\n }\n }\n\n public injectCtx(configCtx: QuickJSHandle): void {\n const parent = this.parent;\n const vm = parent.vm;\n\n Scope.withScope((localScope) => {\n // Exporting methods\n\n const exportCtxFunction = (\n name: string,\n fn: VmFunctionImplementation<QuickJSHandle>,\n ): void => {\n const withCachedError: VmFunctionImplementation<QuickJSHandle> = (...args) => {\n // QuickJS strips all fields from errors apart from 'name' and 'message'.\n // That's why here we need to store them, and rethrow them when we exit\n // from QuickJS code.\n const t0 = performance.now();\n try {\n return (fn as any)(...args);\n } catch (e: unknown) {\n const newErr = parent.errorRepo.setAndRecreateForQuickJS(e);\n throw vm.newError(newErr);\n } finally {\n parent.stats.ctxMethodCalls++;\n parent.stats.ctxMethodMs += performance.now() - t0;\n }\n };\n\n vm.newFunction(name, withCachedError).consume((fnh) => vm.setProp(configCtx, name, fnh));\n vm.newFunction(name, fn).consume((fnh) =>\n vm.setProp(configCtx, name + \"__internal__\", fnh),\n );\n };\n\n // Check if this is a v1/v2 block (requiresModelAPIVersion !== 2)\n // For v1/v2 blocks, state is {args, uiState} and we need to inject uiState separately\n const isLegacyBlock = !checkBlockFlag(this.featureFlags, \"requiresModelAPIVersion\", 2);\n\n // Helper to extract uiState from legacy state format {args, uiState}\n const extractUiState = (stateJson: string | undefined): string => {\n if (!stateJson) return \"{}\";\n try {\n const parsed = JSON.parse(stateJson);\n return JSON.stringify(parsed?.uiState ?? {});\n } catch {\n return \"{}\";\n }\n };\n\n if (checkBlockFlag(this.featureFlags, \"supportsLazyState\")) {\n // injecting lazy state functions\n exportCtxFunction(\"args\", () => {\n const cCtx = this.requireComputableCtx;\n const args = this.blockCtx.args(cCtx);\n return args === undefined ? vm.undefined : vm.newString(args);\n });\n exportCtxFunction(\"blockStorage\", () => {\n return vm.newString(this.blockCtx.blockStorage(this.requireComputableCtx) ?? \"{}\");\n });\n exportCtxFunction(\"data\", () => {\n return vm.newString(this.blockCtx.data(this.requireComputableCtx) ?? \"{}\");\n });\n exportCtxFunction(\"activeArgs\", () => {\n const cCtx = this.requireComputableCtx;\n const res = this.blockCtx.activeArgs(cCtx);\n return res === undefined ? vm.undefined : vm.newString(res);\n });\n // For v1/v2 blocks, also inject uiState (extracted from state.uiState)\n if (isLegacyBlock) {\n exportCtxFunction(\"uiState\", () => {\n return vm.newString(extractUiState(this.blockCtx.data(this.requireComputableCtx)));\n });\n }\n } else {\n const cCtx = this.requireComputableCtx;\n const args = this.blockCtx.args(cCtx);\n const activeArgs = this.blockCtx.activeArgs(cCtx);\n const data = this.blockCtx.data(cCtx);\n if (args !== undefined) {\n vm.setProp(configCtx, \"args\", localScope.manage(vm.newString(args)));\n }\n vm.setProp(configCtx, \"data\", localScope.manage(vm.newString(data ?? \"{}\")));\n if (activeArgs !== undefined)\n vm.setProp(configCtx, \"activeArgs\", localScope.manage(vm.newString(activeArgs)));\n // For v1/v2 blocks, also inject uiState (extracted from state.uiState)\n if (isLegacyBlock) {\n vm.setProp(configCtx, \"uiState\", localScope.manage(vm.newString(extractUiState(data))));\n }\n }\n\n //\n // Methods for injected ctx object\n //\n\n exportCtxFunction(\"getAccessorHandleByName\", (name) => {\n return parent.exportSingleValue(\n this.getAccessorHandleByName(vm.getString(name)),\n undefined,\n );\n });\n\n //\n // Accessors\n //\n\n exportCtxFunction(\"resolveWithCommon\", (handle, commonOptions, ...steps) => {\n return parent.exportSingleValue(\n this.resolveWithCommon(\n vm.getString(handle),\n parent.importObjectViaJson(commonOptions) as CommonFieldTraverseOpsFromSDK,\n ...steps.map(\n (step) => parent.importObjectViaJson(step) as FieldTraversalStepFromSDK | string,\n ),\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"getResourceType\", (handle) => {\n return parent.exportObjectViaJson(this.getResourceType(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getInputsLocked\", (handle) => {\n return parent.exportSingleValue(this.getInputsLocked(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getOutputsLocked\", (handle) => {\n return parent.exportSingleValue(this.getOutputsLocked(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getIsReadyOrError\", (handle) => {\n return parent.exportSingleValue(this.getIsReadyOrError(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getIsFinal\", (handle) => {\n return parent.exportSingleValue(this.getIsFinal(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getError\", (handle) => {\n return parent.exportSingleValue(this.getError(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"listInputFields\", (handle) => {\n return parent.exportObjectViaJson(this.listInputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"listOutputFields\", (handle) => {\n return parent.exportObjectViaJson(this.listOutputFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"listDynamicFields\", (handle) => {\n return parent.exportObjectViaJson(this.listDynamicFields(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getKeyValueBase64\", (handle, key) => {\n return parent.exportSingleValue(\n this.getKeyValueBase64(vm.getString(handle), vm.getString(key)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getKeyValueAsString\", (handle, key) => {\n return parent.exportSingleValue(\n this.getKeyValueAsString(vm.getString(handle), vm.getString(key)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getDataBase64\", (handle) => {\n return parent.exportSingleValue(this.getDataBase64(vm.getString(handle)), undefined);\n });\n\n exportCtxFunction(\"getDataAsString\", (handle) => {\n return parent.exportSingleValue(this.getDataAsString(vm.getString(handle)), undefined);\n });\n\n //\n // Accessor helpers\n //\n\n exportCtxFunction(\n \"parsePObjectCollection\",\n (handle, errorOnUnknownField, prefix, ...resolveSteps) => {\n return parent.exportObjectUniversal(\n this.parsePObjectCollection(\n vm.getString(handle),\n vm.dump(errorOnUnknownField) as boolean,\n vm.getString(prefix),\n ...resolveSteps.map((stepHandle) => vm.getString(stepHandle)),\n ),\n undefined,\n );\n },\n );\n\n //\n // Blobs\n //\n\n exportCtxFunction(\"getBlobContentAsBase64\", (handle, range) => {\n return parent.exportSingleValue(\n this.getBlobContentAsBase64(\n vm.getString(handle),\n parent.importObjectUniversal(range) as RangeBytes | undefined,\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"getBlobContentAsString\", (handle, range) => {\n return parent.exportSingleValue(\n this.getBlobContentAsString(\n vm.getString(handle),\n parent.importObjectUniversal(range) as RangeBytes | undefined,\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"getDownloadedBlobContentHandle\", (handle) => {\n return parent.exportSingleValue(\n this.getDownloadedBlobContentHandle(vm.getString(handle)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getOnDemandBlobContentHandle\", (handle) => {\n return parent.exportSingleValue(\n this.getOnDemandBlobContentHandle(vm.getString(handle)),\n undefined,\n );\n });\n\n //\n // Blobs to URLs\n //\n\n exportCtxFunction(\"extractArchiveAndGetURL\", (handle, format) => {\n return parent.exportSingleValue(\n this.extractArchiveAndGetURL(vm.getString(handle), vm.getString(format) as ArchiveFormat),\n undefined,\n );\n });\n\n //\n // ImportProgress\n //\n\n exportCtxFunction(\"getImportProgress\", (handle) => {\n return parent.exportSingleValue(this.getImportProgress(vm.getString(handle)), undefined);\n });\n\n //\n // Logs\n //\n\n exportCtxFunction(\"getLastLogs\", (handle, nLines) => {\n return parent.exportSingleValue(\n this.getLastLogs(vm.getString(handle), vm.getNumber(nLines)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getProgressLog\", (handle, patternToSearch) => {\n return parent.exportSingleValue(\n this.getProgressLog(vm.getString(handle), vm.getString(patternToSearch)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getProgressLogWithInfo\", (handle, patternToSearch) => {\n return parent.exportSingleValue(\n this.getProgressLogWithInfo(vm.getString(handle), vm.getString(patternToSearch)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getLogHandle\", (handle) => {\n return parent.exportSingleValue(this.getLogHandle(vm.getString(handle)), undefined);\n });\n\n //\n // Blocks\n //\n\n exportCtxFunction(\"getBlockLabel\", (blockId) => {\n return parent.exportSingleValue(this.getBlockLabel(vm.getString(blockId)), undefined);\n });\n\n //\n // Result pool\n //\n\n exportCtxFunction(\"getDataFromResultPool\", () => {\n return parent.exportObjectUniversal(this.getDataFromResultPool(), undefined);\n });\n\n exportCtxFunction(\"getDataWithErrorsFromResultPool\", () => {\n return parent.exportObjectUniversal(this.getDataWithErrorsFromResultPool(), undefined);\n });\n\n exportCtxFunction(\"getSpecsFromResultPool\", () => {\n return parent.exportObjectUniversal(this.getSpecsFromResultPool(), undefined);\n });\n\n exportCtxFunction(\"calculateOptions\", (predicate) => {\n return parent.exportObjectUniversal(\n this.calculateOptions(parent.importObjectViaJson(predicate) as PSpecPredicate),\n undefined,\n );\n });\n\n exportCtxFunction(\"getSpecFromResultPoolByRef\", (blockId, exportName) => {\n return parent.exportObjectUniversal(\n this.getSpecFromResultPoolByRef(vm.getString(blockId), vm.getString(exportName)),\n undefined,\n );\n });\n\n exportCtxFunction(\"getDataFromResultPoolByRef\", (blockId, exportName) => {\n return parent.exportObjectUniversal(\n this.getDataFromResultPoolByRef(vm.getString(blockId), vm.getString(exportName)),\n undefined,\n );\n });\n\n exportCtxFunction(\"createPFrame\", (def) => {\n return parent.exportSingleValue(\n this.createPFrame(\n parent.importObjectViaJson(def) as PFrameDef<PColumn<string | PColumnValues>>,\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"createPTable\", (def) => {\n return parent.exportSingleValue(\n this.createPTable(\n parent.importObjectViaJson(def) as PTableDef<PColumn<string | PColumnValues>>,\n ),\n undefined,\n );\n });\n\n exportCtxFunction(\"createPTableV2\", (def) => {\n return parent.exportSingleValue(\n this.createPTableV2(\n parent.importObjectViaJson(def) as PTableDefV2<PColumn<string | PColumnValues>>,\n ),\n undefined,\n );\n });\n\n //\n // Services\n //\n\n const requiredServiceNames = new Set(resolveRequiredServices(this.featureFlags) as string[]);\n const serviceFunctions = new Map<string, VmFunctionImplementation<QuickJSHandle>>();\n const injectors = getServiceInjectors();\n\n for (const [key, serviceId] of Object.entries(Services)) {\n if (!requiredServiceNames.has(serviceId)) continue;\n const injector = injectors[key as keyof typeof injectors];\n try {\n const methods = injector({ host: this, vm: parent });\n for (const [method, fn] of Object.entries(methods)) {\n serviceFunctions.set(serviceFnKey(serviceId, method), fn);\n }\n } catch (e) {\n throw new ServiceInjectionError(`Failed to inject service \"${serviceId}\"`, { cause: e });\n }\n }\n\n exportCtxFunction(\"getServiceNames\", () => {\n return parent.exportObjectViaJson([...requiredServiceNames]);\n });\n\n exportCtxFunction(\"getServiceMethods\", (serviceIdHandle) => {\n const serviceId = vm.getString(serviceIdHandle);\n const pfx = serviceFnKey(serviceId);\n const methods = [...serviceFunctions.keys()]\n .filter((k) => k.startsWith(pfx))\n .map((k) => k.slice(pfx.length));\n return parent.exportObjectViaJson(methods, undefined);\n });\n\n exportCtxFunction(\n \"callServiceMethod\",\n function (this: QuickJSHandle, serviceIdHandle, methodHandle, ...argHandles) {\n const serviceId = vm.getString(serviceIdHandle);\n const method = vm.getString(methodHandle);\n const fn = serviceFunctions.get(serviceFnKey(serviceId, method));\n if (!fn)\n throw new ServiceMethodNotFoundError(\n `Method \"${method}\" not found on service \"${serviceId}\"`,\n );\n return fn.call(this, ...argHandles);\n },\n );\n\n //\n // Computable\n //\n\n exportCtxFunction(\"getCurrentUnstableMarker\", () => {\n return parent.exportSingleValue(this.getCurrentUnstableMarker(), undefined);\n });\n\n //\n // Logging\n //\n\n exportCtxFunction(\"logInfo\", (message) => {\n this.logInfo(vm.getString(message));\n });\n\n exportCtxFunction(\"logWarn\", (message) => {\n this.logWarn(vm.getString(message));\n });\n\n exportCtxFunction(\"logError\", (message) => {\n this.logError(vm.getString(message));\n });\n });\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { _usingCtx } from "../_virtual/_@oxc-project_runtime@0.114.0/helpers/usingCtx.js";
1
+ import { _usingCtx } from "../_virtual/_@oxc-project_runtime@0.123.0/helpers/usingCtx.js";
2
2
  import { parseFinalPObjectCollection } from "../pool/p_object_collection.js";
3
3
  import { getServiceInjectors } from "./service_injectors.js";
4
4
  import { checkBlockFlag, isDataInfo, mapDataInfo, mapPObjectData, mapPTableDef, mapPTableDefV2, mapValueInVOE } from "@platforma-sdk/model";
@@ -7,7 +7,6 @@ import { Computable } from "@milaboratories/computable";
7
7
  import { randomUUID } from "node:crypto";
8
8
  import { Scope } from "quickjs-emscripten";
9
9
  import { PoolEntryGuard, ServiceInjectionError, ServiceMethodNotFoundError, Services, resolveRequiredServices, serviceFnKey } from "@milaboratories/pl-model-common";
10
-
11
10
  //#region src/js_render/computable_context.ts
12
11
  function bytesToBase64(data) {
13
12
  return data !== void 0 ? Buffer.from(data).toString("base64") : void 0;
@@ -494,7 +493,7 @@ var ComputableContextHelper = class {
494
493
  });
495
494
  }
496
495
  };
497
-
498
496
  //#endregion
499
497
  export { ComputableContextHelper };
498
+
500
499
  //# sourceMappingURL=computable_context.js.map