@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
@@ -0,0 +1,99 @@
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 { isValidUrl } from '@finos/legend-shared';
17
+ import { action, computed, makeObservable, observable } from 'mobx';
18
+ import { LEGEND_CUBE_USER_DATA_KEY } from '../__lib__/LegendCubeLabels.js';
19
+ /**
20
+ * The page's Dev Settings, opened from the menu at the top left as Legend
21
+ * Query's editor opens its own (PLAN §11.16): the engine's URL, and whether
22
+ * Cube's engine clients compress their requests (uncompressed, the browser's
23
+ * Network tab shows each request's JSON). Compression is kept for the user,
24
+ * on by default; the URL lasts while the application runs, as Query's does.
25
+ * Both change every engine client of Cube's host, from the next request.
26
+ */
27
+ export class CubeDevSettingsState {
28
+ host;
29
+ settings;
30
+ isOpen = false;
31
+ requestCompression;
32
+ /** The engine URL as typed: it is used once it is a URL */
33
+ baseUrlText;
34
+ constructor(host) {
35
+ makeObservable(this, {
36
+ host: false,
37
+ settings: false,
38
+ isOpen: observable,
39
+ requestCompression: observable,
40
+ baseUrlText: observable,
41
+ baseUrlError: computed,
42
+ open: action,
43
+ close: action,
44
+ setRequestCompression: action,
45
+ setBaseUrlText: action,
46
+ resetBaseUrl: action,
47
+ });
48
+ this.host = host;
49
+ this.settings = host.engineClientSettings;
50
+ const uncompressed = host.applicationStore.userDataService.getBooleanValue(LEGEND_CUBE_USER_DATA_KEY.UNCOMPRESSED_REQUESTS) ?? false;
51
+ if (uncompressed) {
52
+ this.settings?.setRequestCompression(false);
53
+ }
54
+ this.requestCompression = this.settings?.requestCompression ?? true;
55
+ this.baseUrlText = this.settings?.baseUrl ?? '';
56
+ }
57
+ /** Whether the host lets Dev Settings change its engine clients */
58
+ get isAvailable() {
59
+ return this.settings !== undefined;
60
+ }
61
+ /** The URL the host configured */
62
+ get defaultBaseUrl() {
63
+ return this.settings?.defaultBaseUrl;
64
+ }
65
+ /** Why the typed engine URL isn't used, if it isn't */
66
+ get baseUrlError() {
67
+ return isValidUrl(this.baseUrlText) ? undefined : 'Invalid URL';
68
+ }
69
+ open() {
70
+ this.isOpen = true;
71
+ }
72
+ close() {
73
+ this.isOpen = false;
74
+ }
75
+ setRequestCompression(compressed) {
76
+ if (!this.settings) {
77
+ return;
78
+ }
79
+ this.requestCompression = compressed;
80
+ this.settings.setRequestCompression(compressed);
81
+ this.host.applicationStore.userDataService.persistValue(LEGEND_CUBE_USER_DATA_KEY.UNCOMPRESSED_REQUESTS, !compressed);
82
+ }
83
+ /** Takes the typed engine URL, and uses it once it is a URL */
84
+ setBaseUrlText(text) {
85
+ this.baseUrlText = text;
86
+ if (this.settings && isValidUrl(text)) {
87
+ this.settings.setBaseUrl(text);
88
+ }
89
+ }
90
+ /** Goes back to the engine URL the host configured */
91
+ resetBaseUrl() {
92
+ if (!this.settings) {
93
+ return;
94
+ }
95
+ this.settings.setBaseUrl(this.settings.defaultBaseUrl);
96
+ this.baseUrlText = this.settings.defaultBaseUrl ?? '';
97
+ }
98
+ }
99
+ //# sourceMappingURL=CubeDevSettingsState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeDevSettingsState.js","sourceRoot":"","sources":["../../src/stores/CubeDevSettingsState.ts"],"names":[],"mappings":"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"}
@@ -13,16 +13,23 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { DataProductAccessPointSource, IngestDatasetSource, CubeDocument, Extend, type ModelContext, type NodeRegistry, type Query, QueryEmitter, type QueryNode, RelationalTableSource, type SchemaInferenceResult, type SourceDefinition } from '@finos/legend-cube';
16
+ import { DataProductAccessPointSource, IngestDatasetSource, CubeDocument, type ModelContext, type NodeRegistry, type Query, QueryEmitter, type QueryNode, RelationalTableSource, type SchemaInferenceResult, ServiceSource, type SourceDefinition, FunctionSource, type CubeContext } from '@finos/legend-cube';
17
17
  import type { CommandRegistrar } from '@finos/legend-application';
