@finos/legend-cube-builder 0.0.4 → 0.0.5

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 (609) hide show
  1. package/README.md +9 -3
  2. package/docs/adding-an-operation.md +22 -12
  3. package/docs/demo/DEMO-FAST-NOTES.md +67 -0
  4. package/docs/demo/README.md +102 -0
  5. package/docs/demo/specs/duckdb-sales-pivot.cube.json +110 -0
  6. package/docs/demo/specs/trades-desks-1-joined.cube.json +123 -0
  7. package/docs/demo/specs/trades-desks-2-grouped.cube.json +140 -0
  8. package/docs/demo/specs/trades-desks-3-ranked.cube.json +158 -0
  9. package/docs/demo/specs/trades-desks-4-extended.cube.json +208 -0
  10. package/docs/demo/specs/trades-desks-5-final.cube.json +248 -0
  11. package/docs/hosting.md +50 -3
  12. package/docs/testing.md +32 -0
  13. package/lib/__lib__/LegendCubeCommand.d.ts +2 -0
  14. package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
  15. package/lib/__lib__/LegendCubeCommand.js +7 -0
  16. package/lib/__lib__/LegendCubeCommand.js.map +1 -1
  17. package/lib/__lib__/LegendCubeFunctionLabels.d.ts +29 -0
  18. package/lib/__lib__/LegendCubeFunctionLabels.d.ts.map +1 -0
  19. package/lib/__lib__/LegendCubeFunctionLabels.js +31 -0
  20. package/lib/__lib__/LegendCubeFunctionLabels.js.map +1 -0
  21. package/lib/__lib__/LegendCubeHelpText.d.ts +5 -1
  22. package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
  23. package/lib/__lib__/LegendCubeHelpText.js +14 -2
  24. package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
  25. package/lib/__lib__/LegendCubeLabels.d.ts +100 -8
  26. package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
  27. package/lib/__lib__/LegendCubeLabels.js +129 -14
  28. package/lib/__lib__/LegendCubeLabels.js.map +1 -1
  29. package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts +26 -0
  30. package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts.map +1 -0
  31. package/lib/__lib__/LegendCubeProjectSourceLabels.js +26 -0
  32. package/lib/__lib__/LegendCubeProjectSourceLabels.js.map +1 -0
  33. package/lib/__lib__/LegendCubeServiceLabels.d.ts +27 -0
  34. package/lib/__lib__/LegendCubeServiceLabels.d.ts.map +1 -0
  35. package/lib/__lib__/LegendCubeServiceLabels.js +32 -0
  36. package/lib/__lib__/LegendCubeServiceLabels.js.map +1 -0
  37. package/lib/__lib__/LegendCubeTesting.d.ts +7 -0
  38. package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
  39. package/lib/__lib__/LegendCubeTesting.js +7 -0
  40. package/lib/__lib__/LegendCubeTesting.js.map +1 -1
  41. package/lib/__test-utils__/CubeEngineTestSupport.d.ts +1 -1
  42. package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
  43. package/lib/__test-utils__/CubeEngineTestSupport.js +2 -2
  44. package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
  45. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +8 -1
  46. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -1
  47. package/lib/__test-utils__/CubeExpressionTestUtils.js +20 -3
  48. package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -1
  49. package/lib/__test-utils__/CubeFunctionTestOutline.d.ts +26 -0
  50. package/lib/__test-utils__/CubeFunctionTestOutline.d.ts.map +1 -0
  51. package/lib/__test-utils__/CubeFunctionTestOutline.js +56 -0
  52. package/lib/__test-utils__/CubeFunctionTestOutline.js.map +1 -0
  53. package/lib/__test-utils__/CubeLambdaCorpus.d.ts +36 -0
  54. package/lib/__test-utils__/CubeLambdaCorpus.d.ts.map +1 -0
  55. package/lib/__test-utils__/CubeLambdaCorpus.js +83 -0
  56. package/lib/__test-utils__/CubeLambdaCorpus.js.map +1 -0
  57. package/lib/__test-utils__/CubePageTestUtils.d.ts +6 -0
  58. package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
  59. package/lib/__test-utils__/CubePageTestUtils.js +21 -0
  60. package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
  61. package/lib/__test-utils__/CubeTestApplication.d.ts +9 -0
  62. package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
  63. package/lib/__test-utils__/CubeTestApplication.js +16 -0
  64. package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
  65. package/lib/__test-utils__/FakeCubeEngine.d.ts +5 -0
  66. package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
  67. package/lib/__test-utils__/FakeCubeEngine.js +17 -0
  68. package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
  69. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +7 -1
  70. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -1
  71. package/lib/__test-utils__/FakeCubeIngestCatalog.js +16 -0
  72. package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -1
  73. package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts +26 -0
  74. package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts.map +1 -0
  75. package/lib/__test-utils__/FakeCubeServiceCatalog.js +40 -0
  76. package/lib/__test-utils__/FakeCubeServiceCatalog.js.map +1 -0
  77. package/lib/components/CubeAddItems.d.ts.map +1 -1
  78. package/lib/components/CubeAddItems.js +9 -6
  79. package/lib/components/CubeAddItems.js.map +1 -1
  80. package/lib/components/CubeDialogTheme.d.ts +25 -0
  81. package/lib/components/CubeDialogTheme.d.ts.map +1 -0
  82. package/lib/components/CubeDialogTheme.js +25 -0
  83. package/lib/components/CubeDialogTheme.js.map +1 -0
  84. package/lib/components/CubeEditor.d.ts +12 -1
  85. package/lib/components/CubeEditor.d.ts.map +1 -1
  86. package/lib/components/CubeEditor.js +16 -14
  87. package/lib/components/CubeEditor.js.map +1 -1
  88. package/lib/components/CubeFileMenu.d.ts +28 -0
  89. package/lib/components/CubeFileMenu.d.ts.map +1 -0
  90. package/lib/components/CubeFileMenu.js +77 -0
  91. package/lib/components/CubeFileMenu.js.map +1 -0
  92. package/lib/components/CubeLambdaImportBanner.d.ts +26 -0
  93. package/lib/components/CubeLambdaImportBanner.d.ts.map +1 -0
  94. package/lib/components/CubeLambdaImportBanner.js +47 -0
  95. package/lib/components/CubeLambdaImportBanner.js.map +1 -0
  96. package/lib/components/CubeNodeIcon.d.ts.map +1 -1
  97. package/lib/components/CubeNodeIcon.js +5 -1
  98. package/lib/components/CubeNodeIcon.js.map +1 -1
  99. package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -1
  100. package/lib/components/CubeSchemaColumnsTable.js +2 -2
  101. package/lib/components/CubeSchemaColumnsTable.js.map +1 -1
  102. package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
  103. package/lib/components/canvas/CubeCanvas.js +38 -5
  104. package/lib/components/canvas/CubeCanvas.js.map +1 -1
  105. package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
  106. package/lib/components/canvas/CubeCanvasContextMenu.js +2 -1
  107. package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
  108. package/lib/components/canvas/CubeCanvasElements.d.ts +18 -1
  109. package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
  110. package/lib/components/canvas/CubeCanvasElements.js +58 -3
  111. package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
  112. package/lib/components/canvas/CubeCanvasLayout.js +1 -1
  113. package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
  114. package/lib/components/canvas/CubeCanvasNode.js +8 -4
  115. package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
  116. package/lib/components/dev-settings/CubeDevSettings.d.ts +35 -0
  117. package/lib/components/dev-settings/CubeDevSettings.d.ts.map +1 -0
  118. package/lib/components/dev-settings/CubeDevSettings.js +50 -0
  119. package/lib/components/dev-settings/CubeDevSettings.js.map +1 -0
  120. package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -1
  121. package/lib/components/editors/CubeColumnChecklist.js +2 -2
  122. package/lib/components/editors/CubeColumnChecklist.js.map +1 -1
  123. package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
  124. package/lib/components/editors/CubeColumnPicker.js +3 -3
  125. package/lib/components/editors/CubeColumnPicker.js.map +1 -1
  126. package/lib/components/editors/CubeConcatEditor.js +2 -2
  127. package/lib/components/editors/CubeConcatEditor.js.map +1 -1
  128. package/lib/components/editors/CubeExpressionFilterEditor.d.ts +25 -0
  129. package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -0
  130. package/lib/components/editors/CubeExpressionFilterEditor.js +83 -0
  131. package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
  132. package/lib/components/editors/CubeExtendEditor.d.ts +2 -0
  133. package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -1
  134. package/lib/components/editors/CubeExtendEditor.js +3 -3
  135. package/lib/components/editors/CubeExtendEditor.js.map +1 -1
  136. package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
  137. package/lib/components/editors/CubeFilterEditor.js +13 -2
  138. package/lib/components/editors/CubeFilterEditor.js.map +1 -1
  139. package/lib/components/editors/CubeFunctionSourceEditor.d.ts +25 -0
  140. package/lib/components/editors/CubeFunctionSourceEditor.d.ts.map +1 -0
  141. package/lib/components/editors/CubeFunctionSourceEditor.js +55 -0
  142. package/lib/components/editors/CubeFunctionSourceEditor.js.map +1 -0
  143. package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
  144. package/lib/components/editors/CubeJoinEditor.js +16 -4
  145. package/lib/components/editors/CubeJoinEditor.js.map +1 -1
  146. package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
  147. package/lib/components/editors/CubeNodeEditorPanel.js +18 -8
  148. package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
  149. package/lib/components/editors/CubeNodeEditorPopper.d.ts +5 -1
  150. package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -1
  151. package/lib/components/editors/CubeNodeEditorPopper.js +10 -2
  152. package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -1
  153. package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
  154. package/lib/components/editors/CubeNodeEditorRegistry.js +9 -1
  155. package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
  156. package/lib/components/editors/CubePivotEditor.d.ts +26 -0
  157. package/lib/components/editors/CubePivotEditor.d.ts.map +1 -0
  158. package/lib/components/editors/CubePivotEditor.js +93 -0
  159. package/lib/components/editors/CubePivotEditor.js.map +1 -0
  160. package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -1
  161. package/lib/components/editors/CubeRestrictEditor.js +2 -2
  162. package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
  163. package/lib/components/editors/CubeServiceSourceEditor.d.ts +25 -0
  164. package/lib/components/editors/CubeServiceSourceEditor.d.ts.map +1 -0
  165. package/lib/components/editors/CubeServiceSourceEditor.js +41 -0
  166. package/lib/components/editors/CubeServiceSourceEditor.js.map +1 -0
  167. package/lib/components/grid/CubeColumnFormatDialog.d.ts +28 -0
  168. package/lib/components/grid/CubeColumnFormatDialog.d.ts.map +1 -0
  169. package/lib/components/grid/CubeColumnFormatDialog.js +94 -0
  170. package/lib/components/grid/CubeColumnFormatDialog.js.map +1 -0
  171. package/lib/components/grid/CubeDrilldownBar.d.ts +37 -0
  172. package/lib/components/grid/CubeDrilldownBar.d.ts.map +1 -0
  173. package/lib/components/grid/CubeDrilldownBar.js +77 -0
  174. package/lib/components/grid/CubeDrilldownBar.js.map +1 -0
  175. package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
  176. package/lib/components/grid/CubeGridRegion.js +40 -26
  177. package/lib/components/grid/CubeGridRegion.js.map +1 -1
  178. package/lib/components/grid/CubeGridValues.d.ts +31 -1
  179. package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
  180. package/lib/components/grid/CubeGridValues.js +108 -1
  181. package/lib/components/grid/CubeGridValues.js.map +1 -1
  182. package/lib/components/grid/CubeResultGrid.d.ts +68 -5
  183. package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
  184. package/lib/components/grid/CubeResultGrid.js +308 -35
  185. package/lib/components/grid/CubeResultGrid.js.map +1 -1
  186. package/lib/components/grid/CubeRunStatsPanel.d.ts +28 -0
  187. package/lib/components/grid/CubeRunStatsPanel.d.ts.map +1 -0
  188. package/lib/components/grid/CubeRunStatsPanel.js +61 -0
  189. package/lib/components/grid/CubeRunStatsPanel.js.map +1 -0
  190. package/lib/components/grid/CubeServerSideGrid.d.ts +36 -0
  191. package/lib/components/grid/CubeServerSideGrid.d.ts.map +1 -0
  192. package/lib/components/grid/CubeServerSideGrid.js +114 -0
  193. package/lib/components/grid/CubeServerSideGrid.js.map +1 -0
  194. package/lib/components/grid/CubeSqlDialog.d.ts +24 -0
  195. package/lib/components/grid/CubeSqlDialog.d.ts.map +1 -0
  196. package/lib/components/grid/CubeSqlDialog.js +39 -0
  197. package/lib/components/grid/CubeSqlDialog.js.map +1 -0
  198. package/lib/components/grid/CubeSqlFormat.d.ts +20 -0
  199. package/lib/components/grid/CubeSqlFormat.d.ts.map +1 -0
  200. package/lib/components/grid/CubeSqlFormat.js +32 -0
  201. package/lib/components/grid/CubeSqlFormat.js.map +1 -0
  202. package/lib/components/palette/CubePalette.d.ts.map +1 -1
  203. package/lib/components/palette/CubePalette.js +32 -13
  204. package/lib/components/palette/CubePalette.js.map +1 -1
  205. package/lib/components/show-pure/CubeShowPureDialog.d.ts +4 -1
  206. package/lib/components/show-pure/CubeShowPureDialog.d.ts.map +1 -1
  207. package/lib/components/show-pure/CubeShowPureDialog.js +8 -4
  208. package/lib/components/show-pure/CubeShowPureDialog.js.map +1 -1
  209. package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -1
  210. package/lib/components/source-picker/CubeDataProductTab.js +37 -16
  211. package/lib/components/source-picker/CubeDataProductTab.js.map +1 -1
  212. package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -1
  213. package/lib/components/source-picker/CubeDirectConnectionTab.js +6 -4
  214. package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -1
  215. package/lib/components/source-picker/CubeFunctionSteps.d.ts +36 -0
  216. package/lib/components/source-picker/CubeFunctionSteps.d.ts.map +1 -0
  217. package/lib/components/source-picker/CubeFunctionSteps.js +76 -0
  218. package/lib/components/source-picker/CubeFunctionSteps.js.map +1 -0
  219. package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -1
  220. package/lib/components/source-picker/CubeIngestTab.js +39 -16
  221. package/lib/components/source-picker/CubeIngestTab.js.map +1 -1
  222. package/lib/components/source-picker/CubeInlineModelTab.d.ts +3 -2
  223. package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -1
  224. package/lib/components/source-picker/CubeInlineModelTab.js +23 -13
  225. package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -1
  226. package/lib/components/source-picker/CubePickerListItem.d.ts +47 -0
  227. package/lib/components/source-picker/CubePickerListItem.d.ts.map +1 -0
  228. package/lib/components/source-picker/CubePickerListItem.js +62 -0
  229. package/lib/components/source-picker/CubePickerListItem.js.map +1 -0
  230. package/lib/components/source-picker/CubeProjectTab.d.ts +4 -3
  231. package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -1
  232. package/lib/components/source-picker/CubeProjectTab.js +7 -4
  233. package/lib/components/source-picker/CubeProjectTab.js.map +1 -1
  234. package/lib/components/source-picker/CubeServiceTab.d.ts +27 -0
  235. package/lib/components/source-picker/CubeServiceTab.d.ts.map +1 -0
  236. package/lib/components/source-picker/CubeServiceTab.js +36 -0
  237. package/lib/components/source-picker/CubeServiceTab.js.map +1 -0
  238. package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
  239. package/lib/components/source-picker/CubeSourcePicker.js +16 -3
  240. package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
  241. package/lib/components/source-picker/CubeTablePreview.d.ts +29 -0
  242. package/lib/components/source-picker/CubeTablePreview.d.ts.map +1 -0
  243. package/lib/components/source-picker/CubeTablePreview.js +10 -0
  244. package/lib/components/source-picker/CubeTablePreview.js.map +1 -0
  245. package/lib/components/spec-transfer/CubeImportPureDialog.d.ts +27 -0
  246. package/lib/components/spec-transfer/CubeImportPureDialog.d.ts.map +1 -0
  247. package/lib/components/spec-transfer/CubeImportPureDialog.js +38 -0
  248. package/lib/components/spec-transfer/CubeImportPureDialog.js.map +1 -0
  249. package/lib/components/spec-transfer/CubeSpecTransferDialog.d.ts.map +1 -1
  250. package/lib/components/spec-transfer/CubeSpecTransferDialog.js +9 -3
  251. package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
  252. package/lib/graph-manager/CubeDataProductCatalog.d.ts +10 -0
  253. package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -1
  254. package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -1
  255. package/lib/graph-manager/CubeEngine.d.ts +46 -1
  256. package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
  257. package/lib/graph-manager/CubeEngine.js.map +1 -1
  258. package/lib/graph-manager/CubeEngineClientSettings.d.ts +43 -0
  259. package/lib/graph-manager/CubeEngineClientSettings.d.ts.map +1 -0
  260. package/lib/graph-manager/CubeEngineClientSettings.js +51 -0
  261. package/lib/graph-manager/CubeEngineClientSettings.js.map +1 -0
  262. package/lib/graph-manager/CubeIngest.d.ts +5 -0
  263. package/lib/graph-manager/CubeIngest.d.ts.map +1 -1
  264. package/lib/graph-manager/CubeIngest.js +10 -0
  265. package/lib/graph-manager/CubeIngest.js.map +1 -1
  266. package/lib/graph-manager/CubeIngestCatalog.d.ts +26 -0
  267. package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -1
  268. package/lib/graph-manager/CubeIngestCatalog.js +6 -0
  269. package/lib/graph-manager/CubeIngestCatalog.js.map +1 -1
  270. package/lib/graph-manager/CubeLakehouseRuntime.d.ts +29 -0
  271. package/lib/graph-manager/CubeLakehouseRuntime.d.ts.map +1 -0
  272. package/lib/graph-manager/CubeLakehouseRuntime.js +40 -0
  273. package/lib/graph-manager/CubeLakehouseRuntime.js.map +1 -0
  274. package/lib/graph-manager/CubeProjectCatalog.d.ts +3 -3
  275. package/lib/graph-manager/CubeService.d.ts +20 -0
  276. package/lib/graph-manager/CubeService.d.ts.map +1 -0
  277. package/lib/graph-manager/CubeService.js +22 -0
  278. package/lib/graph-manager/CubeService.js.map +1 -0
  279. package/lib/graph-manager/CubeServiceCatalog.d.ts +31 -0
  280. package/lib/graph-manager/CubeServiceCatalog.d.ts.map +1 -0
  281. package/lib/graph-manager/CubeServiceCatalog.js +17 -0
  282. package/lib/graph-manager/CubeServiceCatalog.js.map +1 -0
  283. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +52 -5
  284. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
  285. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +63 -5
  286. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
  287. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +9 -6
  288. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -1
  289. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +12 -8
  290. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -1
  291. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts +30 -0
  292. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts.map +1 -0
  293. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js +229 -0
  294. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js.map +1 -0
  295. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -1
  296. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +18 -9
  297. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -1
  298. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +4 -9
  299. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -1
  300. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +2 -1
  301. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -1
  302. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts +34 -0
  303. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts.map +1 -0
  304. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js +332 -0
  305. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js.map +1 -0
  306. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
  307. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +49 -10
  308. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
  309. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts +1 -1
  310. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts.map +1 -1
  311. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +3 -1
  312. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
  313. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +2 -1
  314. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -1
  315. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +2 -1
  316. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -1
  317. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +18 -0
  318. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
  319. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +74 -6
  320. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
  321. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -1
  322. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +7 -4
  323. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -1
  324. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts +31 -0
  325. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts.map +1 -0
  326. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js +69 -0
  327. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js.map +1 -0
  328. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
  329. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +6 -2
  330. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
  331. package/lib/index.css +2 -2
  332. package/lib/index.css.map +1 -1
  333. package/lib/index.d.ts +12 -3
  334. package/lib/index.d.ts.map +1 -1
  335. package/lib/index.js +10 -1
  336. package/lib/index.js.map +1 -1
  337. package/lib/stores/CubeAddPlacement.d.ts +10 -3
  338. package/lib/stores/CubeAddPlacement.d.ts.map +1 -1
  339. package/lib/stores/CubeAddPlacement.js +16 -5
  340. package/lib/stores/CubeAddPlacement.js.map +1 -1
  341. package/lib/stores/CubeDevSettingsState.d.ts +47 -0
  342. package/lib/stores/CubeDevSettingsState.d.ts.map +1 -0
  343. package/lib/stores/CubeDevSettingsState.js +99 -0
  344. package/lib/stores/CubeDevSettingsState.js.map +1 -0
  345. package/lib/stores/CubeEditorState.d.ts +173 -43
  346. package/lib/stores/CubeEditorState.d.ts.map +1 -1
  347. package/lib/stores/CubeEditorState.js +498 -113
  348. package/lib/stores/CubeEditorState.js.map +1 -1
  349. package/lib/stores/CubeEngineChecks.d.ts +59 -0
  350. package/lib/stores/CubeEngineChecks.d.ts.map +1 -0
  351. package/lib/stores/CubeEngineChecks.js +100 -0
  352. package/lib/stores/CubeEngineChecks.js.map +1 -0
  353. package/lib/stores/CubeExamples.d.ts.map +1 -1
  354. package/lib/stores/CubeExamples.js +39 -2
  355. package/lib/stores/CubeExamples.js.map +1 -1
  356. package/lib/stores/CubeExamplesState.d.ts +1 -1
  357. package/lib/stores/CubeExamplesState.d.ts.map +1 -1
  358. package/lib/stores/CubeExamplesState.js +2 -2
  359. package/lib/stores/CubeExamplesState.js.map +1 -1
  360. package/lib/stores/CubeExecutionState.d.ts.map +1 -1
  361. package/lib/stores/CubeExecutionState.js +24 -33
  362. package/lib/stores/CubeExecutionState.js.map +1 -1
  363. package/lib/stores/CubeExportState.d.ts +41 -0
  364. package/lib/stores/CubeExportState.d.ts.map +1 -0
  365. package/lib/stores/CubeExportState.js +134 -0
  366. package/lib/stores/CubeExportState.js.map +1 -0
  367. package/lib/stores/CubeExpressionFilterCheck.d.ts +51 -0
  368. package/lib/stores/CubeExpressionFilterCheck.d.ts.map +1 -0
  369. package/lib/stores/CubeExpressionFilterCheck.js +134 -0
  370. package/lib/stores/CubeExpressionFilterCheck.js.map +1 -0
  371. package/lib/stores/CubeExtendTyping.d.ts +6 -14
  372. package/lib/stores/CubeExtendTyping.d.ts.map +1 -1
  373. package/lib/stores/CubeExtendTyping.js +6 -33
  374. package/lib/stores/CubeExtendTyping.js.map +1 -1
  375. package/lib/stores/CubeFunctionRecheck.d.ts +30 -0
  376. package/lib/stores/CubeFunctionRecheck.d.ts.map +1 -0
  377. package/lib/stores/CubeFunctionRecheck.js +67 -0
  378. package/lib/stores/CubeFunctionRecheck.js.map +1 -0
  379. package/lib/stores/CubeGridFetcher.d.ts +75 -0
  380. package/lib/stores/CubeGridFetcher.d.ts.map +1 -0
  381. package/lib/stores/CubeGridFetcher.js +197 -0
  382. package/lib/stores/CubeGridFetcher.js.map +1 -0
  383. package/lib/stores/CubeGridQuickActions.d.ts +18 -6
  384. package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
  385. package/lib/stores/CubeGridQuickActions.js +32 -12
  386. package/lib/stores/CubeGridQuickActions.js.map +1 -1
  387. package/lib/stores/CubeGridState.d.ts +136 -0
  388. package/lib/stores/CubeGridState.d.ts.map +1 -0
  389. package/lib/stores/CubeGridState.js +317 -0
  390. package/lib/stores/CubeGridState.js.map +1 -0
  391. package/lib/stores/CubeHost.d.ts +42 -0
  392. package/lib/stores/CubeHost.d.ts.map +1 -1
  393. package/lib/stores/CubeHost.js +4 -0
  394. package/lib/stores/CubeHost.js.map +1 -1
  395. package/lib/stores/CubeLambdaImportState.d.ts +118 -0
  396. package/lib/stores/CubeLambdaImportState.d.ts.map +1 -0
  397. package/lib/stores/CubeLambdaImportState.js +302 -0
  398. package/lib/stores/CubeLambdaImportState.js.map +1 -0
  399. package/lib/stores/CubeLambdaSources.d.ts +45 -0
  400. package/lib/stores/CubeLambdaSources.d.ts.map +1 -0
  401. package/lib/stores/CubeLambdaSources.js +261 -0
  402. package/lib/stores/CubeLambdaSources.js.map +1 -0
  403. package/lib/stores/CubeQueryRun.d.ts +59 -0
  404. package/lib/stores/CubeQueryRun.d.ts.map +1 -0
  405. package/lib/stores/CubeQueryRun.js +101 -0
  406. package/lib/stores/CubeQueryRun.js.map +1 -0
  407. package/lib/stores/CubeRunStatsState.d.ts +61 -0
  408. package/lib/stores/CubeRunStatsState.d.ts.map +1 -0
  409. package/lib/stores/CubeRunStatsState.js +54 -0
  410. package/lib/stores/CubeRunStatsState.js.map +1 -0
  411. package/lib/stores/CubeRunningStepLambda.d.ts +25 -0
  412. package/lib/stores/CubeRunningStepLambda.d.ts.map +1 -0
  413. package/lib/stores/CubeRunningStepLambda.js +45 -0
  414. package/lib/stores/CubeRunningStepLambda.js.map +1 -0
  415. package/lib/stores/CubeServiceRecheck.d.ts +29 -0
  416. package/lib/stores/CubeServiceRecheck.d.ts.map +1 -0
  417. package/lib/stores/CubeServiceRecheck.js +33 -0
  418. package/lib/stores/CubeServiceRecheck.js.map +1 -0
  419. package/lib/stores/CubeShowPureState.d.ts +14 -1
  420. package/lib/stores/CubeShowPureState.d.ts.map +1 -1
  421. package/lib/stores/CubeShowPureState.js +41 -11
  422. package/lib/stores/CubeShowPureState.js.map +1 -1
  423. package/lib/stores/CubeSourcePickerState.d.ts +20 -4
  424. package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
  425. package/lib/stores/CubeSourcePickerState.js +75 -14
  426. package/lib/stores/CubeSourcePickerState.js.map +1 -1
  427. package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
  428. package/lib/stores/LocalModelCatalog.js +3 -1
  429. package/lib/stores/LocalModelCatalog.js.map +1 -1
  430. package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +91 -0
  431. package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
  432. package/lib/stores/editors/CubeExpressionFilterDraft.js +254 -0
  433. package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
  434. package/lib/stores/editors/CubeFunctionDraft.d.ts +34 -0
  435. package/lib/stores/editors/CubeFunctionDraft.d.ts.map +1 -0
  436. package/lib/stores/editors/CubeFunctionDraft.js +69 -0
  437. package/lib/stores/editors/CubeFunctionDraft.js.map +1 -0
  438. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +4 -2
  439. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
  440. package/lib/stores/editors/CubeNodeDraftRegistry.js +20 -3
  441. package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
  442. package/lib/stores/editors/CubePivotDraft.d.ts +93 -0
  443. package/lib/stores/editors/CubePivotDraft.d.ts.map +1 -0
  444. package/lib/stores/editors/CubePivotDraft.js +267 -0
  445. package/lib/stores/editors/CubePivotDraft.js.map +1 -0
  446. package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts +26 -0
  447. package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
  448. package/lib/stores/fixtures/CubeSalesDuckDbModel.js +46 -0
  449. package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
  450. package/lib/stores/fixtures/CubeTradesModel.d.ts +4 -0
  451. package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -1
  452. package/lib/stores/fixtures/CubeTradesModel.js +31 -1
  453. package/lib/stores/fixtures/CubeTradesModel.js.map +1 -1
  454. package/lib/stores/source-picker/CubeDataProductTabState.d.ts +34 -5
  455. package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -1
  456. package/lib/stores/source-picker/CubeDataProductTabState.js +111 -26
  457. package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -1
  458. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +25 -2
  459. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -1
  460. package/lib/stores/source-picker/CubeDirectConnectionTabState.js +183 -31
  461. package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -1
  462. package/lib/stores/source-picker/CubeIngestTabState.d.ts +22 -9
  463. package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -1
  464. package/lib/stores/source-picker/CubeIngestTabState.js +84 -29
  465. package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -1
  466. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +100 -4
  467. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -1
  468. package/lib/stores/source-picker/CubeInlineModelTabState.js +415 -28
  469. package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -1
  470. package/lib/stores/source-picker/CubeProjectTabState.d.ts +18 -3
  471. package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -1
  472. package/lib/stores/source-picker/CubeProjectTabState.js +26 -1
  473. package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -1
  474. package/lib/stores/source-picker/CubeServiceTabState.d.ts +74 -0
  475. package/lib/stores/source-picker/CubeServiceTabState.d.ts.map +1 -0
  476. package/lib/stores/source-picker/CubeServiceTabState.js +216 -0
  477. package/lib/stores/source-picker/CubeServiceTabState.js.map +1 -0
  478. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +15 -3
  479. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -1
  480. package/lib/stores/source-picker/CubeSourcePickerTab.js +21 -0
  481. package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -1
  482. package/package.json +10 -9
  483. package/src/__lib__/LegendCubeCommand.ts +7 -0
  484. package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
  485. package/src/__lib__/LegendCubeHelpText.ts +23 -1
  486. package/src/__lib__/LegendCubeLabels.ts +170 -13
  487. package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
  488. package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
  489. package/src/__lib__/LegendCubeTesting.ts +7 -0
  490. package/src/__test-utils__/CubeEngineTestSupport.ts +2 -1
  491. package/src/__test-utils__/CubeExpressionTestUtils.ts +29 -2
  492. package/src/__test-utils__/CubeFunctionTestOutline.ts +78 -0
  493. package/src/__test-utils__/CubeLambdaCorpus.ts +137 -0
  494. package/src/__test-utils__/CubePageTestUtils.tsx +34 -0
  495. package/src/__test-utils__/CubeTestApplication.ts +25 -0
  496. package/src/__test-utils__/FakeCubeEngine.ts +27 -0
  497. package/src/__test-utils__/FakeCubeIngestCatalog.ts +18 -0
  498. package/src/__test-utils__/FakeCubeServiceCatalog.ts +57 -0
  499. package/src/components/CubeAddItems.tsx +13 -6
  500. package/src/components/CubeDialogTheme.ts +25 -0
  501. package/src/components/CubeEditor.tsx +155 -129
  502. package/src/components/CubeFileMenu.tsx +127 -0
  503. package/src/components/CubeLambdaImportBanner.tsx +97 -0
  504. package/src/components/CubeNodeIcon.tsx +7 -0
  505. package/src/components/CubeSchemaColumnsTable.tsx +7 -2
  506. package/src/components/canvas/CubeCanvas.tsx +52 -13
  507. package/src/components/canvas/CubeCanvasContextMenu.tsx +33 -2
  508. package/src/components/canvas/CubeCanvasElements.ts +76 -3
  509. package/src/components/canvas/CubeCanvasLayout.ts +1 -1
  510. package/src/components/canvas/CubeCanvasNode.tsx +30 -3
  511. package/src/components/dev-settings/CubeDevSettings.tsx +154 -0
  512. package/src/components/editors/CubeColumnChecklist.tsx +8 -2
  513. package/src/components/editors/CubeColumnPicker.tsx +6 -3
  514. package/src/components/editors/CubeConcatEditor.tsx +2 -2
  515. package/src/components/editors/CubeExpressionFilterEditor.tsx +193 -0
  516. package/src/components/editors/CubeExtendEditor.tsx +3 -3
  517. package/src/components/editors/CubeFilterEditor.tsx +13 -1
  518. package/src/components/editors/CubeFunctionSourceEditor.tsx +140 -0
  519. package/src/components/editors/CubeJoinEditor.tsx +23 -4
  520. package/src/components/editors/CubeNodeEditorPanel.tsx +22 -10
  521. package/src/components/editors/CubeNodeEditorPopper.tsx +9 -1
  522. package/src/components/editors/CubeNodeEditorRegistry.ts +12 -0
  523. package/src/components/editors/CubePivotEditor.tsx +277 -0
  524. package/src/components/editors/CubeRestrictEditor.tsx +8 -2
  525. package/src/components/editors/CubeServiceSourceEditor.tsx +77 -0
  526. package/src/components/grid/CubeColumnFormatDialog.tsx +289 -0
  527. package/src/components/grid/CubeDrilldownBar.tsx +219 -0
  528. package/src/components/grid/CubeGridRegion.tsx +170 -54
  529. package/src/components/grid/CubeGridValues.ts +146 -1
  530. package/src/components/grid/CubeResultGrid.tsx +443 -41
  531. package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
  532. package/src/components/grid/CubeServerSideGrid.tsx +200 -0
  533. package/src/components/grid/CubeSqlDialog.tsx +90 -0
  534. package/src/components/grid/CubeSqlFormat.ts +37 -0
  535. package/src/components/palette/CubePalette.tsx +45 -12
  536. package/src/components/show-pure/CubeShowPureDialog.tsx +19 -5
  537. package/src/components/source-picker/CubeDataProductTab.tsx +169 -75
  538. package/src/components/source-picker/CubeDirectConnectionTab.tsx +42 -30
  539. package/src/components/source-picker/CubeFunctionSteps.tsx +244 -0
  540. package/src/components/source-picker/CubeIngestTab.tsx +159 -79
  541. package/src/components/source-picker/CubeInlineModelTab.tsx +110 -81
  542. package/src/components/source-picker/CubePickerListItem.tsx +118 -0
  543. package/src/components/source-picker/CubeProjectTab.tsx +6 -3
  544. package/src/components/source-picker/CubeServiceTab.tsx +151 -0
  545. package/src/components/source-picker/CubeSourcePicker.tsx +54 -18
  546. package/src/components/source-picker/CubeTablePreview.tsx +49 -0
  547. package/src/components/spec-transfer/CubeImportPureDialog.tsx +122 -0
  548. package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +21 -8
  549. package/src/graph-manager/CubeDataProductCatalog.ts +11 -0
  550. package/src/graph-manager/CubeEngine.ts +51 -1
  551. package/src/graph-manager/CubeEngineClientSettings.ts +64 -0
  552. package/src/graph-manager/CubeIngest.ts +15 -0
  553. package/src/graph-manager/CubeIngestCatalog.ts +33 -0
  554. package/src/graph-manager/CubeLakehouseRuntime.ts +43 -0
  555. package/src/graph-manager/CubeProjectCatalog.ts +3 -3
  556. package/src/graph-manager/CubeService.ts +29 -0
  557. package/src/graph-manager/CubeServiceCatalog.ts +35 -0
  558. package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +115 -5
  559. package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +13 -7
  560. package/src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts +312 -0
  561. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +35 -9
  562. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +6 -15
  563. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.ts +471 -0
  564. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +70 -15
  565. package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +3 -1
  566. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +7 -1
  567. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +122 -7
  568. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +9 -4
  569. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.ts +92 -0
  570. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +6 -1
  571. package/src/index.ts +32 -2
  572. package/src/stores/CubeAddPlacement.ts +25 -5
  573. package/src/stores/CubeDevSettingsState.ts +117 -0
  574. package/src/stores/CubeEditorState.ts +687 -197
  575. package/src/stores/CubeEngineChecks.ts +240 -0
  576. package/src/stores/CubeExamples.ts +70 -1
  577. package/src/stores/CubeExamplesState.ts +4 -2
  578. package/src/stores/CubeExecutionState.ts +26 -57
  579. package/src/stores/CubeExportState.ts +196 -0
  580. package/src/stores/CubeExpressionFilterCheck.ts +218 -0
  581. package/src/stores/CubeExtendTyping.ts +6 -46
  582. package/src/stores/CubeFunctionRecheck.ts +97 -0
  583. package/src/stores/CubeGridFetcher.ts +302 -0
  584. package/src/stores/CubeGridQuickActions.ts +33 -11
  585. package/src/stores/CubeGridState.ts +450 -0
  586. package/src/stores/CubeHost.ts +48 -0
  587. package/src/stores/CubeLambdaImportState.ts +434 -0
  588. package/src/stores/CubeLambdaSources.ts +390 -0
  589. package/src/stores/CubeQueryRun.ts +169 -0
  590. package/src/stores/CubeRunStatsState.ts +91 -0
  591. package/src/stores/CubeRunningStepLambda.ts +62 -0
  592. package/src/stores/CubeServiceRecheck.ts +53 -0
  593. package/src/stores/CubeShowPureState.ts +51 -12
  594. package/src/stores/CubeSourcePickerState.ts +89 -13
  595. package/src/stores/LocalModelCatalog.ts +6 -1
  596. package/src/stores/editors/CubeExpressionFilterDraft.ts +385 -0
  597. package/src/stores/editors/CubeFunctionDraft.ts +92 -0
  598. package/src/stores/editors/CubeNodeDraftRegistry.ts +27 -2
  599. package/src/stores/editors/CubePivotDraft.ts +355 -0
  600. package/src/stores/fixtures/CubeSalesDuckDbModel.ts +54 -0
  601. package/src/stores/fixtures/CubeTradesModel.ts +36 -1
  602. package/src/stores/source-picker/CubeDataProductTabState.ts +162 -35
  603. package/src/stores/source-picker/CubeDirectConnectionTabState.ts +246 -47
  604. package/src/stores/source-picker/CubeIngestTabState.ts +112 -38
  605. package/src/stores/source-picker/CubeInlineModelTabState.ts +514 -34
  606. package/src/stores/source-picker/CubeProjectTabState.ts +35 -3
  607. package/src/stores/source-picker/CubeServiceTabState.ts +288 -0
  608. package/src/stores/source-picker/CubeSourcePickerTab.ts +31 -2
  609. package/tsconfig.json +50 -0
