@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
@@ -1 +1 @@
1
- {"version":3,"file":"CubeGridQuickActions.js","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeGridQuickActions.js","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
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 AggregationFunction, type CheckedDrilldown, type ColumnFormat, type ColumnDirection, type DrilldownCell } from '@finos/legend-cube';
17
+ import { CubeEngineError, type CubeResultValue } from '../graph-manager/CubeEngine.js';
18
+ import type { CubeEditorState } from './CubeEditorState.js';
19
+ import type { CubeExecutionResult } from './CubeExecutionState.js';
20
+ /** How the grid shows a run (spec §12.1, PLAN §11.10) */
21
+ export declare enum CubeGridMode {
22
+ /** Each sort and drill-down level runs on the engine (the default) */
23
+ SERVER_SIDE = "serverSide",
24
+ /** The run's rows, grouped, pivoted and filtered in the browser */
25
+ LOCAL = "local"
26
+ }
27
+ /** The id ag-grid gives the column of the drill-down's groups */
28
+ export declare const CUBE_GRID_GROUP_COLUMN_ID = "ag-Grid-AutoColumn";
29
+ /** A column's id in the grid: its position, as `c<position>` */
30
+ export declare const CUBE_GRID_COLUMN_ID_PREFIX = "c";
31
+ /** A row of the server-side grid: a group of the drill-down, or a row of the run */
32
+ export interface CubeGridRowData {
33
+ /** Unique among the grid's rows: its group's keys, typed, or its group's and its position */
34
+ readonly id: string;
35
+ /** The keys of its group and the groups around it, outermost first, as the engine returned them */
36
+ readonly keys: readonly DrilldownCell[];
37
+ readonly isGroup: boolean;
38
+ /** Each run column's value, `undefined` where a group row shows none */
39
+ readonly cells: readonly (CubeResultValue | undefined)[];
40
+ /** On a group row, how many of the run's rows it holds */
41
+ readonly count?: number | undefined;
42
+ }
43
+ /** A sort ag-grid asks for: a column's id and its direction */
44
+ export interface CubeGridSortRequest {
45
+ readonly colId: string;
46
+ readonly sort: 'asc' | 'desc';
47
+ }
48
+ /**
49
+ * The grid's state beyond the run (PLAN §11.10): its mode, remembered for the
50
+ * user, and in server-side mode the rows of each level ag-grid asks for, from
51
+ * the run on screen (`CubeGridFetcher`), with what the levels say: an error,
52
+ * and whether a level was cut at the row limit.
53
+ */
54
+ export declare class CubeGridState {
55
+ readonly editorState: CubeEditorState;
56
+ mode: CubeGridMode;
57
+ /** The last fetch's error, until the next fetch or a new run */
58
+ fetchError: CubeEngineError | undefined;
59
+ /** Some level shown was cut at the run's row limit */
60
+ hasLimitedLevel: boolean;
61
+ /** Fetches in flight */
62
+ fetching: number;
63
+ /** The grid on screen: answers for an earlier one are left alone */
64
+ private gridToken;
65
+ /** The drill-down's settings dialog is open */
66
+ isSettingsOpen: boolean;
67
+ /** The column whose format the Format Column dialog edits, while it is open */
68
+ formatColumn: string | undefined;
69
+ constructor(editorState: CubeEditorState);
70
+ get isServerSide(): boolean;
71
+ /** The cube's drill-down, checked against the run on screen; none without a run */
72
+ get drilldown(): CheckedDrilldown | undefined;
73
+ /**
74
+ * Shows the run another way. Both modes show the same run, so nothing runs
75
+ * again: local mode shows its rows, server-side mode fetches what it needs
76
+ */
77
+ setMode(mode: CubeGridMode): void;
78
+ /**
79
+ * Why 'Drilldown by' can't be used on the run's column, if it can't: a
80
+ * type that can't be grouped, a column that is a level already, a cube
81
+ * saved by a newer version
82
+ */
83
+ getAddLevelBlocker(column: string): string | undefined;
84
+ private setDrilldown;
85
+ /**
86
+ * Adds the column as the drill-down's innermost level, an undo step that
87
+ * leaves the rows current (spec §12.4); the grid shows it server-side,
88
+ * the only mode with levels (spec §12.1)
89
+ */
90
+ addLevel(column: string): void;
91
+ /** Removes the level at the position: the ones inside it move out */
92
+ removeLevel(index: number): void;
93
+ /** Sets how a group row shows the run's column: a function, or nothing */
94
+ setAggregation(column: string, fn: AggregationFunction | null): void;
95
+ /** Removes the drill-down: its levels and its aggregations */
96
+ clearDrilldown(): void;
97
+ openSettings(): void;
98
+ closeSettings(): void;
99
+ openFormat(column: string): void;
100
+ closeFormat(): void;
101
+ /**
102
+ * Sets a number column's format, or removes it with `undefined`; with no
103
+ * column, the format of every number column (spec §13.1). An undo step
104
+ * that leaves the rows current.
105
+ */
106
+ setColumnFormat(column: string | undefined, format: ColumnFormat | undefined): void;
107
+ clearFetchError(): void;
108
+ /** A new grid on screen: what earlier levels said is forgotten */
109
+ resetLevels(): void;
110
+ /**
111
+ * A new grid, for a new run or drill-down, taking its token for
112
+ * `loadRows`: the earlier grid's answers, still on their way, are then left
113
+ * alone, saying nothing (PLAN §11.10). Not observable, so a grid takes it
114
+ * as it renders, before its first request.
115
+ */
116
+ beginGrid(): number;
117
+ /** The drill-down's settings dialog shows: asked for, on a run with a drill-down */
118
+ get isSettingsShown(): boolean;
119
+ /**
120
+ * The sort ag-grid asks for, by the run's column names: a column by its
121
+ * position; the groups' column by the level's own column at a group level,
122
+ * and not at all at the leaf
123
+ */
124
+ toSorts(result: CubeExecutionResult, sortModel: readonly CubeGridSortRequest[], depth: number): ColumnDirection[];
125
+ /**
126
+ * The rows under a group, by its keys (none for the top level), sorted as
127
+ * ag-grid asks. The run's own rows when nothing is derived (no drill-down
128
+ * level, no sort), else a fetched level. Resolves to `undefined` for rows
129
+ * the grid no longer shows, which are then left alone.
130
+ */
131
+ loadRows(result: CubeExecutionResult, keys: readonly DrilldownCell[], sortModel: readonly CubeGridSortRequest[], token?: number): Promise<CubeGridRowData[] | undefined>;
132
+ private track;
133
+ private noteLevel;
134
+ private noteError;
135
+ }
136
+ //# sourceMappingURL=CubeGridState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeGridState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeGridState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,317 @@
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 { addDrilldownLevel, checkDrilldown, foldColumnName, isDrilldownLevelType, isEmptyDrilldown, removeDrilldownLevel, setColumnFormat, setDrilldownAggregation, SortDirection, } from '@finos/legend-cube';
17
+ import { action, computed, makeObservable, observable, runInAction, } from 'mobx';
18
+ import { CUBE_DRILLDOWN_BLOCKER, LEGEND_CUBE_USER_DATA_KEY, READ_ONLY_CUBE_TITLE, } from '../__lib__/LegendCubeLabels.js';
19
+ import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
20
+ import { CubeGridFetchDropped } from './CubeGridFetcher.js';
21
+ /** How the grid shows a run (spec §12.1, PLAN §11.10) */
22
+ export var CubeGridMode;
23
+ (function (CubeGridMode) {
24
+ /** Each sort and drill-down level runs on the engine (the default) */
25
+ CubeGridMode["SERVER_SIDE"] = "serverSide";
26
+ /** The run's rows, grouped, pivoted and filtered in the browser */
27
+ CubeGridMode["LOCAL"] = "local";
28
+ })(CubeGridMode || (CubeGridMode = {}));
29
+ /** The id ag-grid gives the column of the drill-down's groups */
30
+ export const CUBE_GRID_GROUP_COLUMN_ID = 'ag-Grid-AutoColumn';
31
+ /** A column's id in the grid: its position, as `c<position>` */
32
+ export const CUBE_GRID_COLUMN_ID_PREFIX = 'c';
33
+ const NO_DRILLDOWN = Object.freeze({ columns: [], aggregations: [] });
34
+ /**
35
+ * The grid's state beyond the run (PLAN §11.10): its mode, remembered for the
36
+ * user, and in server-side mode the rows of each level ag-grid asks for, from
37
+ * the run on screen (`CubeGridFetcher`), with what the levels say: an error,
38
+ * and whether a level was cut at the row limit.
39
+ */
40
+ export class CubeGridState {
41
+ editorState;
42
+ mode;
43
+ /** The last fetch's error, until the next fetch or a new run */
44
+ fetchError;
45
+ /** Some level shown was cut at the run's row limit */
46
+ hasLimitedLevel = false;
47
+ /** Fetches in flight */
48
+ fetching = 0;
49
+ /** The grid on screen: answers for an earlier one are left alone */
50
+ gridToken = 0;
51
+ /** The drill-down's settings dialog is open */
52
+ isSettingsOpen = false;
53
+ /** The column whose format the Format Column dialog edits, while it is open */
54
+ formatColumn;
55
+ constructor(editorState) {
56
+ makeObservable(this, {
57
+ mode: observable,
58
+ fetchError: observable.ref,
59
+ hasLimitedLevel: observable,
60
+ fetching: observable,
61
+ drilldown: computed,
62
+ setMode: action,
63
+ addLevel: action,
64
+ removeLevel: action,
65
+ setAggregation: action,
66
+ clearDrilldown: action,
67
+ openSettings: action,
68
+ closeSettings: action,
69
+ isSettingsOpen: observable,
70
+ isSettingsShown: computed,
71
+ formatColumn: observable,
72
+ openFormat: action,
73
+ closeFormat: action,
74
+ setColumnFormat: action,
75
+ clearFetchError: action,
76
+ resetLevels: action,
77
+ });
78
+ this.editorState = editorState;
79
+ const stored = editorState.host.applicationStore.userDataService.getStringValue(LEGEND_CUBE_USER_DATA_KEY.GRID_MODE);
80
+ this.mode =
81
+ stored === CubeGridMode.LOCAL
82
+ ? CubeGridMode.LOCAL
83
+ : CubeGridMode.SERVER_SIDE;
84
+ }
85
+ get isServerSide() {
86
+ return this.mode === CubeGridMode.SERVER_SIDE;
87
+ }
88
+ /** The cube's drill-down, checked against the run on screen; none without a run */
89
+ get drilldown() {
90
+ const { result } = this.editorState.execution;
91
+ return result
92
+ ? checkDrilldown(this.editorState.document.meta.drilldown ?? NO_DRILLDOWN, result.schema)
93
+ : undefined;
94
+ }
95
+ /**
96
+ * Shows the run another way. Both modes show the same run, so nothing runs
97
+ * again: local mode shows its rows, server-side mode fetches what it needs
98
+ */
99
+ setMode(mode) {
100
+ this.mode = mode;
101
+ this.editorState.host.applicationStore.userDataService.persistValue(LEGEND_CUBE_USER_DATA_KEY.GRID_MODE, mode);
102
+ }
103
+ /**
104
+ * Why 'Drilldown by' can't be used on the run's column, if it can't: a
105
+ * type that can't be grouped, a column that is a level already, a cube
106
+ * saved by a newer version
107
+ */
108
+ getAddLevelBlocker(column) {
109
+ const { editorState } = this;
110
+ const type = editorState.execution.result?.schema.type(column);
111
+ if (editorState.readOnly) {
112
+ return READ_ONLY_CUBE_TITLE;
113
+ }
114
+ if (!type || !isDrilldownLevelType(type)) {
115
+ return CUBE_DRILLDOWN_BLOCKER.notGroupable(type?.displayName ?? '');
116
+ }
117
+ return (editorState.document.meta.drilldown?.columns ?? []).some((level) => foldColumnName(level) === foldColumnName(column))
118
+ ? CUBE_DRILLDOWN_BLOCKER.ALREADY_A_LEVEL
119
+ : undefined;
120
+ }
121
+ setDrilldown(drilldown) {
122
+ const { editorState } = this;
123
+ const { meta } = editorState.document;
124
+ const { drilldown: _, ...others } = meta;
125
+ editorState.applyDocument(editorState.document.withMeta(isEmptyDrilldown(drilldown) ? others : { ...meta, drilldown }));
126
+ }
127
+ /**
128
+ * Adds the column as the drill-down's innermost level, an undo step that
129
+ * leaves the rows current (spec §12.4); the grid shows it server-side,
130
+ * the only mode with levels (spec §12.1)
131
+ */
132
+ addLevel(column) {
133
+ if (this.getAddLevelBlocker(column) !== undefined) {
134
+ return;
135
+ }
136
+ this.setDrilldown(addDrilldownLevel(this.editorState.document.meta.drilldown, column));
137
+ if (!this.isServerSide) {
138
+ this.setMode(CubeGridMode.SERVER_SIDE);
139
+ }
140
+ }
141
+ /** Removes the level at the position: the ones inside it move out */
142
+ removeLevel(index) {
143
+ const { drilldown } = this.editorState.document.meta;
144
+ if (drilldown && !this.editorState.readOnly) {
145
+ this.setDrilldown(removeDrilldownLevel(drilldown, index));
146
+ }
147
+ }
148
+ /** Sets how a group row shows the run's column: a function, or nothing */
149
+ setAggregation(column, fn) {
150
+ const type = this.editorState.execution.result?.schema.type(column);
151
+ if (type && !this.editorState.readOnly) {
152
+ this.setDrilldown(setDrilldownAggregation(this.editorState.document.meta.drilldown, column, type, fn));
153
+ }
154
+ }
155
+ /** Removes the drill-down: its levels and its aggregations */
156
+ clearDrilldown() {
157
+ if (!this.editorState.readOnly) {
158
+ this.closeSettings();
159
+ this.setDrilldown(undefined);
160
+ }
161
+ }
162
+ openSettings() {
163
+ this.isSettingsOpen = true;
164
+ }
165
+ closeSettings() {
166
+ this.isSettingsOpen = false;
167
+ }
168
+ openFormat(column) {
169
+ this.formatColumn = column;
170
+ }
171
+ closeFormat() {
172
+ this.formatColumn = undefined;
173
+ }
174
+ /**
175
+ * Sets a number column's format, or removes it with `undefined`; with no
176
+ * column, the format of every number column (spec §13.1). An undo step
177
+ * that leaves the rows current.
178
+ */
179
+ setColumnFormat(column, format) {
180
+ const { editorState } = this;
181
+ if (editorState.readOnly) {
182
+ return;
183
+ }
184
+ const { meta } = editorState.document;
185
+ editorState.applyDocument(editorState.document.withMeta({
186
+ ...meta,
187
+ presentation: {
188
+ ...meta.presentation,
189
+ columnHints: setColumnFormat(meta.presentation.columnHints ?? [], column, format),
190
+ },
191
+ }));
192
+ }
193
+ clearFetchError() {
194
+ this.fetchError = undefined;
195
+ }
196
+ /** A new grid on screen: what earlier levels said is forgotten */
197
+ resetLevels() {
198
+ this.fetchError = undefined;
199
+ this.hasLimitedLevel = false;
200
+ }
201
+ /**
202
+ * A new grid, for a new run or drill-down, taking its token for
203
+ * `loadRows`: the earlier grid's answers, still on their way, are then left
204
+ * alone, saying nothing (PLAN §11.10). Not observable, so a grid takes it
205
+ * as it renders, before its first request.
206
+ */
207
+ beginGrid() {
208
+ this.gridToken += 1;
209
+ return this.gridToken;
210
+ }
211
+ /** The drill-down's settings dialog shows: asked for, on a run with a drill-down */
212
+ get isSettingsShown() {
213
+ return (this.isSettingsOpen &&
214
+ this.drilldown !== undefined &&
215
+ !isEmptyDrilldown(this.editorState.document.meta.drilldown));
216
+ }
217
+ /**
218
+ * The sort ag-grid asks for, by the run's column names: a column by its
219
+ * position; the groups' column by the level's own column at a group level,
220
+ * and not at all at the leaf
221
+ */
222
+ toSorts(result, sortModel, depth) {
223
+ const levels = this.drilldown?.columns ?? [];
224
+ return sortModel.flatMap(({ colId, sort }) => {
225
+ const direction = sort === 'desc' ? SortDirection.DESC : SortDirection.ASC;
226
+ if (colId === CUBE_GRID_GROUP_COLUMN_ID) {
227
+ const column = levels[depth];
228
+ return column === undefined ? [] : [{ column, direction }];
229
+ }
230
+ const column = colId.startsWith(CUBE_GRID_COLUMN_ID_PREFIX)
231
+ ? result.schema.columns[Number(colId.slice(CUBE_GRID_COLUMN_ID_PREFIX.length))]
232
+ : undefined;
233
+ return column ? [{ column: column.name, direction }] : [];
234
+ });
235
+ }
236
+ /**
237
+ * The rows under a group, by its keys (none for the top level), sorted as
238
+ * ag-grid asks. The run's own rows when nothing is derived (no drill-down
239
+ * level, no sort), else a fetched level. Resolves to `undefined` for rows
240
+ * the grid no longer shows, which are then left alone.
241
+ */
242
+ async loadRows(result, keys, sortModel, token = this.gridToken) {
243
+ const parentId = JSON.stringify(keys);
244
+ const sorts = this.toSorts(result, sortModel, keys.length);
245
+ if (!keys.length && !this.drilldown?.columns.length && !sorts.length) {
246
+ return result.rows.map((row, index) => ({
247
+ id: `${parentId}#${index}`,
248
+ keys,
249
+ isGroup: false,
250
+ cells: row,
251
+ }));
252
+ }
253
+ this.track(1);
254
+ try {
255
+ const level = await this.editorState.gridFetcher.fetchLevel(result, keys, sorts);
256
+ if (token !== this.gridToken) {
257
+ return undefined;
258
+ }
259
+ this.noteLevel(level.limited);
260
+ const levels = this.drilldown?.columns ?? [];
261
+ const keyAt = level.level.isLeaf
262
+ ? -1
263
+ : result.schema.names().indexOf(levels[keys.length]);
264
+ return level.rows.map((row, index) => {
265
+ if (level.level.isLeaf) {
266
+ return {
267
+ id: `${parentId}#${index}`,
268
+ keys,
269
+ isGroup: false,
270
+ cells: row.cells,
271
+ };
272
+ }
273
+ const groupKeys = [...keys, row.cells[keyAt] ?? null];
274
+ return {
275
+ id: JSON.stringify(groupKeys),
276
+ keys: groupKeys,
277
+ isGroup: true,
278
+ cells: row.cells,
279
+ count: row.count,
280
+ };
281
+ });
282
+ }
283
+ catch (error) {
284
+ if (error instanceof CubeGridFetchDropped || token !== this.gridToken) {
285
+ return undefined;
286
+ }
287
+ this.noteError(error instanceof CubeEngineError
288
+ ? error
289
+ : new CubeEngineError(CubeEngineErrorKind.EXECUTION, error instanceof Error ? error.message : String(error)));
290
+ throw error;
291
+ }
292
+ finally {
293
+ this.track(-1);
294
+ }
295
+ }
296
+ track(change) {
297
+ runInAction(() => {
298
+ this.fetching += change;
299
+ if (change > 0) {
300
+ this.fetchError = undefined;
301
+ }
302
+ });
303
+ }
304
+ noteLevel(limited) {
305
+ if (limited) {
306
+ runInAction(() => {
307
+ this.hasLimitedLevel = true;
308
+ });
309
+ }
310
+ }
311
+ noteError(error) {
312
+ runInAction(() => {
313
+ this.fetchError = error;
314
+ });
315
+ }
316
+ }
317
+ //# sourceMappingURL=CubeGridState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeGridState.js","sourceRoot":"","sources":["../../src/stores/CubeGridState.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,11 @@ import type { GenericLegendApplicationStore } from '@finos/legend-application';
17
17
  import type { ModelContext } from '@finos/legend-cube';