18
18
  import type { GeneratorFn } from '@finos/legend-shared';
19
19
  import { CubeEngineError, type CubeModelOutline } from '../graph-manager/CubeEngine.js';
20
20
  import { CubeDataProductRuntimeState } from './CubeDataProductRuntimeState.js';
21
21
  import { CubeExamplesState } from './CubeExamplesState.js';
22
+ import { CubeExportState } from './CubeExportState.js';
23
+ import { CubeGridFetcher } from './CubeGridFetcher.js';
24
+ import { CubeGridState } from './CubeGridState.js';
25
+ import { CubeDevSettingsState } from './CubeDevSettingsState.js';
26
+ import { CubeRunStatsState } from './CubeRunStatsState.js';
22
27
  import { CubeExecutionState } from './CubeExecutionState.js';
28
+ import { type CubeEngineCheckedNode } from './CubeEngineChecks.js';
23
29
  import { type CubeHost } from './CubeHost.js';
24
30
  import { CubeNodeEditorState } from './CubeNodeEditorState.js';
25
31
  import { CubeShowPureState } from './CubeShowPureState.js';
32
+ import { CubeLambdaImportState } from './CubeLambdaImportState.js';
26
33
  import { CubeSourcePickerState } from './CubeSourcePickerState.js';
27
34
  import { CubeSpecTransferState } from './CubeSpecTransferState.js';
28
35
  /** An engine error placed on a node: its first line shows on the node, its detail in the grid */
@@ -30,8 +37,8 @@ export interface CubeHostIssue {
30
37
  readonly firstLine: string;
31
38
  readonly detail: string;
32
39
  }
33
- /** A source Cube types again to see drift: a table, or a data product's access point */
34
- type RecheckedSource = RelationalTableSource | DataProductAccessPointSource | IngestDatasetSource;
40
+ /** A source Cube types again to see drift: a table, a function, an access point, an ingest data set or a service */
41
+ type RecheckedSource = RelationalTableSource | FunctionSource | DataProductAccessPointSource | IngestDatasetSource | ServiceSource;
35
42
  /**
36
43
  * The state of one Cube page (PLAN §7.8). The document is immutable: every
37
44
  * edit makes a new one through `applyDocument`, which keeps the previous one
@@ -42,19 +49,59 @@ export declare class CubeEditorState implements CommandRegistrar {
42
49
  readonly host: CubeHost;
43
50
  /** One registry for inference, emission and the saved spec */
44
51
  readonly registry: NodeRegistry;
45
- /** The editor's own query rule: an Extend typed for another input than its own waits to be typed again (PLAN §11.7) */
46
- private readonly staleExtendTyping;
52
+ /**
53
+ * The editor's own query rule: an Extend typed, or a Filter by Expression
54
+ * checked, for another input than its own waits to be checked again (PLAN
55
+ * §11.7, §11.11)
56
+ */
57
+ private readonly staleEngineChecks;
58
+ /**
59
+ * The editor's query rule for the database a node runs on: `%` or `_`
60
+ * given to a pattern on DuckDB (PLAN §11.11), once the model's outline
61
+ * tells the database
62
+ */
63
+ private readonly databaseRefusals;
47
64
  readonly execution: CubeExecutionState;
65
+ /** The latest runs, fetches and exports (spec §12.6) */
66
+ readonly runStats: CubeRunStatsState;
67
+ /** The Dev Settings, at the top left (PLAN §11.16) */
68
+ readonly devSettings: CubeDevSettingsState;
69
+ /** The grid's server-side levels (PLAN §11.10) */
70
+ readonly gridFetcher: CubeGridFetcher;
71
+ /** The grid's mode and its server-side levels (PLAN §11.10) */
72
+ readonly grid: CubeGridState;
73
+ /** The results' export (spec §12.5) */
74
+ readonly export: CubeExportState;
48
75
  /** Where a lakehouse cube runs, a data product's or an ingest one's: its class and warehouse */