@@ -16,13 +16,16 @@
16
16
  import type { DepotServerClient } from '@finos/legend-server-depot';
17
17
  import type { LakehouseContractServerClient, LakehouseIngestServerClient, LakehousePlatformServerClient } from '@finos/legend-server-lakehouse';
18
18
  import type { MarketplaceServerClient } from '@finos/legend-server-marketplace';
19
- import type { TracerService } from '@finos/legend-shared';
19
+ import type { CubeExpressionCodec, IR } from '@finos/legend-cube';
20
+ import { type PlainObject, type TracerService } from '@finos/legend-shared';
20
21
  import type { CubeConnectionExplorer } from '../../CubeConnectionExplorer.js';
21
- import type { CubeDataProductCatalog, CubeMarketplaceLinkTarget } from '../../CubeDataProductCatalog.js';
22
+ import type { CubeDataProductCatalog, CubeDataProductModelSource, CubeMarketplaceLinkTarget } from '../../CubeDataProductCatalog.js';
22
23
  import type { CubeEngine } from '../../CubeEngine.js';
23
- import type { CubeIngestCatalog } from '../../CubeIngestCatalog.js';
24
+ import type { CubeEngineClientSettings } from '../../CubeEngineClientSettings.js';
25
+ import type { CubeIngestCatalog, CubeIngestDataSet, CubeIngestDefinitionSource } from '../../CubeIngestCatalog.js';
24
26
  import type { CubeLakehouseEnvironment } from '../../CubeLakehouseEnvironment.js';