18
18
  import type { CubeConnectionExplorer } from '../graph-manager/CubeConnectionExplorer.js';
19
19
  import type { CubeDataProductCatalog } from '../graph-manager/CubeDataProductCatalog.js';
20
+ import type { CubeEngineClientSettings } from '../graph-manager/CubeEngineClientSettings.js';
20
21
  import type { CubeIngestCatalog } from '../graph-manager/CubeIngestCatalog.js';
21
22
  import { type CubeEngine, type CubeModelOutline } from '../graph-manager/CubeEngine.js';
22
23
  import type { CubeProjectCatalog } from '../graph-manager/CubeProjectCatalog.js';
24
+ import type { CubeServiceCatalog } from '../graph-manager/CubeServiceCatalog.js';
23
25
  import type { LocalModelCatalog } from './LocalModelCatalog.js';
24
26
  /**
25
27
  * What the application hosting the Cube page gives it (PLAN §3.5, Settled
@@ -52,7 +54,47 @@ export interface CubeHost {
52
54
  * source dialog offers no projects
53
55
  */
54
56
  readonly projectCatalog?: CubeProjectCatalog | undefined;
57
+ /**
58
+ * The deployed services (PLAN §6.4), in progress; without one, the source
59
+ * dialog offers no services
60
+ */
61
+ readonly serviceCatalog?: CubeServiceCatalog | undefined;
62
+ /**
63
+ * The engine URL and request compression its engine clients share, which
64
+ * Dev Settings changes (PLAN §11.16); without them, Dev Settings can't
65
+ * change either
66
+ */
67
+ readonly engineClientSettings?: CubeEngineClientSettings | undefined;
68
+ /**
69
+ * Whether the page offers Cube's sample data: the source dialog's Sample
70
+ * Data tab and the Examples. Offered unless the host says no, as Studio
71
+ * does, where a cube reads only the project's ingest definitions
72
+ */
73
+ readonly offersSampleData?: boolean | undefined;
74
+ /**
75
+ * The one project whose own sources the page reads, e.g. the one Studio
76
+ * edits: the source dialog lists its ingest definitions and data products
77
+ * by name and path, with no class, deployment or search across the
78
+ * platform, and says which lakehouse runtime its runs use
79
+ */
80
+ readonly project?: CubeHostProject | undefined;
81
+ }
82
+ /** The lakehouse runtime a project's runs use, as the source dialog shows it */
83
+ export interface CubeHostProjectRuntime {
84
+ /** e.g. `demo-dev, from demo::ingest::LakehouseRuntime` */
85
+ readonly label: string;
86
+ /** The warehouse a new cube starts on, when the runtime names one */
87
+ readonly warehouse?: string | undefined;
88
+ }
89
+ /** The one project a host's page reads the sources of (`CubeHost.project`) */
90
+ export interface CubeHostProject {
91
+ /** Its lakehouse runtime; fails with a `CubeEngineError` saying why when it has none */
92
+ resolveRuntime(): Promise<CubeHostProjectRuntime>;
55
93
  }