49
76
  readonly dataProductRuntime: CubeDataProductRuntimeState;
50
77
  readonly sourcePicker: CubeSourcePickerState;
51
78
  readonly specTransfer: CubeSpecTransferState;
52
79
  readonly examples: CubeExamplesState;
53
80
  readonly showPure: CubeShowPureState;
81
+ /** Import Pure: the lambda the page opened on, read into the cube (PLAN §11.18) */
82
+ readonly lambdaImport: CubeLambdaImportState;
54
83
  readonly nodeEditor: CubeNodeEditorState;
55
84
  document: CubeDocument;
56
85
  /** Earlier documents, oldest first */
57
86
  history: readonly CubeDocument[];
87
+ /**
88
+ * The step copied last, as it was, with the cube's context then, which a
89
+ * pasted source needs; kept for the page, across cubes
90
+ */
91
+ copiedNode: {
92
+ readonly node: QueryNode;
93
+ readonly context: CubeContext | undefined;
94
+ } | undefined;
95
+ /**
96
+ * The changes undone, the latest last, to redo; a new change clears them.
97
+ * Each keeps whether it was read-only and whether undoing it left another
98
+ * cube (an import), so a redo restores both
99
+ */
100
+ redoStack: readonly {
101
+ readonly document: CubeDocument;
102
+ readonly readOnly: boolean;
103
+ readonly opensAnotherCube: boolean;
104
+ }[];
58
105
  /** Engine errors by node id: shown with the node's own errors, never part of inference */
59
106
  hostIssues: ReadonlyMap<string, CubeHostIssue>;
60
107
  /**
@@ -63,17 +110,28 @@ export declare class CubeEditorState implements CommandRegistrar {
63
110
  */
64
111
  warnings: ReadonlyMap<number, readonly string[]>;
65
112
  /**
66
- * The outline of each model the cube used, loaded when an editor needs it,
67
- * e.g. for the Join's 'type unknown' warning; by reference, never observed
68
- * deeply
113
+ * The outline of each model the cube used, by the model's JSON
114
+ * (`modelKey`): loaded when the cube reads a table, or an editor or a run
115
+ * needs it, e.g. for the Join's 'type unknown' warning or the database a
116
+ * node runs on (PLAN §11.12); by reference, never observed deeply
69
117
  */
70
118
  private modelOutlines;
119
+ /** Each model's key in `modelOutlines`, its JSON, worked out once per model object */
120
+ private readonly modelKeys;
121
+ /** The outlines on their way, by model key, so a second load waits for the first */
122
+ private readonly loadingOutlines;
71
123
  /** Sources sent to the engine to be typed again, until it answers */
72
124
  private pendingSources;
73
- /** Extends sent to the engine to be typed, until it answers (PLAN §11.7) */
74
- private typingExtends;
75
- /** Types the Extends that wait for it, whenever one does (PLAN §11.7 Q4) */
76
- private readonly retyping;
125
+ /** Extends and Filters by Expression sent to the engine to be checked, until it answers (PLAN §11.7, §11.11) */
126
+ private checkingNodes;
127
+ /** Checks the nodes that wait for the engine, whenever one does (PLAN §11.7 Q4) */
128
+ private readonly rechecking;
129
+ /**
130
+ * Loads the model's outline once the cube reads a table, so the database it
131
+ * runs on is known before any run: some nodes are refused there, or written
132
+ * another way (PLAN §11.4, §11.11, §11.12)
133
+ */
134
+ private readonly outlineLoading;
77
135
  /** The rows a run returns; kept per user, never in the cube */
78
136
  rowLimit: number;
79
137
  /** The palette shows icons only; kept per user, never in the cube */