25
27
  import type { CubeProjectCatalog } from '../../CubeProjectCatalog.js';
28
+ import type { CubeServiceCatalog } from '../../CubeServiceCatalog.js';
26
29
  import { type V1_CubeEngineConfig } from './v1/V1_LegendCubeEngine.js';
27
30
  /** The engine client's configuration, as the host gives it (e.g. Legend Query's engine server URL) */
28
31
  export type CubeEngineConfig = V1_CubeEngineConfig;
@@ -37,12 +40,25 @@ export declare const buildCubeEngine: (config: CubeEngineConfig, tracerService:
37
40
  getRememberedWarehouse?: (() => string | undefined) | undefined;
38
41
  /** Ingest cubes run only with one, built by `buildCubeIngestCatalog` */
39
42
  ingestCatalog?: CubeIngestCatalog | undefined;
43
+ /** Dev Settings' engine URL and compression, shared by the host's engine clients (PLAN §11.16) */
44
+ clientSettings?: CubeEngineClientSettings | undefined;
45
+ /**
46
+ * The definitions ingest cubes read, for a host whose catalog isn't
47
+ * built by `buildCubeIngestCatalog`, e.g. Studio's workspace
48
+ */
49
+ ingestDefinitionSource?: CubeIngestDefinitionSource | undefined;
50
+ /**
51
+ * The model data product cubes read their project from, for a host whose
52
+ * data products aren't deployed, e.g. Studio's workspace; the project's
53
+ * deployed version otherwise
54
+ */
55
+ dataProductModelSource?: CubeDataProductModelSource | undefined;
40
56
  }) => CubeEngine;