94
+ /** Whether the host's page reads one project's own sources, as Studio's does */
95
+ export declare const isCubeProjectHost: (host: CubeHost) => boolean;
96
+ /** Whether the host offers Cube's sample data and examples */
97
+ export declare const isCubeSampleDataOffered: (host: CubeHost) => boolean;
56
98
  /**
57
99
  * A model's databases and runtimes, wherever its kind keeps them: a
58
100
  * project's in the host's depot (PLAN §6.3), any other through the model
@@ -1 +1 @@
1
- {"version":3,"file":"CubeHost.d.ts","sourceRoot":"","sources":["../../src/stores/CubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC1D;AAMD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,EACd,OAAO,YAAY,KAClB,OAAO,CAAC,gBAAgB,CAqB1B,CAAC"}
1
+ {"version":3,"file":"CubeHost.d.ts","sourceRoot":"","sources":["../../src/stores/CubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzD;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzD;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACrE;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CAChD;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,cAAc,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACnD;AAED,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ,KAAG,OACvB,CAAC;AAE7B,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,GAAI,MAAM,QAAQ,KAAG,OACxB,CAAC;AAMlC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,EACd,OAAO,YAAY,KAClB,OAAO,CAAC,gBAAgB,CAqB1B,CAAC"}
@@ -15,6 +15,10 @@
15
15
  */