@@ -90,8 +148,9 @@ export declare class CubeEditorState implements CommandRegistrar {
90
148
  constructor(host: CubeHost, document?: CubeDocument);
91
149
  /**
92
150
  * Each node's schema and errors, query-level rules included, as the
93
- * emitter sees them, and an Extend typed for another input than its own
94
- * waiting (`ERR_TYPING`), which only the editor can tell
151
+ * emitter sees them; an Extend or a Filter by Expression checked for
152
+ * another input than its own waiting, and a filter its database would
153
+ * misread refused, which only the editor can tell
95
154
  */
96
155
  get analysis(): SchemaInferenceResult;
97
156
  get emitter(): QueryEmitter;
@@ -100,27 +159,28 @@ export declare class CubeEditorState implements CommandRegistrar {
100
159
  /** The source is being typed again by the engine, e.g. after an import */
101
160
  isPendingSource(node: QueryNode): boolean;
102
161
  /**
103
- * The Extends of the cube shown that wait for the engine to type their
104
- * columns, their input valid, and that aren't being typed (PLAN §11.7):
105
- * new expressions, or an input that changed
162
+ * The Extends and Filters by Expression of the cube shown that wait for
163
+ * the engine, their input valid, and that aren't being checked (PLAN §11.7,
164
+ * §11.11): new expressions, or an input that changed
106
165
  */
107
- get extendsToType(): readonly Extend[];
108
- /** The cube shown has Extends the engine is typing */
109
- get isTypingExtends(): boolean;
110
- /** The node waits for the engine to type it, or is being typed: an Extend (PLAN §11.7) */
166
+ get nodesToCheck(): readonly CubeEngineCheckedNode[];
167
+ /** The cube shown has expressions the engine is checking: an Extend's columns, a filter's condition */
168
+ get isCheckingExpressions(): boolean;
169
+ /** The node waits for the engine to check it, or is being checked: an Extend or a Filter by Expression (PLAN §11.7, §11.11) */
111
170
  isTypingNode(node: QueryNode): boolean;
112
171
  /**
113
- * Types Extends' columns with the engine, in one call, outside the undo
114
- * history (PLAN §11.7 Q4): each for the input it has now, its columns
115
- * after its input's relation, as typing types any node. The typing goes in
116
- * place of the very nodes sent, in the cube shown and the undo snapshots
117
- * that give the engine the same input; one the user changed meanwhile is
118
- * left to type again. Each typing records the input as the engine was given
119
- * it (`upstream`). A typing the engine couldn't give names the column it
120
- * failed on; when the engine can't be reached, a typing still current for
121
- * the input is kept, with a warning, as a source's saved columns are.
172
+ * Checks expressions with the engine, in one call, outside the undo history
173
+ * (PLAN §11.7 Q4, §11.11): an Extend's columns typed, a Filter by
174
+ * Expression's condition checked, each for the input it has now, after its
175
+ * input's relation, as typing types any node. The check goes in place of
176
+ * the very nodes sent, in the cube shown and the undo snapshots that give
177
+ * the engine the same input; one the user changed meanwhile is left to
178
+ * check again. Each check records the input as the engine was given it
179
+ * (`upstream`). A check the engine couldn't give says why; when the engine
180
+ * can't be reached, a check still current for the input is kept, with a
181
+ * warning, as a source's saved columns are.
122
182
  */
123
- retypeExtends(nodes: readonly Extend[]): GeneratorFn<void>;
183
+ checkExpressions(nodes: readonly CubeEngineCheckedNode[]): GeneratorFn<void>;
124
184
  /**
125
185
  * Warnings worked out from the query, by node id: a Sort whose order is
126
186
  * lost before it is used (PLAN §11.4). Never stored and never errors, so
@@ -140,23 +200,45 @@ export declare class CubeEditorState implements CommandRegistrar {
140
200
  getNodeErrors(nodeId: string): readonly string[];
141
201
  /** The outline of the cube's model, once an editor has loaded it */
142
202
  get modelOutline(): CubeModelOutline | undefined;
203
+ /**
204
+ * A model's key for its outline: its JSON, so a cube imported on the same
205
+ * model, a new object with the same content, shares the outline loaded
206
+ */
207
+ private modelKey;
143
208
  /** The outline of a model, once loaded */
144
209
  getModelOutline(model: ModelContext): CubeModelOutline | undefined;
145
210
  /**
146
211
  * The database type a run of the query up to the node needs, with the
147
- * model's runtime (PLAN §11.4), from the model's outline once it is loaded
148
- * (`loadModelOutline`): the type of the runtime's connections to the
149
- * databases the node reads. None without an outline, which writes every
150
- * operation the native way.
212
+ * model's runtime (PLAN §11.4): for a data product or ingest cube, the
213
+ * database its lakehouse runtime routes to (§11.12); else, from the model's
214
+ * outline once it is loaded (`loadModelOutline`), the type of the runtime's
215
+ * connections to the databases the node reads. None without an outline,
216
+ * which writes every operation the native way.
151
217
  */
152
218
  getRunDatabaseType(query: Query, nodeId: string, model: ModelContext, runtime: string): string | undefined;
153
219
  /**
154
- * Loads the outline of a model, the cube's by default, once per model. It
155
- * only adds warnings and database types, so a model that fails to load
156
- * shows none and runs every operation the native way.
220
+ * A node's problems on the database the query up to it runs on, with the
221
+ * cube's runtime (`getRunDatabaseType`): a Pivot where it can't run (PLAN
222
+ * §11.12); a filter giving `%` or `_` to a pattern on DuckDB, which would
223
+ * match them as wildcards (§11.11). None when the database isn't known.
224
+ */
225
+ getNodeDatabaseProblems(query: Query, node: QueryNode): string[];
226
+ /**
227
+ * Why a node of the type can't be added after the node, on the database the
228
+ * query up to that node runs on (PLAN §11.12): a Pivot where it can't run.
229
+ * `undefined` when it can, or the database isn't known.
230
+ */
231
+ getAddDatabaseProblem(type: string, afterId: string | undefined): string | undefined;
232
+ /**
233
+ * Loads the outline of a model, the cube's by default, once per model: a
234
+ * load already on its way is waited for, not started again, e.g. a run's
235
+ * while the cube's opening load is still out. It only adds warnings,
236
+ * database types and a database's refusals (PLAN §11.11, §11.12), so a
237
+ * model that fails to load shows none and runs every operation the native
238
+ * way.
157
239
  */
158
240
  loadModelOutline(model?: ModelContext | undefined): GeneratorFn<void>;
159
- /** One of Cube's dialogs is open: the source picker, Import or Export, Show Pure */
241
+ /** One of Cube's dialogs is open: the source picker, Examples, the group rows' settings, Import or Export, Show Pure */
160
242
  get isDialogOpen(): boolean;
161
243
  /**
162
244
  * The page's keyboard shortcuts, while it is open (spec §17.12). Each does
@@ -185,6 +267,7 @@ export declare class CubeEditorState implements CommandRegistrar {
185
267
  undoEdited(): void;
186
268
  deregisterCommands(): void;
187
269
  get canUndo(): boolean;
270
+ get canRedo(): boolean;
188
271
  /** The one way to change the cube; the document before goes to the undo history */
189
272
  applyDocument(next: CubeDocument): void;
190
273
  /**
@@ -193,6 +276,20 @@ export declare class CubeEditorState implements CommandRegistrar {
193
276
  * without applying its edits, and drops the last run's rows and errors,
194
277
  * which belong to the cube before. Never runs the cube.
195
278
  */
279
+ /** Whether the cube is a new one: no name, no context, no node */
280
+ get isEmptyCube(): boolean;
281
+ /**
282
+ * Replaces the cube with a new, empty one, as an import does (one undo
283
+ * step, so Undo brings the cube back); a cube already new is left as it is
284
+ */
285
+ startNewCube(): void;
286
+ /**
287
+ * Opens the page on a cube read for it, as `initialDocument` opens one:
288
+ * no undo step, as there was no cube before it (Import Pure's
289
+ * `initialLambda`, PLAN §11.18). Its sources come typed; its expressions
290
+ * are checked as any are.
291
+ */
292
+ openDocument(next: CubeDocument): void;
196
293
  importDocument(next: CubeDocument, readOnly: boolean): void;
197
294
  /**
198
295
  * Types the cube's sources again, outside the undo history (PLAN §10.3,
@@ -242,6 +339,15 @@ export declare class CubeEditorState implements CommandRegistrar {
242
339
  * import closes the node editor and the picker, as the import did.
243
340
  */
244
341
  undo(): void;
342
+ /**
343
+ * Brings back the last change undone, as Ctrl+Shift+Z does: the cube shown
344
+ * goes back to the undo history, and a change that opened another cube
345
+ * (an import, New) closes the editor and the source dialog again
346
+ */
347
+ redo(): void;
348
+ /** Redo, as its button and Ctrl+Shift+Z do: finishes the node editor first */
349
+ redoEdited(): void;
350
+ /** Keeps the cube shown for undo; a new change, not a redo, drops what was undone */
245
351
  private pushHistory;
246
352
  /**
247
353
  * Engine errors belong to the query and the context they came from, so
@@ -258,9 +364,10 @@ export declare class CubeEditorState implements CommandRegistrar {
258
364
  */
259
365
  connect(sourceId: string, targetId: string, port?: string): void;
260
366
  /**
261
- * The kinds of source the host serves: data products and ingest data sets
262
- * only with their catalogs. The cube's kind may still disable one
263
- * (`canAddNode`)
367
+ * The kinds of source the host serves: data products, ingest data sets and
368
+ * services only with their catalogs, tables and functions only with a tab
369
+ * that reads them (Studio offers ingest data sets alone). The cube's kind
370
+ * may still disable one (`canAddNode`)
264
371
  */
265
372
  get offeredSources(): readonly SourceDefinition[];
266
373
  /**
@@ -277,7 +384,7 @@ export declare class CubeEditorState implements CommandRegistrar {
277
384
  * after `afterId`; a source opens the source picker, which adds it once
278
385
  * the engine has typed it. Does nothing `canAddNode` refuses.
279
386
  */
280
- addNode(type: string, afterId?: string): void;
387
+ addNode(type: string, afterId?: string): string | undefined;
281
388
  /**
282
389
  * Adds a node made elsewhere, with its settings, as the grid's quick
283
390
  * actions do (spec §12.4): spliced in after `afterId`, so it becomes the
@@ -299,6 +406,23 @@ export declare class CubeEditorState implements CommandRegistrar {
299
406
  * table can come from any model (user's choice, 2026-10-07).
300
407
  */
301
408
  removeNode(nodeId: string): void;
409
+ /** Whether a step can be copied: a known type's, so its copy reads back */
410
+ canCopyNode(nodeId: string): boolean;
411
+ /** Copies a step, as Cmd/Ctrl+C on it does, for Paste */
412
+ copyNode(nodeId: string): void;
413
+ /**
414
+ * Whether the step copied can be pasted here: a transform always; a source
415
+ * only into a cube of the same model and runtime, or an empty cube, which
416
+ * takes them, as a first table does
417
+ */
418
+ get canPaste(): boolean;
419
+ /** Pastes the step copied: after the step given when it takes an input, else on its own; one undo step */
420
+ pasteNode(afterId?: string): void;
421
+ canDuplicateNode(nodeId: string): boolean;
422
+ /** A copy of the step after it, as Cmd/Ctrl+D does, leaving the step copied for Paste as it was */
423
+ duplicateNode(nodeId: string): void;
424
+ private canTakeCopy;
425
+ private addCopy;
302
426
  canSwapInputs(nodeId: string): boolean;
303
427
  /** Swaps a binary node's two inputs; its settings follow them, e.g. a Join's key columns */
304
428
  swapInputs(nodeId: string): void;
@@ -307,6 +431,12 @@ export declare class CubeEditorState implements CommandRegistrar {
307
431
  * edit that leaves the query, and so the rows, as they are (M1.8b).
308
432
  */
309
433
  setShowGraph(showGraph: boolean): void;
434
+ /**
435
+ * Keeps a grid column's width, which the cube saves (PLAN §11.10): by the
436
+ * column's name, in any case. Presentation the user sets by dragging, so
437
+ * no undo step, and the rows stay current.
438
+ */
439
+ setColumnWidth(column: string, width: number): void;
310
440
  setHostIssue(nodeId: string, error: CubeEngineError): void;
311
441
  clearHostIssues(): void;
312
442
  /** Sets and remembers the row limit; a value that isn't a whole number of at least 1 is refused */
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeEditorState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeEditorState.ts"],"names":[],"mappings":"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"}