41
57
  /**
42
58
  * The connection explorer of a host that offers direct connections (PLAN
43
59
  * §6.8), over the same engine as its Cube engine
44
60
  */
45
- export declare const buildCubeConnectionExplorer: (config: CubeEngineConfig, tracerService: TracerService) => CubeConnectionExplorer;
61
+ export declare const buildCubeConnectionExplorer: (config: CubeEngineConfig, tracerService: TracerService, clientSettings?: CubeEngineClientSettings) => CubeConnectionExplorer;
46
62
  /** What a host gives Cube to read its deployed data products (PLAN §6.8) */
47
63
  export interface CubeLakehouseServices {
48
64
  readonly contractServerClient: LakehouseContractServerClient;
@@ -77,6 +93,12 @@ export declare const buildCubeDataProductCatalog: (services: CubeLakehouseServic
77
93
  * asks
78
94
  */
79
95
  export declare const buildCubeProjectCatalog: (depotServerClient: DepotServerClient) => CubeProjectCatalog;
96
+ /**
97
+ * The services in the engine's registry (PLAN §6.4), read through their own
98
+ * client, configured as the engine's. The registry isn't in every engine: a
99
+ * host whose engine has none offers no catalog.
100
+ */
101
+ export declare const buildCubeServiceCatalog: (config: CubeEngineConfig, tracerService: TracerService, clientSettings?: CubeEngineClientSettings) => CubeServiceCatalog;
80
102
  /** The viewer's lakehouse environment, which the engine needs to run data product cubes */
81
103
  export declare const buildCubeLakehouseEnvironment: (services: CubeLakehouseServices) => CubeLakehouseEnvironment;
82
104
  /**
@@ -84,5 +106,30 @@ export declare const buildCubeLakehouseEnvironment: (services: CubeLakehouseServ
84
106
  * §6.7), or none without one. It parses definitions with the engine Cube
85
107
  * uses; pass it to `buildCubeEngine` too, so ingest cubes run
86
108
  */
87
- export declare const buildCubeIngestCatalog: (config: CubeEngineConfig, tracerService: TracerService, services: CubeLakehouseServices) => CubeIngestCatalog | undefined;
109
+ export declare const buildCubeIngestCatalog: (config: CubeEngineConfig, tracerService: TracerService, services: CubeLakehouseServices, clientSettings?: CubeEngineClientSettings) => CubeIngestCatalog | undefined;
110
+ /**
111
+ * A lambda Cube emitted, as protocol JSON for a host to keep, e.g. in a
112
+ * Studio ingest definition: plain JSON numbers, and none of the source
113
+ * information Cube stamps on a lambda to place the engine's errors
114
+ */
115
+ export declare const serializeCubeLambdaForHost: (lambda: IR) => PlainObject;
116
+ /**
117
+ * The data sets of an ingest definition's content, its protocol JSON, in
118
+ * order, typed from what it declares; for a host that lists definitions of
119
+ * its own, e.g. Studio's workspace. Throws when the content can't be read.
120
+ */
121
+ export declare const readCubeIngestDataSets: (content: PlainObject) => CubeIngestDataSet[];
122
+ /**
123
+ * The IR of a lambda's protocol JSON, Cube's or the engine's grammar's, for
124
+ * Import Pure (PLAN §11.18): a host's matview, or a pasted lambda. Throws a
125
+ * `CubeLambdaReadError` naming what Cube can't read.
126
+ */
127
+ export declare const readCubeLambdaJson: (json: unknown) => IR;
128
+ /**
129
+ * How Import Pure stores an expression it reads into a step, and reads one a
130
+ * step stores (PLAN §11.18): as the Extend and Filter by Expression editors
131
+ * store the engine's JSON, with no source information and number literals as
132
+ * their digit strings
133
+ */
134
+ export declare const CUBE_EXPRESSION_CODEC: CubeExpressionCodec;
88
135
  //# sourceMappingURL=CubeEngineBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEngineBuilder.d.ts","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/CubeEngineBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeEngineBuilder.d.ts","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/CubeEngineBuilder.ts"],"names":[],"mappings":"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"}
@@ -14,29 +14,38 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { V1_EngineServerClient } from '@finos/legend-graph';
17
+ import { parseLosslessJSON, stringifyLosslessJSON, } from '@finos/legend-shared';
17
18
  import { V1_CubeLakehouseEnvironmentResolver } from './v1/V1_CubeLakehouseEnvironmentResolver.js';
18
19
  import { V1_LegendCubeConnectionExplorer } from './v1/V1_LegendCubeConnectionExplorer.js';
19
20
  import { V1_LegendCubeDataProductCatalog } from './v1/V1_LegendCubeDataProductCatalog.js';
20
21
  import { V1_LegendCubeIngestCatalog } from './v1/V1_LegendCubeIngestCatalog.js';
21
22
  import { V1_LegendCubeProjectCatalog } from './v1/V1_LegendCubeProjectCatalog.js';
23
+ import { V1_LegendCubeServiceCatalog } from './v1/V1_LegendCubeServiceCatalog.js';
24
+ import { V1_readCubeIngestDataSets } from './v1/V1_CubeIngestDefinition.js';
25
+ import { V1_serializeCubeLambda } from './v1/V1_CubeLambdaSerializer.js';
26
+ import { V1_readCubeLambda, V1_readCubeValueSpecification, } from './v1/V1_CubeLambdaReader.js';
27
+ import { V1_readCubeExpression } from './v1/V1_CubeExpression.js';
22
28
  import { V1_LegendCubeEngine, } from './v1/V1_LegendCubeEngine.js';
23
29
  /**
24
30
  * The Cube engine of a host (PLAN §3.2): the only place that builds the
25
31
  * Legend implementation, so hosts never name a V1_* symbol
26
32
  */
27
33
  export const buildCubeEngine = (config, tracerService, options) => new V1_LegendCubeEngine(config, tracerService, {
34
+ clientSettings: options?.clientSettings,
28
35
  lakehouseEnvironment: options?.lakehouseEnvironment,
29
36
  getRememberedWarehouse: options?.getRememberedWarehouse,
37
+ dataProductModels: options?.dataProductModelSource,
30
38
  // the catalog reads the definitions the engine types and runs on
31
- ingestDefinitions: options?.ingestCatalog instanceof V1_LegendCubeIngestCatalog
32
- ? options.ingestCatalog
33
- : undefined,
39
+ ingestDefinitions: options?.ingestDefinitionSource ??
40
+ (options?.ingestCatalog instanceof V1_LegendCubeIngestCatalog
41
+ ? options.ingestCatalog
42
+ : undefined),
34
43
  });
35
44
  /**
36
45
  * The connection explorer of a host that offers direct connections (PLAN
37
46
  * §6.8), over the same engine as its Cube engine
38
47
  */
39
- export const buildCubeConnectionExplorer = (config, tracerService) => new V1_LegendCubeConnectionExplorer(config, tracerService);
48
+ export const buildCubeConnectionExplorer = (config, tracerService, clientSettings) => new V1_LegendCubeConnectionExplorer(config, tracerService, clientSettings);
40
49
  /** The deployed data products of a host with a lakehouse and a depot */
41
50
  export const buildCubeDataProductCatalog = (services) => new V1_LegendCubeDataProductCatalog(services.contractServerClient, services.depotServerClient, services.getAccessToken, {
42
51
  marketplaceServerClient: services.marketplaceServerClient,
@@ -50,6 +59,18 @@ export const buildCubeDataProductCatalog = (services) => new V1_LegendCubeDataPr
50
59
  * asks
51
60
  */
52
61
  export const buildCubeProjectCatalog = (depotServerClient) => new V1_LegendCubeProjectCatalog(depotServerClient);
62
+ /**
63
+ * The services in the engine's registry (PLAN §6.4), read through their own
64
+ * client, configured as the engine's. The registry isn't in every engine: a
65
+ * host whose engine has none offers no catalog.
66
+ */
67
+ export const buildCubeServiceCatalog = (config, tracerService, clientSettings) => {
68
+ const engineClient = new V1_EngineServerClient(config);
69
+ // every call throws without one
70
+ engineClient.setTracerService(tracerService);
71
+ clientSettings?.register(engineClient);
72
+ return new V1_LegendCubeServiceCatalog(() => engineClient.getServicesInfo());
73
+ };
53
74
  /** The viewer's lakehouse environment, which the engine needs to run data product cubes */
54
75
  export const buildCubeLakehouseEnvironment = (services) => new V1_CubeLakehouseEnvironmentResolver(services.contractServerClient, services.getAccessToken, services.getCurrentUser, services.getPreferredEnvironment);
55
76
  /**
@@ -57,7 +78,7 @@ export const buildCubeLakehouseEnvironment = (services) => new V1_CubeLakehouseE
57
78
  * §6.7), or none without one. It parses definitions with the engine Cube
58
79
  * uses; pass it to `buildCubeEngine` too, so ingest cubes run
59
80
  */
60
- export const buildCubeIngestCatalog = (config, tracerService, services) => {
81
+ export const buildCubeIngestCatalog = (config, tracerService, services, clientSettings) => {
61
82
  const { platformServerClient, ingestServerClient } = services;
62
83
  if (!platformServerClient || !ingestServerClient) {
63
84
  return undefined;
@@ -65,7 +86,44 @@ export const buildCubeIngestCatalog = (config, tracerService, services) => {
65
86
  const engineClient = new V1_EngineServerClient(config);
66
87
  // every call throws without one
67
88
  engineClient.setTracerService(tracerService);
89
+ clientSettings?.register(engineClient);
68
90
  const environment = new V1_CubeLakehouseEnvironmentResolver(services.contractServerClient, services.getAccessToken, services.getCurrentUser, services.getPreferredEnvironment);
69
91
  return new V1_LegendCubeIngestCatalog(platformServerClient, ingestServerClient, () => environment.resolveBaseEnvironment(), (code) => engineClient.grammarToJSON_model(code), services.getAccessToken);
70
92
  };
93
+ /** The JSON without any `sourceInformation`, at any depth */
94
+ const withoutSourceInformation = (json) => Array.isArray(json)
95
+ ? json.map(withoutSourceInformation)
96
+ : json !== null && typeof json === 'object'
97
+ ? Object.fromEntries(Object.entries(json)
98
+ .filter(([key]) => key !== 'sourceInformation')
99
+ .map(([key, value]) => [key, withoutSourceInformation(value)]))
100
+ : json;
101
+ /**
102
+ * A lambda Cube emitted, as protocol JSON for a host to keep, e.g. in a
103
+ * Studio ingest definition: plain JSON numbers, and none of the source
104
+ * information Cube stamps on a lambda to place the engine's errors
105
+ */
106
+ export const serializeCubeLambdaForHost = (lambda) => withoutSourceInformation(JSON.parse(stringifyLosslessJSON(V1_serializeCubeLambda(lambda))));
107
+ /**
108
+ * The data sets of an ingest definition's content, its protocol JSON, in
109
+ * order, typed from what it declares; for a host that lists definitions of
110
+ * its own, e.g. Studio's workspace. Throws when the content can't be read.
111
+ */
112
+ export const readCubeIngestDataSets = (content) => V1_readCubeIngestDataSets(content);
113
+ /**
114
+ * The IR of a lambda's protocol JSON, Cube's or the engine's grammar's, for
115
+ * Import Pure (PLAN §11.18): a host's matview, or a pasted lambda. Throws a
116
+ * `CubeLambdaReadError` naming what Cube can't read.
117
+ */
118
+ export const readCubeLambdaJson = (json) => V1_readCubeLambda(json);
119
+ /**
120
+ * How Import Pure stores an expression it reads into a step, and reads one a
121
+ * step stores (PLAN §11.18): as the Extend and Filter by Expression editors
122
+ * store the engine's JSON, with no source information and number literals as
123
+ * their digit strings
124
+ */
125
+ export const CUBE_EXPRESSION_CODEC = {
126
+ write: (lambda) => V1_readCubeExpression(parseLosslessJSON(stringifyLosslessJSON(V1_serializeCubeLambda(lambda)))).lambda,
127
+ read: (json) => V1_readCubeValueSpecification(json),
128
+ };
71
129
  //# sourceMappingURL=CubeEngineBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEngineBuilder.js","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/CubeEngineBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeEngineBuilder.js","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/CubeEngineBuilder.ts"],"names":[],"mappings":"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"}
@@ -18,12 +18,15 @@ import type { PlainObject } from '@finos/legend-shared';
18
18
  import { type CubeDataProductProject } from '../../../CubeDataProduct.js';
19
19
  /** Whether a lambda reads a data product's access point, anywhere in it */
20
20
  export declare const V1_hasCubeDataProductAccessor: (ir: IR) => boolean;
21
- /** The model typing runs on: the project alone, with no runtime */
22
- export declare const V1_buildCubeDataProductTypingContext: (project: CubeDataProductProject) => PlainObject;
23
21
  /**
24
- * The model a run runs on: the project, then a model holding only the
25
- * lakehouse runtime at Cube's fixed path, with the viewer's environment and
26
- * the warehouse, always given
22
+ * The model typing runs on: the project alone, with no runtime; the host's
23
+ * model of it when it has one, e.g. Studio's workspace
27
24
  */
28
- export declare const V1_buildCubeDataProductExecutionContext: (project: CubeDataProductProject, environment: string, warehouse: string) => PlainObject;
25
+ export declare const V1_buildCubeDataProductTypingContext: (project: CubeDataProductProject, projectModel?: PlainObject | undefined) => PlainObject;
26
+ /**
27
+ * The model a run runs on: the project (the host's model of it, when it has
28
+ * one), then a model holding only the lakehouse runtime at Cube's fixed path,
29
+ * with the viewer's environment and the warehouse, always given
30
+ */
31
+ export declare const V1_buildCubeDataProductExecutionContext: (project: CubeDataProductProject, environment: string, warehouse: string, projectModel?: PlainObject | undefined) => PlainObject;
29
32
  //# sourceMappingURL=V1_CubeDataProductModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"V1_CubeDataProductModel.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AAyBrC,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,GAAI,IAAI,EAAE,KAAG,OAetD,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,oCAAoC,GAC/C,SAAS,sBAAsB,KAC9B,WAAiC,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,GAClD,SAAS,sBAAsB,EAC/B,aAAa,MAAM,EACnB,WAAW,MAAM,KAChB,WAsBD,CAAC"}
1
+ {"version":3,"file":"V1_CubeDataProductModel.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AA0BrC,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,GAAI,IAAI,EAAE,KAAG,OAetD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC,GAC/C,SAAS,sBAAsB,EAC/B,eAAe,WAAW,GAAG,SAAS,KACrC,WAAiD,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,GAClD,SAAS,sBAAsB,EAC/B,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,eAAe,WAAW,GAAG,SAAS,KACrC,WAsBD,CAAC"}
@@ -14,6 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { CUBE_DATA_PRODUCT_RUNTIME_PATH, } from '../../../CubeDataProduct.js';
17
+ import { CUBE_LAKEHOUSE_RUNTIME_KIND } from '../../../CubeLakehouseRuntime.js';
17
18
  // The models a data product cube's engine calls run on (PLAN §6.8), built for
18
19
  // each call and never saved: the project at its saved version, and for a run
19
20
  // a lakehouse runtime at Cube's fixed path, whose environment and warehouse
@@ -51,17 +52,20 @@ export const V1_hasCubeDataProductAccessor = (ir) => {
51
52
  };
52
53
  return visit(ir);
53
54
  };
54
- /** The model typing runs on: the project alone, with no runtime */
55
- export const V1_buildCubeDataProductTypingContext = (project) => pointerOf(project);
56
55
  /**
57
- * The model a run runs on: the project, then a model holding only the
58
- * lakehouse runtime at Cube's fixed path, with the viewer's environment and
59
- * the warehouse, always given
56
+ * The model typing runs on: the project alone, with no runtime; the host's
57
+ * model of it when it has one, e.g. Studio's workspace
60
58
  */
61
- export const V1_buildCubeDataProductExecutionContext = (project, environment, warehouse) => ({
59
+ export const V1_buildCubeDataProductTypingContext = (project, projectModel) => projectModel ?? pointerOf(project);
60
+ /**
61
+ * The model a run runs on: the project (the host's model of it, when it has
62
+ * one), then a model holding only the lakehouse runtime at Cube's fixed path,
63
+ * with the viewer's environment and the warehouse, always given
64
+ */
65
+ export const V1_buildCubeDataProductExecutionContext = (project, environment, warehouse, projectModel) => ({
62
66
  _type: 'combination',
63
67
  contexts: [
64
- pointerOf(project),
68
+ projectModel ?? pointerOf(project),
65
69
  {
66
70
  _type: 'data',
67
71
  elements: [
@@ -69,7 +73,7 @@ export const V1_buildCubeDataProductExecutionContext = (project, environment, wa
69
73
  _type: 'runtime',
70
74
  ...splitPath(CUBE_DATA_PRODUCT_RUNTIME_PATH),
71
75
  runtimeValue: {
72
- _type: 'LakehouseRuntime',
76
+ _type: CUBE_LAKEHOUSE_RUNTIME_KIND,
73
77
  connectionStores: [],
74
78
  connections: [],
75
79
  mappings: [],
@@ -1 +1 @@
1
- {"version":3,"file":"V1_CubeDataProductModel.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,8BAA8B,GAE/B,MAAM,6BAA6B,CAAC;AAErC,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,8BAA8B;AAE9B,MAAM,SAAS,GAAG,CAAC,IAAY,EAAqC,EAAE;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF,4FAA4F;AAC5F,MAAM,SAAS,GAAG,CAAC,OAA+B,EAAe,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,0BAA0B,EAAE,EAAE;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B;CACF,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAM,EAAW,EAAE;IAC/D,MAAM,KAAK,GAAG,CAAC,KAAc,EAAW,EAAE;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,KAAoB,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC;IACF,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,OAA+B,EAClB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CACrD,OAA+B,EAC/B,WAAmB,EACnB,SAAiB,EACJ,EAAE,CAAC,CAAC;IACjB,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE;QACR,SAAS,CAAC,OAAO,CAAC;QAClB;YACE,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,SAAS;oBAChB,GAAG,SAAS,CAAC,8BAA8B,CAAC;oBAC5C,YAAY,EAAE;wBACZ,KAAK,EAAE,kBAAkB;wBACzB,gBAAgB,EAAE,EAAE;wBACpB,WAAW,EAAE,EAAE;wBACf,QAAQ,EAAE,EAAE;wBACZ,WAAW;wBACX,SAAS;qBACV;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"V1_CubeDataProductModel.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,8BAA8B,GAE/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,8BAA8B;AAE9B,MAAM,SAAS,GAAG,CAAC,IAAY,EAAqC,EAAE;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF,4FAA4F;AAC5F,MAAM,SAAS,GAAG,CAAC,OAA+B,EAAe,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,0BAA0B,EAAE,EAAE;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B;CACF,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAM,EAAW,EAAE;IAC/D,MAAM,KAAK,GAAG,CAAC,KAAc,EAAW,EAAE;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,KAAoB,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC;IACF,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,OAA+B,EAC/B,YAAsC,EACzB,EAAE,CAAC,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CACrD,OAA+B,EAC/B,WAAmB,EACnB,SAAiB,EACjB,YAAsC,EACzB,EAAE,CAAC,CAAC;IACjB,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE;QACR,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC;QAClC;YACE,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,SAAS;oBAChB,GAAG,SAAS,CAAC,8BAA8B,CAAC;oBAC5C,YAAY,EAAE;wBACZ,KAAK,EAAE,2BAA2B;wBAClC,gBAAgB,EAAE,EAAE;wBACpB,WAAW,EAAE,EAAE;wBACf,QAAQ,EAAE,EAAE;wBACZ,WAAW;wBACX,SAAS;qBACV;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Copyright (c) 2026-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { PlainObject } from '@finos/legend-shared';
17
+ import type { CubeOutlineFunction } from '../../../CubeEngine.js';
18
+ export declare const V1_CUBE_FUNCTION_PROBLEM: {
19
+ readonly PARAMETER_TYPE: (name: string, type: string) => string;
20
+ readonly PARAMETER_MULTIPLICITY: (name: string, multiplicity: string) => string;
21
+ readonly RUNTIME_NOT_AN_ELEMENT: "It reads through a runtime given by an expression, which Cube can't tell";
22
+ readonly TWO_RUNTIMES: (runtimes: readonly string[]) => string;
23
+ };
24
+ /**
25
+ * The model's functions that return a relation, `[1]`, in model order: those
26
+ * of `listed`, with the runtimes read through every function of `all` (a
27
+ * project's own functions, and its dependencies' too)
28
+ */
29
+ export declare const V1_buildCubeFunctionOutlines: (listed: readonly PlainObject[], all?: readonly PlainObject[]) => CubeOutlineFunction[];
30
+ //# sourceMappingURL=V1_CubeFunctionOutlineBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeFunctionOutlineBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,wBAAwB,CAAC;AA6BhC,eAAO,MAAM,wBAAwB;oCACZ,MAAM,QAAQ,MAAM,KAAG,MAAM;4CAErB,MAAM,gBAAgB,MAAM,KAAG,MAAM;;sCAI3C,SAAS,MAAM,EAAE,KAAG,MAAM;CAE3C,CAAC;AAwNX;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GACvC,QAAQ,SAAS,WAAW,EAAE,EAC9B,MAAK,SAAS,WAAW,EAAW,KACnC,mBAAmB,EA4BrB,CAAC"}
@@ -0,0 +1,229 @@
1
+ /**
2
+ * Copyright (c) 2026-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ // The functions of a parsed model that return a relation (PLAN §6.5), read
17
+ // as plain JSON like the rest of the outline: their parameters, the columns
18
+ // they declare, and the runtime their body reads through, if any. A cube on
19
+ // a function with its own `from(runtime)` must run on that runtime: run on
20
+ // another, the query reads different databases depending on its shape.
21
+ const FUNCTION_TYPE = 'function';
22
+ const RELATION_TYPES = [
23
+ 'Relation',
24
+ 'meta::pure::metamodel::relation::Relation',
25
+ ];
26
+ const FROM_FUNCTIONS = ['from', 'meta::pure::mapping::from'];
27
+ /** How deep calls are followed, for a runtime; deeper calls aren't read */
28
+ const MAX_CALL_DEPTH = 20;
29
+ /** The primitive types a parameter can take a value of (user, 2026-10-12) */
30
+ const VALUE_TYPES = [
31
+ 'String',
32
+ 'Integer',
33
+ 'Float',
34
+ 'Decimal',
35
+ 'Boolean',
36
+ 'StrictDate',
37
+ 'DateTime',
38
+ 'Date',
39
+ ];
40
+ export const V1_CUBE_FUNCTION_PROBLEM = {
41
+ PARAMETER_TYPE: (name, type) => `Its parameter "${name}" is of type ${type}, which Cube can't take a value for yet`,
42
+ PARAMETER_MULTIPLICITY: (name, multiplicity) => `Its parameter "${name}" takes ${multiplicity} values; Cube takes one value, or none`,
43
+ RUNTIME_NOT_AN_ELEMENT: "It reads through a runtime given by an expression, which Cube can't tell",
44
+ TWO_RUNTIMES: (runtimes) => `It reads through more than one runtime: ${runtimes.join(', ')}`,
45
+ };
46
+ const asObject = (value) => value && typeof value === 'object' && !Array.isArray(value)
47
+ ? value
48
+ : {};
49
+ const asList = (value) => Array.isArray(value) ? value : [];
50
+ const asString = (value) => typeof value === 'string' ? value : undefined;
51
+ const lastSegment = (path) => {
52
+ const index = path.lastIndexOf('::');
53
+ return index < 0 ? path : path.slice(index + 2);
54
+ };
55
+ /** `[1]`, `[0..1]`, `[*]`, `[1..*]`, as the grammar writes it */
56
+ const multiplicityText = (json) => {
57
+ const { lowerBound, upperBound } = asObject(json);
58
+ const lower = typeof lowerBound === 'number' ? lowerBound : 0;
59
+ const upper = typeof upperBound === 'number' ? upperBound : undefined;
60
+ if (upper === undefined) {
61
+ return lower === 0 ? '[*]' : `[${lower}..*]`;
62
+ }
63
+ return lower === upper ? `[${lower}]` : `[${lower}..${upper}]`;
64
+ };
65
+ /** The engine's suffix for a multiplicity in a function's full name */
66
+ const multiplicitySuffix = (json) => {
67
+ const { lowerBound, upperBound } = asObject(json);
68
+ const lower = typeof lowerBound === 'number' ? lowerBound : 0;
69
+ const upper = typeof upperBound === 'number' ? upperBound : undefined;
70
+ if (upper === undefined) {
71
+ return lower === 0 ? 'MANY' : `$${lower}_MANY$`;
72
+ }
73
+ return lower === upper ? String(lower) : `$${lower}_${upper}$`;
74
+ };
75
+ const typePathOf = (genericType) => asString(asObject(asObject(genericType).rawType).fullPath) ?? '';
76
+ const returnsRelation = (element) => RELATION_TYPES.includes(typePathOf(element.returnGenericType)) &&
77
+ multiplicityText(element.returnMultiplicity) === '[1]';
78
+ /**
79
+ * The path a function is called by: its full name without the signature the
80
+ * engine appends (`ordersAbove_Float_1__Relation_1_` → `ordersAbove`)
81
+ */
82
+ const callPathOf = (element) => {
83
+ const name = asString(element.name) ?? '';
84
+ const pkg = asString(element.package);
85
+ const suffix = `_${asList(element.parameters)
86
+ .map((parameter) => {
87
+ const json = asObject(parameter);
88
+ return `${lastSegment(typePathOf(json.genericType))}_${multiplicitySuffix(json.multiplicity)}_`;
89
+ })
90
+ .join('')}_${lastSegment(typePathOf(element.returnGenericType))}_${multiplicitySuffix(element.returnMultiplicity)}_`;
91
+ const base = name.endsWith(suffix)
92
+ ? name.slice(0, -suffix.length)
93
+ : // a name the engine wrote otherwise: its first segment
94
+ (name.split('_')[0] ?? name);
95
+ return pkg ? `${pkg}::${base}` : base;
96
+ };
97
+ const signatureOf = (element) => {
98
+ const name = asString(element.name) ?? '';
99
+ const pkg = asString(element.package);
100
+ return pkg ? `${pkg}::${name}` : name;
101
+ };
102
+ const buildParameter = (json) => {
103
+ const parameter = asObject(json);
104
+ return {
105
+ name: asString(parameter.name) ?? '',
106
+ type: typePathOf(parameter.genericType),
107
+ multiplicity: multiplicityText(parameter.multiplicity),
108
+ };
109
+ };
110
+ const buildColumns = (element) => {
111
+ const [relationType] = asList(asObject(element.returnGenericType).typeArguments);
112
+ return asList(asObject(asObject(relationType).rawType).columns).map((json) => {
113
+ const columnJson = asObject(json);
114
+ return {
115
+ name: asString(columnJson.name) ?? '',
116
+ type: typePathOf(columnJson.genericType),
117
+ };
118
+ });
119
+ };
120
+ /** Why a parameter can't be given a value, if it can't */
121
+ const parameterProblemOf = (parameter) => !VALUE_TYPES.includes(parameter.type)
122
+ ? V1_CUBE_FUNCTION_PROBLEM.PARAMETER_TYPE(parameter.name, lastSegment(parameter.type) || '(unknown)')
123
+ : !['[1]', '[0..1]'].includes(parameter.multiplicity)
124
+ ? V1_CUBE_FUNCTION_PROBLEM.PARAMETER_MULTIPLICITY(parameter.name, parameter.multiplicity)
125
+ : undefined;
126
+ /**
127
+ * Walks the model's functions for the runtimes their `from()` calls name,
128
+ * following calls to the model's functions (by path, or by name when only one
129
+ * function has it), each function read once
130
+ */
131
+ class V1_CubeRuntimeFinder {
132
+ byPath = new Map();
133
+ byName = new Map();
134
+ uses = new Map();
135
+ constructor(functions) {
136
+ functions.forEach((element) => {
137
+ const path = callPathOf(element);
138
+ this.byPath.set(path, [...(this.byPath.get(path) ?? []), element]);
139
+ const name = lastSegment(path);
140
+ this.byName.set(name, [...(this.byName.get(name) ?? []), element]);
141
+ });
142
+ }
143
+ useOf(element) {
144
+ const use = { runtimes: new Set(), notAnElement: false };
145
+ this.walkFunction(element, use, new Set(), 0);
146
+ return use;
147
+ }
148
+ walkFunction(element, use, visiting, depth) {
149
+ const known = this.uses.get(element);
150
+ if (known) {
151
+ known.runtimes.forEach((runtime) => use.runtimes.add(runtime));
152
+ use.notAnElement ||= known.notAnElement;
153
+ return;
154
+ }
155
+ if (visiting.has(element) || depth > MAX_CALL_DEPTH) {
156
+ return;
157
+ }
158
+ visiting.add(element);
159
+ const own = { runtimes: new Set(), notAnElement: false };
160
+ asList(element.body).forEach((value) => this.walkValue(value, own, visiting, depth));
161
+ visiting.delete(element);
162
+ this.uses.set(element, own);
163
+ own.runtimes.forEach((runtime) => use.runtimes.add(runtime));
164
+ use.notAnElement ||= own.notAnElement;
165
+ }
166
+ calledFunctions(name) {
167
+ return (this.byPath.get(name) ??
168
+ (!name.includes('::') && this.byName.get(name)?.length === 1
169
+ ? (this.byName.get(name) ?? [])
170
+ : []));
171
+ }
172
+ walkValue(value, use, visiting, depth) {
173
+ if (Array.isArray(value)) {
174
+ value.forEach((item) => this.walkValue(item, use, visiting, depth));
175
+ return;
176
+ }
177
+ const json = asObject(value);
178
+ if (json._type === 'func') {
179
+ const name = asString(json.function) ?? '';
180
+ const parameters = asList(json.parameters);
181
+ if (FROM_FUNCTIONS.includes(name) && parameters.length >= 2) {
182
+ const runtime = asObject(parameters[parameters.length - 1]);
183
+ const path = asString(runtime.fullPath);
184
+ if (runtime._type === 'packageableElementPtr' && path) {
185
+ use.runtimes.add(path);
186
+ }
187
+ else {
188
+ use.notAnElement = true;
189
+ }
190
+ }
191
+ this.calledFunctions(name).forEach((called) => this.walkFunction(called, use, visiting, depth + 1));
192
+ }
193
+ Object.values(json).forEach((child) => {
194
+ if (child && typeof child === 'object') {
195
+ this.walkValue(child, use, visiting, depth);
196
+ }
197
+ });
198
+ }
199
+ }
200
+ /**
201
+ * The model's functions that return a relation, `[1]`, in model order: those
202
+ * of `listed`, with the runtimes read through every function of `all` (a
203
+ * project's own functions, and its dependencies' too)
204
+ */
205
+ export const V1_buildCubeFunctionOutlines = (listed, all = listed) => {
206
+ const finder = new V1_CubeRuntimeFinder(all.filter((element) => element._type === FUNCTION_TYPE));
207
+ return listed
208
+ .filter((element) => element._type === FUNCTION_TYPE && returnsRelation(element))
209
+ .map((element) => {
210
+ const parameters = asList(element.parameters).map(buildParameter);
211
+ const use = finder.useOf(element);
212
+ const runtimes = [...use.runtimes];
213
+ const problem = parameters.map(parameterProblemOf).find((each) => each !== undefined) ??
214
+ (use.notAnElement
215
+ ? V1_CUBE_FUNCTION_PROBLEM.RUNTIME_NOT_AN_ELEMENT
216
+ : runtimes.length > 1
217
+ ? V1_CUBE_FUNCTION_PROBLEM.TWO_RUNTIMES(runtimes)
218
+ : undefined);
219
+ return {
220
+ path: callPathOf(element),
221
+ signature: signatureOf(element),
222
+ parameters,
223
+ columns: buildColumns(element),
224
+ runtime: runtimes.length === 1 ? runtimes[0] : undefined,
225
+ problem,
226
+ };
227
+ });
228
+ };
229
+ //# sourceMappingURL=V1_CubeFunctionOutlineBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeFunctionOutlineBuilder.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"V1_CubeIngestDefinition.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAWlE,qCAAqC;AACrC,eAAO,MAAM,8BAA8B;;;wCAId,MAAM,KAAG,MAAM;oCAEnB,MAAM,QAAQ,MAAM,KAAG,MAAM;CAE5C,CAAC;AA6HX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,WAAW,KACnB,iBAAiB,EAYnB,CAAC"}
1
+ {"version":3,"file":"V1_CubeIngestDefinition.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAuBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAWlE,qCAAqC;AACrC,eAAO,MAAM,8BAA8B;;;wCAId,MAAM,KAAG,MAAM;oCAEnB,MAAM,QAAQ,MAAM,KAAG,MAAM;CAE5C,CAAC;AAsJX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,WAAW,KACnB,iBAAiB,EAYnB,CAAC"}