16
16
  import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
17
17
  import { checkCubeProjectModel, getCubeProjectCoordinates, isCubeProjectModel, } from '../graph-manager/CubeProject.js';
18
+ /** Whether the host's page reads one project's own sources, as Studio's does */
19
+ export const isCubeProjectHost = (host) => host.project !== undefined;
20
+ /** Whether the host offers Cube's sample data and examples */
21
+ export const isCubeSampleDataOffered = (host) => host.offersSampleData !== false;
18
22
  /** Why the host can't list a project model's Databases */
19
23
  const NO_PROJECT_CATALOG = "This page can't read published projects: its host has no depot";
20
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CubeHost.js","sourceRoot":"","sources":["../../src/stores/CubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EACL,eAAe,EACf,mBAAmB,GAGpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAqCzC,0DAA0D;AAC1D,MAAM,kBAAkB,GACtB,gEAAgE,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAc,EACd,KAAmB,EACQ,EAAE;IAC7B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,eAAe,CACjB,mBAAmB,CAAC,iBAAiB,EACrC,qBAAqB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,cAAc;QACxB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,OAAO,CAAC,MAAM,CACZ,IAAI,eAAe,CACjB,mBAAmB,CAAC,iBAAiB,EACrC,kBAAkB,CACnB,CACF,CAAC;AACR,CAAC,CAAC"}
1
+ {"version":3,"file":"CubeHost.js","sourceRoot":"","sources":["../../src/stores/CubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EACL,eAAe,EACf,mBAAmB,GAGpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AA4EzC,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAW,EAAE,CAC3D,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;AAE7B,8DAA8D;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAc,EAAW,EAAE,CACjE,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC;AAElC,0DAA0D;AAC1D,MAAM,kBAAkB,GACtB,gEAAgE,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAc,EACd,KAAmB,EACQ,EAAE;IAC7B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,eAAe,CACjB,mBAAmB,CAAC,iBAAiB,EACrC,qBAAqB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,cAAc;QACxB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,OAAO,CAAC,MAAM,CACZ,IAAI,eAAe,CACjB,mBAAmB,CAAC,iBAAiB,EACrC,kBAAkB,CACnB,CACF,CAAC;AACR,CAAC,CAAC"}