@finos/legend-cube-builder 0.0.4 → 0.0.6

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 (719) hide show
  1. package/README.md +9 -3
  2. package/docs/adding-an-operation.md +24 -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 +83 -5
  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 +16 -2
  24. package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
  25. package/lib/__lib__/LegendCubeLabels.d.ts +130 -9
  26. package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
  27. package/lib/__lib__/LegendCubeLabels.js +169 -17
  28. package/lib/__lib__/LegendCubeLabels.js.map +1 -1
  29. package/lib/__lib__/LegendCubeNavigation.d.ts +23 -0
  30. package/lib/__lib__/LegendCubeNavigation.d.ts.map +1 -0
  31. package/lib/__lib__/LegendCubeNavigation.js +33 -0
  32. package/lib/__lib__/LegendCubeNavigation.js.map +1 -0
  33. package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts +26 -0
  34. package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts.map +1 -0
  35. package/lib/__lib__/LegendCubeProjectSourceLabels.js +26 -0
  36. package/lib/__lib__/LegendCubeProjectSourceLabels.js.map +1 -0
  37. package/lib/__lib__/LegendCubeServiceLabels.d.ts +27 -0
  38. package/lib/__lib__/LegendCubeServiceLabels.d.ts.map +1 -0
  39. package/lib/__lib__/LegendCubeServiceLabels.js +32 -0
  40. package/lib/__lib__/LegendCubeServiceLabels.js.map +1 -0
  41. package/lib/__lib__/LegendCubeTesting.d.ts +10 -1
  42. package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
  43. package/lib/__lib__/LegendCubeTesting.js +9 -0
  44. package/lib/__lib__/LegendCubeTesting.js.map +1 -1
  45. package/lib/__lib__/LegendCubeTour.d.ts +62 -0
  46. package/lib/__lib__/LegendCubeTour.d.ts.map +1 -0
  47. package/lib/__lib__/LegendCubeTour.js +149 -0
  48. package/lib/__lib__/LegendCubeTour.js.map +1 -0
  49. package/lib/__test-utils__/CubeEngineTestSupport.d.ts +1 -1
  50. package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
  51. package/lib/__test-utils__/CubeEngineTestSupport.js +2 -2
  52. package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
  53. package/lib/__test-utils__/CubeExampleTestUtils.d.ts +34 -0
  54. package/lib/__test-utils__/CubeExampleTestUtils.d.ts.map +1 -0
  55. package/lib/__test-utils__/CubeExampleTestUtils.js +72 -0
  56. package/lib/__test-utils__/CubeExampleTestUtils.js.map +1 -0
  57. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +8 -1
  58. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -1
  59. package/lib/__test-utils__/CubeExpressionTestUtils.js +20 -3
  60. package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -1
  61. package/lib/__test-utils__/CubeFunctionTestOutline.d.ts +26 -0
  62. package/lib/__test-utils__/CubeFunctionTestOutline.d.ts.map +1 -0
  63. package/lib/__test-utils__/CubeFunctionTestOutline.js +56 -0
  64. package/lib/__test-utils__/CubeFunctionTestOutline.js.map +1 -0
  65. package/lib/__test-utils__/CubeLambdaCorpus.d.ts +36 -0
  66. package/lib/__test-utils__/CubeLambdaCorpus.d.ts.map +1 -0
  67. package/lib/__test-utils__/CubeLambdaCorpus.js +83 -0
  68. package/lib/__test-utils__/CubeLambdaCorpus.js.map +1 -0
  69. package/lib/__test-utils__/CubePageTestUtils.d.ts +6 -0
  70. package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
  71. package/lib/__test-utils__/CubePageTestUtils.js +21 -0
  72. package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
  73. package/lib/__test-utils__/CubeTestApplication.d.ts +9 -0
  74. package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
  75. package/lib/__test-utils__/CubeTestApplication.js +16 -0
  76. package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
  77. package/lib/__test-utils__/CubeVariantTestUtils.d.ts +16 -0
  78. package/lib/__test-utils__/CubeVariantTestUtils.d.ts.map +1 -0
  79. package/lib/__test-utils__/CubeVariantTestUtils.js +66 -0
  80. package/lib/__test-utils__/CubeVariantTestUtils.js.map +1 -0
  81. package/lib/__test-utils__/FakeCubeEngine.d.ts +5 -0
  82. package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
  83. package/lib/__test-utils__/FakeCubeEngine.js +17 -0
  84. package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
  85. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +7 -1
  86. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -1
  87. package/lib/__test-utils__/FakeCubeIngestCatalog.js +16 -0
  88. package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -1
  89. package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts +26 -0
  90. package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts.map +1 -0
  91. package/lib/__test-utils__/FakeCubeServiceCatalog.js +40 -0
  92. package/lib/__test-utils__/FakeCubeServiceCatalog.js.map +1 -0
  93. package/lib/components/CubeAddItems.d.ts.map +1 -1
  94. package/lib/components/CubeAddItems.js +11 -7
  95. package/lib/components/CubeAddItems.js.map +1 -1
  96. package/lib/components/CubeDialogTheme.d.ts +25 -0
  97. package/lib/components/CubeDialogTheme.d.ts.map +1 -0
  98. package/lib/components/CubeDialogTheme.js +25 -0
  99. package/lib/components/CubeDialogTheme.js.map +1 -0
  100. package/lib/components/CubeEditor.d.ts +12 -1
  101. package/lib/components/CubeEditor.d.ts.map +1 -1
  102. package/lib/components/CubeEditor.js +22 -14
  103. package/lib/components/CubeEditor.js.map +1 -1
  104. package/lib/components/CubeFileMenu.d.ts +28 -0
  105. package/lib/components/CubeFileMenu.d.ts.map +1 -0
  106. package/lib/components/CubeFileMenu.js +78 -0
  107. package/lib/components/CubeFileMenu.js.map +1 -0
  108. package/lib/components/CubeLambdaImportBanner.d.ts +26 -0
  109. package/lib/components/CubeLambdaImportBanner.d.ts.map +1 -0
  110. package/lib/components/CubeLambdaImportBanner.js +47 -0
  111. package/lib/components/CubeLambdaImportBanner.js.map +1 -0
  112. package/lib/components/CubeNodeIcon.d.ts.map +1 -1
  113. package/lib/components/CubeNodeIcon.js +6 -1
  114. package/lib/components/CubeNodeIcon.js.map +1 -1
  115. package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -1
  116. package/lib/components/CubeSchemaColumnsTable.js +2 -2
  117. package/lib/components/CubeSchemaColumnsTable.js.map +1 -1
  118. package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
  119. package/lib/components/canvas/CubeCanvas.js +40 -6
  120. package/lib/components/canvas/CubeCanvas.js.map +1 -1
  121. package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
  122. package/lib/components/canvas/CubeCanvasContextMenu.js +2 -1
  123. package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
  124. package/lib/components/canvas/CubeCanvasElements.d.ts +18 -1
  125. package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
  126. package/lib/components/canvas/CubeCanvasElements.js +58 -3
  127. package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
  128. package/lib/components/canvas/CubeCanvasLayout.js +1 -1
  129. package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
  130. package/lib/components/canvas/CubeCanvasNode.js +11 -4
  131. package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
  132. package/lib/components/dev-settings/CubeDevSettings.d.ts +35 -0
  133. package/lib/components/dev-settings/CubeDevSettings.d.ts.map +1 -0
  134. package/lib/components/dev-settings/CubeDevSettings.js +54 -0
  135. package/lib/components/dev-settings/CubeDevSettings.js.map +1 -0
  136. package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -1
  137. package/lib/components/editors/CubeColumnChecklist.js +2 -2
  138. package/lib/components/editors/CubeColumnChecklist.js.map +1 -1
  139. package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
  140. package/lib/components/editors/CubeColumnPicker.js +6 -4
  141. package/lib/components/editors/CubeColumnPicker.js.map +1 -1
  142. package/lib/components/editors/CubeConcatEditor.js +2 -2
  143. package/lib/components/editors/CubeConcatEditor.js.map +1 -1
  144. package/lib/components/editors/CubeExplodeEditor.d.ts +26 -0
  145. package/lib/components/editors/CubeExplodeEditor.d.ts.map +1 -0
  146. package/lib/components/editors/CubeExplodeEditor.js +61 -0
  147. package/lib/components/editors/CubeExplodeEditor.js.map +1 -0
  148. package/lib/components/editors/CubeExpressionFilterEditor.d.ts +25 -0
  149. package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -0
  150. package/lib/components/editors/CubeExpressionFilterEditor.js +86 -0
  151. package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
  152. package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -1
  153. package/lib/components/editors/CubeExtendEditor.js +13 -12
  154. package/lib/components/editors/CubeExtendEditor.js.map +1 -1
  155. package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
  156. package/lib/components/editors/CubeFilterEditor.js +13 -2
  157. package/lib/components/editors/CubeFilterEditor.js.map +1 -1
  158. package/lib/components/editors/CubeFunctionSourceEditor.d.ts +25 -0
  159. package/lib/components/editors/CubeFunctionSourceEditor.d.ts.map +1 -0
  160. package/lib/components/editors/CubeFunctionSourceEditor.js +55 -0
  161. package/lib/components/editors/CubeFunctionSourceEditor.js.map +1 -0
  162. package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
  163. package/lib/components/editors/CubeJoinEditor.js +16 -4
  164. package/lib/components/editors/CubeJoinEditor.js.map +1 -1
  165. package/lib/components/editors/CubeJsonFieldsTree.d.ts +46 -0
  166. package/lib/components/editors/CubeJsonFieldsTree.d.ts.map +1 -0
  167. package/lib/components/editors/CubeJsonFieldsTree.js +93 -0
  168. package/lib/components/editors/CubeJsonFieldsTree.js.map +1 -0
  169. package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
  170. package/lib/components/editors/CubeNodeEditorPanel.js +18 -8
  171. package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
  172. package/lib/components/editors/CubeNodeEditorPopper.d.ts +5 -1
  173. package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -1
  174. package/lib/components/editors/CubeNodeEditorPopper.js +10 -2
  175. package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -1
  176. package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
  177. package/lib/components/editors/CubeNodeEditorRegistry.js +11 -1
  178. package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
  179. package/lib/components/editors/CubePivotEditor.d.ts +26 -0
  180. package/lib/components/editors/CubePivotEditor.d.ts.map +1 -0
  181. package/lib/components/editors/CubePivotEditor.js +93 -0
  182. package/lib/components/editors/CubePivotEditor.js.map +1 -0
  183. package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -1
  184. package/lib/components/editors/CubeRestrictEditor.js +2 -2
  185. package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
  186. package/lib/components/editors/CubeServiceSourceEditor.d.ts +25 -0
  187. package/lib/components/editors/CubeServiceSourceEditor.d.ts.map +1 -0
  188. package/lib/components/editors/CubeServiceSourceEditor.js +41 -0
  189. package/lib/components/editors/CubeServiceSourceEditor.js.map +1 -0
  190. package/lib/components/grid/CubeColumnFormatDialog.d.ts +28 -0
  191. package/lib/components/grid/CubeColumnFormatDialog.d.ts.map +1 -0
  192. package/lib/components/grid/CubeColumnFormatDialog.js +94 -0
  193. package/lib/components/grid/CubeColumnFormatDialog.js.map +1 -0
  194. package/lib/components/grid/CubeDrilldownBar.d.ts +37 -0
  195. package/lib/components/grid/CubeDrilldownBar.d.ts.map +1 -0
  196. package/lib/components/grid/CubeDrilldownBar.js +77 -0
  197. package/lib/components/grid/CubeDrilldownBar.js.map +1 -0
  198. package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
  199. package/lib/components/grid/CubeGridRegion.js +43 -28
  200. package/lib/components/grid/CubeGridRegion.js.map +1 -1
  201. package/lib/components/grid/CubeGridValues.d.ts +36 -4
  202. package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
  203. package/lib/components/grid/CubeGridValues.js +116 -4
  204. package/lib/components/grid/CubeGridValues.js.map +1 -1
  205. package/lib/components/grid/CubeJsonExplorerDialog.d.ts +27 -0
  206. package/lib/components/grid/CubeJsonExplorerDialog.d.ts.map +1 -0
  207. package/lib/components/grid/CubeJsonExplorerDialog.js +102 -0
  208. package/lib/components/grid/CubeJsonExplorerDialog.js.map +1 -0
  209. package/lib/components/grid/CubeJsonViewerDialog.d.ts +27 -0
  210. package/lib/components/grid/CubeJsonViewerDialog.d.ts.map +1 -0
  211. package/lib/components/grid/CubeJsonViewerDialog.js +68 -0
  212. package/lib/components/grid/CubeJsonViewerDialog.js.map +1 -0
  213. package/lib/components/grid/CubeResultGrid.d.ts +81 -6
  214. package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
  215. package/lib/components/grid/CubeResultGrid.js +400 -35
  216. package/lib/components/grid/CubeResultGrid.js.map +1 -1
  217. package/lib/components/grid/CubeRunStatsPanel.d.ts +28 -0
  218. package/lib/components/grid/CubeRunStatsPanel.d.ts.map +1 -0
  219. package/lib/components/grid/CubeRunStatsPanel.js +61 -0
  220. package/lib/components/grid/CubeRunStatsPanel.js.map +1 -0
  221. package/lib/components/grid/CubeServerSideGrid.d.ts +36 -0
  222. package/lib/components/grid/CubeServerSideGrid.d.ts.map +1 -0
  223. package/lib/components/grid/CubeServerSideGrid.js +116 -0
  224. package/lib/components/grid/CubeServerSideGrid.js.map +1 -0
  225. package/lib/components/grid/CubeSqlDialog.d.ts +24 -0
  226. package/lib/components/grid/CubeSqlDialog.d.ts.map +1 -0
  227. package/lib/components/grid/CubeSqlDialog.js +39 -0
  228. package/lib/components/grid/CubeSqlDialog.js.map +1 -0
  229. package/lib/components/grid/CubeSqlFormat.d.ts +20 -0
  230. package/lib/components/grid/CubeSqlFormat.d.ts.map +1 -0
  231. package/lib/components/grid/CubeSqlFormat.js +32 -0
  232. package/lib/components/grid/CubeSqlFormat.js.map +1 -0
  233. package/lib/components/palette/CubePalette.d.ts.map +1 -1
  234. package/lib/components/palette/CubePalette.js +36 -14
  235. package/lib/components/palette/CubePalette.js.map +1 -1
  236. package/lib/components/show-pure/CubeShowPureDialog.d.ts +4 -1
  237. package/lib/components/show-pure/CubeShowPureDialog.d.ts.map +1 -1
  238. package/lib/components/show-pure/CubeShowPureDialog.js +8 -4
  239. package/lib/components/show-pure/CubeShowPureDialog.js.map +1 -1
  240. package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -1
  241. package/lib/components/source-picker/CubeDataProductTab.js +37 -16
  242. package/lib/components/source-picker/CubeDataProductTab.js.map +1 -1
  243. package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -1
  244. package/lib/components/source-picker/CubeDirectConnectionTab.js +6 -4
  245. package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -1
  246. package/lib/components/source-picker/CubeFunctionSteps.d.ts +36 -0
  247. package/lib/components/source-picker/CubeFunctionSteps.d.ts.map +1 -0
  248. package/lib/components/source-picker/CubeFunctionSteps.js +76 -0
  249. package/lib/components/source-picker/CubeFunctionSteps.js.map +1 -0
  250. package/lib/components/source-picker/CubeIngestTab.d.ts +2 -2
  251. package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -1
  252. package/lib/components/source-picker/CubeIngestTab.js +49 -20
  253. package/lib/components/source-picker/CubeIngestTab.js.map +1 -1
  254. package/lib/components/source-picker/CubeInlineModelTab.d.ts +3 -2
  255. package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -1
  256. package/lib/components/source-picker/CubeInlineModelTab.js +23 -13
  257. package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -1
  258. package/lib/components/source-picker/CubePickerListItem.d.ts +47 -0
  259. package/lib/components/source-picker/CubePickerListItem.d.ts.map +1 -0
  260. package/lib/components/source-picker/CubePickerListItem.js +62 -0
  261. package/lib/components/source-picker/CubePickerListItem.js.map +1 -0
  262. package/lib/components/source-picker/CubeProjectTab.d.ts +4 -3
  263. package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -1
  264. package/lib/components/source-picker/CubeProjectTab.js +7 -4
  265. package/lib/components/source-picker/CubeProjectTab.js.map +1 -1
  266. package/lib/components/source-picker/CubeServiceTab.d.ts +27 -0
  267. package/lib/components/source-picker/CubeServiceTab.d.ts.map +1 -0
  268. package/lib/components/source-picker/CubeServiceTab.js +36 -0
  269. package/lib/components/source-picker/CubeServiceTab.js.map +1 -0
  270. package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
  271. package/lib/components/source-picker/CubeSourcePicker.js +16 -3
  272. package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
  273. package/lib/components/source-picker/CubeTablePreview.d.ts +29 -0
  274. package/lib/components/source-picker/CubeTablePreview.d.ts.map +1 -0
  275. package/lib/components/source-picker/CubeTablePreview.js +10 -0
  276. package/lib/components/source-picker/CubeTablePreview.js.map +1 -0
  277. package/lib/components/spec-transfer/CubeImportPureDialog.d.ts +27 -0
  278. package/lib/components/spec-transfer/CubeImportPureDialog.d.ts.map +1 -0
  279. package/lib/components/spec-transfer/CubeImportPureDialog.js +38 -0
  280. package/lib/components/spec-transfer/CubeImportPureDialog.js.map +1 -0
  281. package/lib/components/spec-transfer/CubeSpecTransferDialog.d.ts.map +1 -1
  282. package/lib/components/spec-transfer/CubeSpecTransferDialog.js +9 -3
  283. package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
  284. package/lib/components/tour/CubeTour.d.ts +36 -0
  285. package/lib/components/tour/CubeTour.d.ts.map +1 -0
  286. package/lib/components/tour/CubeTour.js +183 -0
  287. package/lib/components/tour/CubeTour.js.map +1 -0
  288. package/lib/graph-manager/CubeDataProductCatalog.d.ts +10 -0
  289. package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -1
  290. package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -1
  291. package/lib/graph-manager/CubeEngine.d.ts +46 -1
  292. package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
  293. package/lib/graph-manager/CubeEngine.js.map +1 -1
  294. package/lib/graph-manager/CubeEngineClientSettings.d.ts +43 -0
  295. package/lib/graph-manager/CubeEngineClientSettings.d.ts.map +1 -0
  296. package/lib/graph-manager/CubeEngineClientSettings.js +51 -0
  297. package/lib/graph-manager/CubeEngineClientSettings.js.map +1 -0
  298. package/lib/graph-manager/CubeIngest.d.ts +5 -0
  299. package/lib/graph-manager/CubeIngest.d.ts.map +1 -1
  300. package/lib/graph-manager/CubeIngest.js +10 -0
  301. package/lib/graph-manager/CubeIngest.js.map +1 -1
  302. package/lib/graph-manager/CubeIngestCatalog.d.ts +26 -0
  303. package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -1
  304. package/lib/graph-manager/CubeIngestCatalog.js +6 -0
  305. package/lib/graph-manager/CubeIngestCatalog.js.map +1 -1
  306. package/lib/graph-manager/CubeLakehouseRuntime.d.ts +29 -0
  307. package/lib/graph-manager/CubeLakehouseRuntime.d.ts.map +1 -0
  308. package/lib/graph-manager/CubeLakehouseRuntime.js +40 -0
  309. package/lib/graph-manager/CubeLakehouseRuntime.js.map +1 -0
  310. package/lib/graph-manager/CubeProjectCatalog.d.ts +3 -3
  311. package/lib/graph-manager/CubeService.d.ts +20 -0
  312. package/lib/graph-manager/CubeService.d.ts.map +1 -0
  313. package/lib/graph-manager/CubeService.js +22 -0
  314. package/lib/graph-manager/CubeService.js.map +1 -0
  315. package/lib/graph-manager/CubeServiceCatalog.d.ts +31 -0
  316. package/lib/graph-manager/CubeServiceCatalog.d.ts.map +1 -0
  317. package/lib/graph-manager/CubeServiceCatalog.js +17 -0
  318. package/lib/graph-manager/CubeServiceCatalog.js.map +1 -0
  319. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +52 -5
  320. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
  321. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +63 -5
  322. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
  323. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +9 -6
  324. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -1
  325. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +12 -8
  326. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -1
  327. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts +30 -0
  328. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts.map +1 -0
  329. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js +229 -0
  330. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js.map +1 -0
  331. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -1
  332. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +18 -9
  333. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -1
  334. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +4 -9
  335. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -1
  336. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +2 -1
  337. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -1
  338. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts +34 -0
  339. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts.map +1 -0
  340. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js +332 -0
  341. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js.map +1 -0
  342. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
  343. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +49 -10
  344. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
  345. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts +1 -1
  346. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts.map +1 -1
  347. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +3 -1
  348. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
  349. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +2 -1
  350. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -1
  351. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +2 -1
  352. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -1
  353. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +18 -0
  354. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
  355. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +74 -6
  356. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
  357. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -1
  358. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +7 -4
  359. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -1
  360. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts +31 -0
  361. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts.map +1 -0
  362. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js +69 -0
  363. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js.map +1 -0
  364. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
  365. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +6 -2
  366. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
  367. package/lib/index.css +2 -2
  368. package/lib/index.css.map +1 -1
  369. package/lib/index.d.ts +13 -3
  370. package/lib/index.d.ts.map +1 -1
  371. package/lib/index.js +11 -1
  372. package/lib/index.js.map +1 -1
  373. package/lib/stores/CubeAddPlacement.d.ts +10 -3
  374. package/lib/stores/CubeAddPlacement.d.ts.map +1 -1
  375. package/lib/stores/CubeAddPlacement.js +16 -5
  376. package/lib/stores/CubeAddPlacement.js.map +1 -1
  377. package/lib/stores/CubeDevSettingsState.d.ts +47 -0
  378. package/lib/stores/CubeDevSettingsState.d.ts.map +1 -0
  379. package/lib/stores/CubeDevSettingsState.js +99 -0
  380. package/lib/stores/CubeDevSettingsState.js.map +1 -0
  381. package/lib/stores/CubeEditorState.d.ts +189 -43
  382. package/lib/stores/CubeEditorState.d.ts.map +1 -1
  383. package/lib/stores/CubeEditorState.js +532 -117
  384. package/lib/stores/CubeEditorState.js.map +1 -1
  385. package/lib/stores/CubeEngineChecks.d.ts +59 -0
  386. package/lib/stores/CubeEngineChecks.d.ts.map +1 -0
  387. package/lib/stores/CubeEngineChecks.js +100 -0
  388. package/lib/stores/CubeEngineChecks.js.map +1 -0
  389. package/lib/stores/CubeExamples.d.ts.map +1 -1
  390. package/lib/stores/CubeExamples.js +136 -2
  391. package/lib/stores/CubeExamples.js.map +1 -1
  392. package/lib/stores/CubeExamplesState.d.ts +1 -1
  393. package/lib/stores/CubeExamplesState.d.ts.map +1 -1
  394. package/lib/stores/CubeExamplesState.js +6 -3
  395. package/lib/stores/CubeExamplesState.js.map +1 -1
  396. package/lib/stores/CubeExecutionState.d.ts.map +1 -1
  397. package/lib/stores/CubeExecutionState.js +24 -33
  398. package/lib/stores/CubeExecutionState.js.map +1 -1
  399. package/lib/stores/CubeExportState.d.ts +41 -0
  400. package/lib/stores/CubeExportState.d.ts.map +1 -0
  401. package/lib/stores/CubeExportState.js +134 -0
  402. package/lib/stores/CubeExportState.js.map +1 -0
  403. package/lib/stores/CubeExpressionFilterCheck.d.ts +51 -0
  404. package/lib/stores/CubeExpressionFilterCheck.d.ts.map +1 -0
  405. package/lib/stores/CubeExpressionFilterCheck.js +134 -0
  406. package/lib/stores/CubeExpressionFilterCheck.js.map +1 -0
  407. package/lib/stores/CubeExtendTyping.d.ts +6 -14
  408. package/lib/stores/CubeExtendTyping.d.ts.map +1 -1
  409. package/lib/stores/CubeExtendTyping.js +6 -33
  410. package/lib/stores/CubeExtendTyping.js.map +1 -1
  411. package/lib/stores/CubeFunctionRecheck.d.ts +30 -0
  412. package/lib/stores/CubeFunctionRecheck.d.ts.map +1 -0
  413. package/lib/stores/CubeFunctionRecheck.js +67 -0
  414. package/lib/stores/CubeFunctionRecheck.js.map +1 -0
  415. package/lib/stores/CubeGridFetcher.d.ts +75 -0
  416. package/lib/stores/CubeGridFetcher.d.ts.map +1 -0
  417. package/lib/stores/CubeGridFetcher.js +197 -0
  418. package/lib/stores/CubeGridFetcher.js.map +1 -0
  419. package/lib/stores/CubeGridQuickActions.d.ts +25 -6
  420. package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
  421. package/lib/stores/CubeGridQuickActions.js +52 -23
  422. package/lib/stores/CubeGridQuickActions.js.map +1 -1
  423. package/lib/stores/CubeGridState.d.ts +136 -0
  424. package/lib/stores/CubeGridState.d.ts.map +1 -0
  425. package/lib/stores/CubeGridState.js +317 -0
  426. package/lib/stores/CubeGridState.js.map +1 -0
  427. package/lib/stores/CubeHost.d.ts +42 -0
  428. package/lib/stores/CubeHost.d.ts.map +1 -1
  429. package/lib/stores/CubeHost.js +4 -0
  430. package/lib/stores/CubeHost.js.map +1 -1
  431. package/lib/stores/CubeLambdaImportState.d.ts +118 -0
  432. package/lib/stores/CubeLambdaImportState.d.ts.map +1 -0
  433. package/lib/stores/CubeLambdaImportState.js +302 -0
  434. package/lib/stores/CubeLambdaImportState.js.map +1 -0
  435. package/lib/stores/CubeLambdaSources.d.ts +45 -0
  436. package/lib/stores/CubeLambdaSources.d.ts.map +1 -0
  437. package/lib/stores/CubeLambdaSources.js +261 -0
  438. package/lib/stores/CubeLambdaSources.js.map +1 -0
  439. package/lib/stores/CubePureText.d.ts +20 -0
  440. package/lib/stores/CubePureText.d.ts.map +1 -0
  441. package/lib/stores/CubePureText.js +24 -0
  442. package/lib/stores/CubePureText.js.map +1 -0
  443. package/lib/stores/CubeQueryRun.d.ts +59 -0
  444. package/lib/stores/CubeQueryRun.d.ts.map +1 -0
  445. package/lib/stores/CubeQueryRun.js +101 -0
  446. package/lib/stores/CubeQueryRun.js.map +1 -0
  447. package/lib/stores/CubeRunStatsState.d.ts +61 -0
  448. package/lib/stores/CubeRunStatsState.d.ts.map +1 -0
  449. package/lib/stores/CubeRunStatsState.js +54 -0
  450. package/lib/stores/CubeRunStatsState.js.map +1 -0
  451. package/lib/stores/CubeRunningStepLambda.d.ts +25 -0
  452. package/lib/stores/CubeRunningStepLambda.d.ts.map +1 -0
  453. package/lib/stores/CubeRunningStepLambda.js +45 -0
  454. package/lib/stores/CubeRunningStepLambda.js.map +1 -0
  455. package/lib/stores/CubeServiceRecheck.d.ts +29 -0
  456. package/lib/stores/CubeServiceRecheck.d.ts.map +1 -0
  457. package/lib/stores/CubeServiceRecheck.js +33 -0
  458. package/lib/stores/CubeServiceRecheck.js.map +1 -0
  459. package/lib/stores/CubeShowPureState.d.ts +14 -1
  460. package/lib/stores/CubeShowPureState.d.ts.map +1 -1
  461. package/lib/stores/CubeShowPureState.js +41 -11
  462. package/lib/stores/CubeShowPureState.js.map +1 -1
  463. package/lib/stores/CubeSourcePickerState.d.ts +20 -4
  464. package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
  465. package/lib/stores/CubeSourcePickerState.js +75 -14
  466. package/lib/stores/CubeSourcePickerState.js.map +1 -1
  467. package/lib/stores/CubeTourState.d.ts +49 -0
  468. package/lib/stores/CubeTourState.d.ts.map +1 -0
  469. package/lib/stores/CubeTourState.js +92 -0
  470. package/lib/stores/CubeTourState.js.map +1 -0
  471. package/lib/stores/LegendCubeHost.d.ts +88 -0
  472. package/lib/stores/LegendCubeHost.d.ts.map +1 -0
  473. package/lib/stores/LegendCubeHost.js +149 -0
  474. package/lib/stores/LegendCubeHost.js.map +1 -0
  475. package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
  476. package/lib/stores/LocalModelCatalog.js +3 -1
  477. package/lib/stores/LocalModelCatalog.js.map +1 -1
  478. package/lib/stores/editors/CubeExplodeDraft.d.ts +87 -0
  479. package/lib/stores/editors/CubeExplodeDraft.d.ts.map +1 -0
  480. package/lib/stores/editors/CubeExplodeDraft.js +221 -0
  481. package/lib/stores/editors/CubeExplodeDraft.js.map +1 -0
  482. package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +94 -0
  483. package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
  484. package/lib/stores/editors/CubeExpressionFilterDraft.js +258 -0
  485. package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
  486. package/lib/stores/editors/CubeExtendDraft.d.ts +9 -0
  487. package/lib/stores/editors/CubeExtendDraft.d.ts.map +1 -1
  488. package/lib/stores/editors/CubeExtendDraft.js +26 -0
  489. package/lib/stores/editors/CubeExtendDraft.js.map +1 -1
  490. package/lib/stores/editors/CubeFunctionDraft.d.ts +34 -0
  491. package/lib/stores/editors/CubeFunctionDraft.d.ts.map +1 -0
  492. package/lib/stores/editors/CubeFunctionDraft.js +69 -0
  493. package/lib/stores/editors/CubeFunctionDraft.js.map +1 -0
  494. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +4 -2
  495. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
  496. package/lib/stores/editors/CubeNodeDraftRegistry.js +25 -3
  497. package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
  498. package/lib/stores/editors/CubePivotDraft.d.ts +93 -0
  499. package/lib/stores/editors/CubePivotDraft.d.ts.map +1 -0
  500. package/lib/stores/editors/CubePivotDraft.js +267 -0
  501. package/lib/stores/editors/CubePivotDraft.js.map +1 -0
  502. package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts +27 -0
  503. package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
  504. package/lib/stores/fixtures/CubeSalesDuckDbModel.js +52 -0
  505. package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
  506. package/lib/stores/fixtures/CubeTradesModel.d.ts +4 -0
  507. package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -1
  508. package/lib/stores/fixtures/CubeTradesModel.js +31 -1
  509. package/lib/stores/fixtures/CubeTradesModel.js.map +1 -1
  510. package/lib/stores/source-picker/CubeDataProductTabState.d.ts +34 -5
  511. package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -1
  512. package/lib/stores/source-picker/CubeDataProductTabState.js +111 -26
  513. package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -1
  514. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +25 -2
  515. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -1
  516. package/lib/stores/source-picker/CubeDirectConnectionTabState.js +183 -31
  517. package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -1
  518. package/lib/stores/source-picker/CubeIngestTabState.d.ts +62 -15
  519. package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -1
  520. package/lib/stores/source-picker/CubeIngestTabState.js +212 -60
  521. package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -1
  522. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +100 -4
  523. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -1
  524. package/lib/stores/source-picker/CubeInlineModelTabState.js +415 -28
  525. package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -1
  526. package/lib/stores/source-picker/CubeProjectTabState.d.ts +18 -3
  527. package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -1
  528. package/lib/stores/source-picker/CubeProjectTabState.js +26 -1
  529. package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -1
  530. package/lib/stores/source-picker/CubeServiceTabState.d.ts +74 -0
  531. package/lib/stores/source-picker/CubeServiceTabState.d.ts.map +1 -0
  532. package/lib/stores/source-picker/CubeServiceTabState.js +216 -0
  533. package/lib/stores/source-picker/CubeServiceTabState.js.map +1 -0
  534. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +15 -3
  535. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -1
  536. package/lib/stores/source-picker/CubeSourcePickerTab.js +21 -0
  537. package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -1
  538. package/lib/stores/variant/CubeJson.d.ts +48 -0
  539. package/lib/stores/variant/CubeJson.d.ts.map +1 -0
  540. package/lib/stores/variant/CubeJson.js +207 -0
  541. package/lib/stores/variant/CubeJson.js.map +1 -0
  542. package/lib/stores/variant/CubeJsonExplorerState.d.ts +88 -0
  543. package/lib/stores/variant/CubeJsonExplorerState.d.ts.map +1 -0
  544. package/lib/stores/variant/CubeJsonExplorerState.js +297 -0
  545. package/lib/stores/variant/CubeJsonExplorerState.js.map +1 -0
  546. package/lib/stores/variant/CubeJsonFieldsState.d.ts +83 -0
  547. package/lib/stores/variant/CubeJsonFieldsState.d.ts.map +1 -0
  548. package/lib/stores/variant/CubeJsonFieldsState.js +207 -0
  549. package/lib/stores/variant/CubeJsonFieldsState.js.map +1 -0
  550. package/lib/stores/variant/CubeJsonOffers.d.ts +76 -0
  551. package/lib/stores/variant/CubeJsonOffers.d.ts.map +1 -0
  552. package/lib/stores/variant/CubeJsonOffers.js +250 -0
  553. package/lib/stores/variant/CubeJsonOffers.js.map +1 -0
  554. package/lib/stores/variant/CubeJsonParse.d.ts +28 -0
  555. package/lib/stores/variant/CubeJsonParse.d.ts.map +1 -0
  556. package/lib/stores/variant/CubeJsonParse.js +53 -0
  557. package/lib/stores/variant/CubeJsonParse.js.map +1 -0
  558. package/lib/stores/variant/CubeJsonSampling.d.ts +41 -0
  559. package/lib/stores/variant/CubeJsonSampling.d.ts.map +1 -0
  560. package/lib/stores/variant/CubeJsonSampling.js +59 -0
  561. package/lib/stores/variant/CubeJsonSampling.js.map +1 -0
  562. package/lib/stores/variant/CubeJsonShape.d.ts +87 -0
  563. package/lib/stores/variant/CubeJsonShape.d.ts.map +1 -0
  564. package/lib/stores/variant/CubeJsonShape.js +209 -0
  565. package/lib/stores/variant/CubeJsonShape.js.map +1 -0
  566. package/lib/stores/variant/CubeJsonViewerState.d.ts +33 -0
  567. package/lib/stores/variant/CubeJsonViewerState.d.ts.map +1 -0
  568. package/lib/stores/variant/CubeJsonViewerState.js +53 -0
  569. package/lib/stores/variant/CubeJsonViewerState.js.map +1 -0
  570. package/package.json +10 -9
  571. package/src/__lib__/LegendCubeCommand.ts +7 -0
  572. package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
  573. package/src/__lib__/LegendCubeHelpText.ts +27 -1
  574. package/src/__lib__/LegendCubeLabels.ts +225 -16
  575. package/src/__lib__/LegendCubeNavigation.ts +48 -0
  576. package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
  577. package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
  578. package/src/__lib__/LegendCubeTesting.ts +9 -0
  579. package/src/__lib__/LegendCubeTour.ts +173 -0
  580. package/src/__test-utils__/CubeEngineTestSupport.ts +2 -1
  581. package/src/__test-utils__/CubeExampleTestUtils.ts +119 -0
  582. package/src/__test-utils__/CubeExpressionTestUtils.ts +29 -2
  583. package/src/__test-utils__/CubeFunctionTestOutline.ts +78 -0
  584. package/src/__test-utils__/CubeLambdaCorpus.ts +137 -0
  585. package/src/__test-utils__/CubePageTestUtils.tsx +34 -0
  586. package/src/__test-utils__/CubeTestApplication.ts +25 -0
  587. package/src/__test-utils__/CubeVariantTestUtils.ts +103 -0
  588. package/src/__test-utils__/FakeCubeEngine.ts +27 -0
  589. package/src/__test-utils__/FakeCubeIngestCatalog.ts +18 -0
  590. package/src/__test-utils__/FakeCubeServiceCatalog.ts +57 -0
  591. package/src/components/CubeAddItems.tsx +15 -6
  592. package/src/components/CubeDialogTheme.ts +25 -0
  593. package/src/components/CubeEditor.tsx +170 -129
  594. package/src/components/CubeFileMenu.tsx +129 -0
  595. package/src/components/CubeLambdaImportBanner.tsx +97 -0
  596. package/src/components/CubeNodeIcon.tsx +9 -0
  597. package/src/components/CubeSchemaColumnsTable.tsx +7 -2
  598. package/src/components/canvas/CubeCanvas.tsx +65 -10
  599. package/src/components/canvas/CubeCanvasContextMenu.tsx +33 -2
  600. package/src/components/canvas/CubeCanvasElements.ts +76 -3
  601. package/src/components/canvas/CubeCanvasLayout.ts +1 -1
  602. package/src/components/canvas/CubeCanvasNode.tsx +37 -3
  603. package/src/components/dev-settings/CubeDevSettings.tsx +169 -0
  604. package/src/components/editors/CubeColumnChecklist.tsx +8 -2
  605. package/src/components/editors/CubeColumnPicker.tsx +9 -3
  606. package/src/components/editors/CubeConcatEditor.tsx +2 -2
  607. package/src/components/editors/CubeExplodeEditor.tsx +207 -0
  608. package/src/components/editors/CubeExpressionFilterEditor.tsx +210 -0
  609. package/src/components/editors/CubeExtendEditor.tsx +34 -21
  610. package/src/components/editors/CubeFilterEditor.tsx +13 -1
  611. package/src/components/editors/CubeFunctionSourceEditor.tsx +140 -0
  612. package/src/components/editors/CubeJoinEditor.tsx +23 -4
  613. package/src/components/editors/CubeJsonFieldsTree.tsx +316 -0
  614. package/src/components/editors/CubeNodeEditorPanel.tsx +22 -10
  615. package/src/components/editors/CubeNodeEditorPopper.tsx +9 -1
  616. package/src/components/editors/CubeNodeEditorRegistry.ts +15 -0
  617. package/src/components/editors/CubePivotEditor.tsx +277 -0
  618. package/src/components/editors/CubeRestrictEditor.tsx +8 -2
  619. package/src/components/editors/CubeServiceSourceEditor.tsx +77 -0
  620. package/src/components/grid/CubeColumnFormatDialog.tsx +289 -0
  621. package/src/components/grid/CubeDrilldownBar.tsx +219 -0
  622. package/src/components/grid/CubeGridRegion.tsx +190 -56
  623. package/src/components/grid/CubeGridValues.ts +154 -4
  624. package/src/components/grid/CubeJsonExplorerDialog.tsx +304 -0
  625. package/src/components/grid/CubeJsonViewerDialog.tsx +190 -0
  626. package/src/components/grid/CubeResultGrid.tsx +586 -42
  627. package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
  628. package/src/components/grid/CubeServerSideGrid.tsx +213 -0
  629. package/src/components/grid/CubeSqlDialog.tsx +90 -0
  630. package/src/components/grid/CubeSqlFormat.ts +37 -0
  631. package/src/components/palette/CubePalette.tsx +54 -12
  632. package/src/components/show-pure/CubeShowPureDialog.tsx +19 -5
  633. package/src/components/source-picker/CubeDataProductTab.tsx +169 -75
  634. package/src/components/source-picker/CubeDirectConnectionTab.tsx +42 -30
  635. package/src/components/source-picker/CubeFunctionSteps.tsx +244 -0
  636. package/src/components/source-picker/CubeIngestTab.tsx +195 -83
  637. package/src/components/source-picker/CubeInlineModelTab.tsx +110 -81
  638. package/src/components/source-picker/CubePickerListItem.tsx +118 -0
  639. package/src/components/source-picker/CubeProjectTab.tsx +6 -3
  640. package/src/components/source-picker/CubeServiceTab.tsx +151 -0
  641. package/src/components/source-picker/CubeSourcePicker.tsx +54 -18
  642. package/src/components/source-picker/CubeTablePreview.tsx +49 -0
  643. package/src/components/spec-transfer/CubeImportPureDialog.tsx +122 -0
  644. package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +21 -8
  645. package/src/components/tour/CubeTour.tsx +317 -0
  646. package/src/graph-manager/CubeDataProductCatalog.ts +11 -0
  647. package/src/graph-manager/CubeEngine.ts +51 -1
  648. package/src/graph-manager/CubeEngineClientSettings.ts +64 -0
  649. package/src/graph-manager/CubeIngest.ts +15 -0
  650. package/src/graph-manager/CubeIngestCatalog.ts +33 -0
  651. package/src/graph-manager/CubeLakehouseRuntime.ts +43 -0
  652. package/src/graph-manager/CubeProjectCatalog.ts +3 -3
  653. package/src/graph-manager/CubeService.ts +29 -0
  654. package/src/graph-manager/CubeServiceCatalog.ts +35 -0
  655. package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +115 -5
  656. package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +13 -7
  657. package/src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts +312 -0
  658. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +35 -9
  659. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +6 -15
  660. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.ts +471 -0
  661. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +70 -15
  662. package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +3 -1
  663. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +7 -1
  664. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +122 -7
  665. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +9 -4
  666. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.ts +92 -0
  667. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +6 -1
  668. package/src/index.ts +39 -2
  669. package/src/stores/CubeAddPlacement.ts +25 -5
  670. package/src/stores/CubeDevSettingsState.ts +117 -0
  671. package/src/stores/CubeEditorState.ts +722 -201
  672. package/src/stores/CubeEngineChecks.ts +240 -0
  673. package/src/stores/CubeExamples.ts +188 -1
  674. package/src/stores/CubeExamplesState.ts +13 -3
  675. package/src/stores/CubeExecutionState.ts +26 -57
  676. package/src/stores/CubeExportState.ts +196 -0
  677. package/src/stores/CubeExpressionFilterCheck.ts +218 -0
  678. package/src/stores/CubeExtendTyping.ts +6 -46
  679. package/src/stores/CubeFunctionRecheck.ts +97 -0
  680. package/src/stores/CubeGridFetcher.ts +302 -0
  681. package/src/stores/CubeGridQuickActions.ts +56 -23
  682. package/src/stores/CubeGridState.ts +450 -0
  683. package/src/stores/CubeHost.ts +48 -0
  684. package/src/stores/CubeLambdaImportState.ts +434 -0
  685. package/src/stores/CubeLambdaSources.ts +390 -0
  686. package/src/stores/CubePureText.ts +28 -0
  687. package/src/stores/CubeQueryRun.ts +169 -0
  688. package/src/stores/CubeRunStatsState.ts +91 -0
  689. package/src/stores/CubeRunningStepLambda.ts +62 -0
  690. package/src/stores/CubeServiceRecheck.ts +53 -0
  691. package/src/stores/CubeShowPureState.ts +51 -12
  692. package/src/stores/CubeSourcePickerState.ts +89 -13
  693. package/src/stores/CubeTourState.ts +116 -0
  694. package/src/stores/LegendCubeHost.ts +243 -0
  695. package/src/stores/LocalModelCatalog.ts +6 -1
  696. package/src/stores/editors/CubeExplodeDraft.ts +272 -0
  697. package/src/stores/editors/CubeExpressionFilterDraft.ts +389 -0
  698. package/src/stores/editors/CubeExtendDraft.ts +29 -0
  699. package/src/stores/editors/CubeFunctionDraft.ts +92 -0
  700. package/src/stores/editors/CubeNodeDraftRegistry.ts +34 -2
  701. package/src/stores/editors/CubePivotDraft.ts +355 -0
  702. package/src/stores/fixtures/CubeSalesDuckDbModel.ts +60 -0
  703. package/src/stores/fixtures/CubeTradesModel.ts +36 -1
  704. package/src/stores/source-picker/CubeDataProductTabState.ts +162 -35
  705. package/src/stores/source-picker/CubeDirectConnectionTabState.ts +246 -47
  706. package/src/stores/source-picker/CubeIngestTabState.ts +331 -106
  707. package/src/stores/source-picker/CubeInlineModelTabState.ts +514 -34
  708. package/src/stores/source-picker/CubeProjectTabState.ts +35 -3
  709. package/src/stores/source-picker/CubeServiceTabState.ts +288 -0
  710. package/src/stores/source-picker/CubeSourcePickerTab.ts +31 -2
  711. package/src/stores/variant/CubeJson.ts +229 -0
  712. package/src/stores/variant/CubeJsonExplorerState.ts +378 -0
  713. package/src/stores/variant/CubeJsonFieldsState.ts +252 -0
  714. package/src/stores/variant/CubeJsonOffers.ts +359 -0
  715. package/src/stores/variant/CubeJsonParse.ts +75 -0
  716. package/src/stores/variant/CubeJsonSampling.ts +90 -0
  717. package/src/stores/variant/CubeJsonShape.ts +279 -0
  718. package/src/stores/variant/CubeJsonViewerState.ts +59 -0
  719. package/tsconfig.json +72 -1
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2026-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Dialog, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalHeader, PanelLoadingIndicator, } from '@finos/legend-art';
18
+ import { flowResult } from 'mobx';
19
+ import { observer } from 'mobx-react-lite';
20
+ import { LEGEND_CUBE_TEST_ID } from '../../__lib__/LegendCubeTesting.js';
21
+ import { CUBE_PRIMARY_BUTTON_DARK_MODE } from '../CubeDialogTheme.js';
22
+ const TEXT_AREA_CLASS_NAME = 'h-80 w-full resize-none rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] p-1 font-mono text-sm text-[var(--color-text-primary)]';
23
+ /**
24
+ * Import Pure (PLAN §11.18): a lambda pasted as Pure, as Show Pure shows one,
25
+ * or as the engine's JSON, read into the steps Cube writes it with, in
26
+ * place of this cube
27
+ */
28
+ export const CubeImportPureDialog = observer((props) => {
29
+ const { editorState } = props;
30
+ const { lambdaImport } = editorState;
31
+ const { applicationStore } = editorState.host;
32
+ const darkMode = !applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;
33
+ const importText = () => {
34
+ flowResult(lambdaImport.importText()).catch(applicationStore.alertUnhandledError);
35
+ };
36
+ return (_jsx(Dialog, { open: lambdaImport.isDialogOpen, onClose: () => lambdaImport.closeDialog(), children: _jsxs(Modal, { darkMode: darkMode, className: "w-[720px] max-w-full", children: [_jsx(ModalHeader, { children: _jsx("div", { className: "modal__title", children: "Import Pure" }) }), _jsx(PanelLoadingIndicator, { isLoading: lambdaImport.isImporting }), _jsx(ModalBody, { children: _jsxs("div", { className: "flex flex-col gap-2", "data-testid": LEGEND_CUBE_TEST_ID.IMPORT_PURE, children: [_jsxs("div", { className: "text-base text-[var(--color-text-secondary)]", children: ["Paste a query, as Show Pure shows one, e.g.", ' ', _jsx("code", { children: '|#>{db::Store.SCHEMA.TABLE}#->filter(x | $x.ID > 1)' }), ", or its JSON. Cube reads it into steps that replace this cube; Undo brings it back. Its sources are read where the source dialog reads them."] }), _jsx("textarea", { className: TEXT_AREA_CLASS_NAME, "aria-label": "Pure query", placeholder: "Pure query", spellCheck: false, value: lambdaImport.text, onChange: (event) => lambdaImport.setText(event.target.value) }), lambdaImport.dialogError !== undefined && (_jsxs("div", { className: "break-words text-base text-[var(--color-status-error)]", role: "alert", children: [lambdaImport.dialogError.message, lambdaImport.dialogError.detail !== undefined && (_jsxs("details", { children: [_jsx("summary", { className: "cursor-pointer", children: "Details" }), _jsx("pre", { className: "whitespace-pre-wrap text-sm", children: lambdaImport.dialogError.detail })] }))] }))] }) }), _jsxs(ModalFooter, { children: [_jsx(ModalFooterButton, { darkMode: CUBE_PRIMARY_BUTTON_DARK_MODE, formatText: false, text: "Import", disabled: !lambdaImport.text.trim() || lambdaImport.isImporting, onClick: importText }), _jsx(ModalFooterButton, { darkMode: darkMode, formatText: false, type: "secondary", text: "Cancel", onClick: () => lambdaImport.closeDialog() })] })] }) }));
37
+ });
38
+ //# sourceMappingURL=CubeImportPureDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeImportPureDialog.js","sourceRoot":"","sources":["../../../src/components/spec-transfer/CubeImportPureDialog.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CubeSpecTransferDialog.d.ts","sourceRoot":"","sources":["../../../src/components/spec-transfer/CubeSpecTransferDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMvE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,WACzB;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE;;CAsHzC,CAAC"}
1
+ {"version":3,"file":"CubeSpecTransferDialog.d.ts","sourceRoot":"","sources":["../../../src/components/spec-transfer/CubeSpecTransferDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAcH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAUvE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,WACzB;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE;;CA8HzC,CAAC"}
@@ -15,9 +15,13 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
15
15
  * limitations under the License.
16
16
  */
17
17
  import { Dialog, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalHeader, PanelLoadingIndicator, } from '@finos/legend-art';
18
+ import { CodeEditor } from '@finos/legend-lego/code-editor';
18
19
  import { flowResult } from 'mobx';
19
20
  import { observer } from 'mobx-react-lite';
20
21
  import { CUBE_SPEC_TRANSFER_MODE } from '../../stores/CubeSpecTransferState.js';
22
+ import { CUBE_PRIMARY_BUTTON_DARK_MODE } from '../CubeDialogTheme.js';
23
+ /** The code editor's language: legend-code-editor's `CODE_EDITOR_LANGUAGE.JSON` */
24
+ const JSON_LANGUAGE = 'json';
21
25
  const TEXT_AREA_CLASS_NAME = 'h-80 w-full resize-none rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-input)] p-1 font-mono text-sm text-[var(--color-text-primary)]';
22
26
  /**
23
27
  * Export and Import of the cube's saved spec, as text to copy, download,
@@ -29,17 +33,19 @@ export const CubeSpecTransferDialog = observer((props) => {
29
33
  const { applicationStore } = editorState.host;
30
34
  const darkMode = !applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;
31
35
  const isExport = transfer.mode === CUBE_SPEC_TRANSFER_MODE.EXPORT;
32
- return (_jsx(Dialog, { open: transfer.mode !== undefined, onClose: () => transfer.close(), children: _jsxs(Modal, { darkMode: darkMode, className: "w-[720px] max-w-full", children: [_jsx(ModalHeader, { children: _jsx("div", { className: "modal__title", children: isExport ? 'Export spec' : 'Import spec' }) }), _jsx(PanelLoadingIndicator, { isLoading: transfer.isReadingFile }), _jsx(ModalBody, { children: _jsxs("div", { className: "flex flex-col gap-2", children: [isExport ? (transfer.exportText !== undefined && (_jsx("textarea", { className: TEXT_AREA_CLASS_NAME, "aria-label": "Cube spec", readOnly: true, value: transfer.exportText }))) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: "Paste a cube spec, or choose a .cube.json file. The spec replaces this cube; Undo brings it back." }), _jsx("input", { className: "text-base", type: "file", accept: ".json,application/json", "aria-label": "Spec file", onChange: (event) => {
36
+ return (_jsx(Dialog, { open: transfer.mode !== undefined, onClose: () => transfer.close(), children: _jsxs(Modal, { darkMode: darkMode, className: "w-[720px] max-w-full", children: [_jsx(ModalHeader, { children: _jsx("div", { className: "modal__title", children: isExport ? 'Export spec' : 'Import spec' }) }), _jsx(PanelLoadingIndicator, { isLoading: transfer.isReadingFile }), _jsx(ModalBody, { children: _jsxs("div", { className: "flex flex-col gap-2", children: [isExport ? (transfer.exportText !== undefined && (
37
+ // a code editor, so each object and list folds from the gutter
38
+ _jsx("div", { className: "h-80 w-full overflow-hidden rounded-sm border border-[var(--color-border-default)]", "aria-label": "Cube spec", children: _jsx(CodeEditor, { inputValue: transfer.exportText, language: JSON_LANGUAGE, isReadOnly: true, hideMinimap: true, hideActionBar: true, extraEditorOptions: { scrollBeyondLastLine: false } }) }))) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-base text-[var(--color-text-secondary)]", children: "Paste a cube spec, or choose a .cube.json file. The spec replaces this cube; Undo brings it back." }), _jsx("input", { className: "text-base", type: "file", accept: ".json,application/json", "aria-label": "Spec file", onChange: (event) => {
33
39
  const file = event.target.files?.[0];
34
40
  // the same file can be chosen again
35
41
  event.target.value = '';
36
42
  if (file) {
37
43
  flowResult(transfer.readImportFile(file)).catch(applicationStore.alertUnhandledError);
38
44
  }
39
- } }), _jsx("textarea", { className: TEXT_AREA_CLASS_NAME, "aria-label": "Cube spec", placeholder: "Cube spec", spellCheck: false, value: transfer.importText, onChange: (event) => transfer.setImportText(event.target.value) })] })), transfer.error !== undefined && (_jsx("div", { className: "break-words text-base text-[var(--color-status-error)]", role: "alert", children: transfer.error }))] }) }), _jsxs(ModalFooter, { children: [isExport ? (_jsxs(_Fragment, { children: [_jsx(ModalFooterButton, { darkMode: darkMode, formatText: false, text: "Copy", disabled: transfer.exportText === undefined, onClick: () => {
45
+ } }), _jsx("textarea", { className: TEXT_AREA_CLASS_NAME, "aria-label": "Cube spec", placeholder: "Cube spec", spellCheck: false, value: transfer.importText, onChange: (event) => transfer.setImportText(event.target.value) })] })), transfer.error !== undefined && (_jsx("div", { className: "break-words text-base text-[var(--color-status-error)]", role: "alert", children: transfer.error }))] }) }), _jsxs(ModalFooter, { children: [isExport ? (_jsxs(_Fragment, { children: [_jsx(ModalFooterButton, { darkMode: CUBE_PRIMARY_BUTTON_DARK_MODE, formatText: false, text: "Copy", disabled: transfer.exportText === undefined, onClick: () => {
40
46
  transfer
41
47
  .copyExport()
42
48
  .catch(applicationStore.alertUnhandledError);
43
- } }), _jsx(ModalFooterButton, { darkMode: darkMode, formatText: false, text: "Download", disabled: transfer.exportText === undefined, onClick: () => transfer.downloadExport() })] })) : (_jsx(ModalFooterButton, { darkMode: darkMode, formatText: false, text: "Import", disabled: !transfer.importText.trim() || transfer.isReadingFile, onClick: () => transfer.importSpec() })), _jsx(ModalFooterButton, { darkMode: darkMode, formatText: false, type: "secondary", text: isExport ? 'Close' : 'Cancel', onClick: () => transfer.close() })] })] }) }));
49
+ } }), _jsx(ModalFooterButton, { darkMode: CUBE_PRIMARY_BUTTON_DARK_MODE, formatText: false, text: "Download", disabled: transfer.exportText === undefined, onClick: () => transfer.downloadExport() })] })) : (_jsx(ModalFooterButton, { darkMode: CUBE_PRIMARY_BUTTON_DARK_MODE, formatText: false, text: "Import", disabled: !transfer.importText.trim() || transfer.isReadingFile, onClick: () => transfer.importSpec() })), _jsx(ModalFooterButton, { darkMode: darkMode, formatText: false, type: "secondary", text: isExport ? 'Close' : 'Cancel', onClick: () => transfer.close() })] })] }) }));
44
50
  });
45
51
  //# sourceMappingURL=CubeSpecTransferDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeSpecTransferDialog.js","sourceRoot":"","sources":["../../../src/components/spec-transfer/CubeSpecTransferDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeSpecTransferDialog.js","sourceRoot":"","sources":["../../../src/components/spec-transfer/CubeSpecTransferDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
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 { CubeEditorState } from '../../stores/CubeEditorState.js';
17
+ /**
18
+ * Above the canvas, the grid and the node editor (1250), below MUI's dialogs
19
+ * (1300); inside the dialog that hosts the page, if one does
20
+ */
21
+ export declare const CUBE_TOUR_Z_INDEX = 1290;
22
+ /**
23
+ * The editor's guided tour (PLAN §11.21): the page dimmed but for the
24
+ * current step's controls, and a card beside them, or in the middle of the
25
+ * page for a step that points at nothing. The controls are followed as the
26
+ * page moves them (a panel resized, the grid loaded). Clicks on the page
27
+ * are held while it shows; Esc ends it, the arrow keys move through it.
28
+ */
29
+ export declare const CubeTour: ((props: {
30
+ editorState: CubeEditorState;
31
+ /** The page, whose controls the steps point at */
32
+ root: HTMLElement | null;
33
+ }) => import("react").ReactPortal | null) & {
34
+ displayName: string;
35
+ };
36
+ //# sourceMappingURL=CubeTour.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeTour.d.ts","sourceRoot":"","sources":["../../../src/components/tour/CubeTour.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAuEtC;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,WACX;IACN,WAAW,EAAE,eAAe,CAAC;IAC7B,kDAAkD;IAClD,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;CAC1B;;CAuMF,CAAC"}
@@ -0,0 +1,183 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2026-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { BasePopper } from '@finos/legend-art';
18
+ import { noop } from '@finos/legend-shared';
19
+ import { observer } from 'mobx-react-lite';
20
+ import { useEffect, useId, useMemo, useRef, useState } from 'react';
21
+ import { createPortal } from 'react-dom';
22
+ import { CUBE_TOUR_ANCHOR_ATTRIBUTE, CUBE_TOUR_LABEL, } from '../../__lib__/LegendCubeTour.js';
23
+ import { CubeButton } from '../CubeButton.js';
24
+ /**
25
+ * Above the canvas, the grid and the node editor (1250), below MUI's dialogs
26
+ * (1300); inside the dialog that hosts the page, if one does
27
+ */
28
+ export const CUBE_TOUR_Z_INDEX = 1290;
29
+ /** Room around the controls shown, and between them and the card */
30
+ const PADDING = 4;
31
+ const GAP = 12;
32
+ /** The card's width (Legend's root is 62.5%, so it is written in pixels) */
33
+ const CARD_WIDTH = 340;
34
+ const DIM = 'rgba(0, 0, 0, 0.45)';
35
+ const MODIFIERS = [
36
+ { name: 'offset', options: { offset: [0, GAP + PADDING] } },
37
+ { name: 'flip', options: { padding: GAP } },
38
+ {
39
+ name: 'preventOverflow',
40
+ options: { rootBoundary: 'viewport', padding: GAP, altAxis: true },
41
+ },
42
+ ];
43
+ /** The page's controls that carry the anchor */
44
+ const findAnchored = (root, anchor) => Array.from(root.querySelectorAll(`[${CUBE_TOUR_ANCHOR_ATTRIBUTE}~="${anchor}"]`));
45
+ /** The box around the anchor's controls that have a size; none if none has */
46
+ const boxOf = (root, anchor) => findAnchored(root, anchor)
47
+ .map((element) => element.getBoundingClientRect())
48
+ .filter((rect) => rect.width > 0 || rect.height > 0)
49
+ .reduce((box, rect) => {
50
+ if (!box) {
51
+ return {
52
+ left: rect.left,
53
+ top: rect.top,
54
+ width: rect.width,
55
+ height: rect.height,
56
+ };
57
+ }
58
+ const left = Math.min(box.left, rect.left);
59
+ const top = Math.min(box.top, rect.top);
60
+ return {
61
+ left,
62
+ top,
63
+ width: Math.max(box.left + box.width, rect.right) - left,
64
+ height: Math.max(box.top + box.height, rect.bottom) - top,
65
+ };
66
+ }, undefined);
67
+ const isSameBox = (a, b) => a === b ||
68
+ (a !== undefined &&
69
+ b !== undefined &&
70
+ a.left === b.left &&
71
+ a.top === b.top &&
72
+ a.width === b.width &&
73
+ a.height === b.height);
74
+ /**
75
+ * The editor's guided tour (PLAN §11.21): the page dimmed but for the
76
+ * current step's controls, and a card beside them, or in the middle of the
77
+ * page for a step that points at nothing. The controls are followed as the
78
+ * page moves them (a panel resized, the grid loaded). Clicks on the page
79
+ * are held while it shows; Esc ends it, the arrow keys move through it.
80
+ */
81
+ export const CubeTour = observer((props) => {
82
+ const { editorState, root } = props;
83
+ const { tour } = editorState;
84
+ const { step } = tour;
85
+ const titleId = useId();
86
+ const textId = useId();
87
+ const [box, setBox] = useState(undefined);
88
+ const popperRef = useRef(null);
89
+ const isShown = useMemo(() => (candidate) => candidate.anchor === undefined ||
90
+ (root !== null && findAnchored(root, candidate.anchor).length > 0), [root]);
91
+ // the step's controls followed, frame by frame, while it shows
92
+ const anchor = step?.anchor;
93
+ useEffect(() => {
94
+ if (anchor === undefined || !root) {
95
+ setBox(undefined);
96
+ return undefined;
97
+ }
98
+ let frame = 0;
99
+ const follow = () => {
100
+ const next = boxOf(root, anchor);
101
+ setBox((current) => (isSameBox(current, next) ? current : next));
102
+ frame = requestAnimationFrame(follow);
103
+ };
104
+ follow();
105
+ return () => cancelAnimationFrame(frame);
106
+ }, [anchor, root]);
107
+ useEffect(() => {
108
+ popperRef.current?.update().catch(noop());
109
+ }, [box]);
110
+ // the tour's keys come first: the page's shortcuts wait while it shows
111
+ const isOpen = step !== undefined;
112
+ useEffect(() => {
113
+ if (!isOpen) {
114
+ return undefined;
115
+ }
116
+ const onKeyDown = (event) => {
117
+ if (event.key === 'Escape') {
118
+ tour.close();
119
+ }
120
+ else if (event.key === 'ArrowRight') {
121
+ tour.move(1, isShown);
122
+ }
123
+ else if (event.key === 'ArrowLeft') {
124
+ tour.move(-1, isShown);
125
+ }
126
+ else {
127
+ return;
128
+ }
129
+ event.preventDefault();
130
+ event.stopPropagation();
131
+ };
132
+ window.addEventListener('keydown', onKeyDown, true);
133
+ return () => window.removeEventListener('keydown', onKeyDown, true);
134
+ }, [isOpen, tour, isShown]);
135
+ const spotlight = useMemo(() => box && {
136
+ left: box.left - PADDING,
137
+ top: box.top - PADDING,
138
+ width: box.width + 2 * PADDING,
139
+ height: box.height + 2 * PADDING,
140
+ }, [box]);
141
+ // the popper reads the spotlight wherever it places the card
142
+ const latest = useRef(spotlight);
143
+ latest.current = spotlight;
144
+ const virtualAnchor = useMemo(() => ({
145
+ getBoundingClientRect: () => {
146
+ const current = latest.current ?? {
147
+ left: 0,
148
+ top: 0,
149
+ width: 0,
150
+ height: 0,
151
+ };
152
+ return DOMRect.fromRect({
153
+ x: current.left,
154
+ y: current.top,
155
+ width: current.width,
156
+ height: current.height,
157
+ });
158
+ },
159
+ }), []);
160
+ if (!step || !root) {
161
+ return null;
162
+ }
163
+ // counted over the whole tour, steady while an example loads and adds
164
+ // the controls of later steps; a step skipped skips its number
165
+ const position = tour.index + 1;
166
+ const isLast = tour.steps.filter(isShown).at(-1) === step;
167
+ // a page hosted in a dialog, as Studio hosts Cube, keeps the tour in the
168
+ // dialog's layer, above the page
169
+ const container = root.closest('.MuiDialog-root') ?? root.ownerDocument.body;
170
+ const card = (_jsxs("div", { className: "legend-cube__tour flex flex-col gap-2 rounded-md border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-3 text-[var(--color-text-primary)] shadow-lg", style: { width: CARD_WIDTH, maxWidth: `calc(100vw - ${2 * GAP}px)` }, role: "dialog", "aria-modal": "true", "aria-labelledby": titleId, "aria-describedby": textId, children: [_jsxs("div", { className: "flex items-baseline gap-2", children: [_jsx("h2", { id: titleId, className: "min-w-0 flex-1 text-lg font-medium", children: step.title }), _jsx("span", { className: "shrink-0 text-sm text-[var(--color-text-secondary)]", children: CUBE_TOUR_LABEL.progress(position, tour.steps.length) })] }), _jsxs("p", { id: textId, className: "text-base leading-snug", children: [step.text, tour.openedExample && tour.index === 0 && (_jsxs(_Fragment, { children: [" ", CUBE_TOUR_LABEL.EXAMPLE_OPENED] }))] }), _jsxs("div", { className: "flex items-center gap-2", children: [!isLast && (_jsx("button", { type: "button", className: "text-sm text-[var(--color-text-secondary)] underline hover:text-[var(--color-text-primary)]", onClick: () => tour.close(), children: CUBE_TOUR_LABEL.END })), _jsx("span", { className: "flex-1" }), position > 1 && (_jsx(CubeButton, { onClick: () => tour.move(-1, isShown), children: CUBE_TOUR_LABEL.BACK })), _jsx(CubeButton, { primary: true,
171
+ // the keyboard follows the tour: Enter moves on
172
+ autoFocus: true, onClick: () => tour.move(1, isShown), children: isLast ? CUBE_TOUR_LABEL.DONE : CUBE_TOUR_LABEL.NEXT })] })] }, tour.index));
173
+ return createPortal(_jsx("div", { className: "legend-cube__tour-layer", style: { position: 'fixed', inset: 0, zIndex: CUBE_TOUR_Z_INDEX },
174
+ // the page underneath takes no clicks, and shows no menu, meanwhile
175
+ onContextMenu: (event) => event.preventDefault(), children: spotlight ? (_jsxs(_Fragment, { children: [_jsx("div", { "aria-hidden": true, style: {
176
+ position: 'fixed',
177
+ ...spotlight,
178
+ borderRadius: 6,
179
+ boxShadow: `0 0 0 2px var(--color-accent), 0 0 0 9999px ${DIM}`,
180
+ pointerEvents: 'none',
181
+ } }), _jsx(BasePopper, { open: true, role: "presentation", popperRef: popperRef, anchorEl: virtualAnchor, container: container, placement: step.placement ?? 'bottom', modifiers: MODIFIERS, style: { zIndex: CUBE_TOUR_Z_INDEX + 1 }, children: card })] })) : (_jsx("div", { className: "flex items-center justify-center", style: { position: 'fixed', inset: 0, background: DIM }, children: card })) }), container);
182
+ });
183
+ //# sourceMappingURL=CubeTour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeTour.js","sourceRoot":"","sources":["../../../src/components/tour/CubeTour.tsx"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { Schema } from '@finos/legend-cube';
17
+ import type { PlainObject } from '@finos/legend-shared';
17
18
  import { type CubeDataProductEnvironmentType, type CubeDataProductProject } from './CubeDataProduct.js';
18
19
  import type { CubeEngineError, CubeResultValue, NodeId } from './CubeEngine.js';
19
20
  /** A deployed data product the catalog lists, at the version it was deployed from */
@@ -164,4 +165,13 @@ export interface CubeDataProductCatalog {
164
165
  */
165
166
  getAccess?(candidate: CubeDataProductCandidate, signal?: AbortSignal): Promise<ReadonlyMap<string, CubeAccessPointGroupAccess>>;
166
167
  }
168
+ /**
169
+ * Where a data product cube's engine reads the project its data products
170
+ * are in, as protocol JSON: by default the project at the version they were
171
+ * deployed from (a pointer); a host's own, e.g. Studio's workspace, whose
172
+ * data products aren't deployed. Fails with a `CubeEngineError`
173
+ */
174
+ export interface CubeDataProductModelSource {
175
+ getProjectModel(project: CubeDataProductProject): Promise<PlainObject>;
176
+ }
167
177
  //# sourceMappingURL=CubeDataProductCatalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeDataProductCatalog.d.ts","sourceRoot":"","sources":["../../src/graph-manager/CubeDataProductCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeDataProductCatalog.d.ts","sourceRoot":"","sources":["../../src/graph-manager/CubeDataProductCatalog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CubeDataProductCatalog.js","sourceRoot":"","sources":["../../src/graph-manager/CubeDataProductCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeDataProductCatalog.js","sourceRoot":"","sources":["../../src/graph-manager/CubeDataProductCatalog.ts"],"names":[],"mappings":"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"}
@@ -70,10 +70,42 @@ export interface CubeOutlineRuntime {
70
70
  */
71
71
  readonly connections?: readonly CubeOutlineConnection[];
72
72
  }
73
- /** What a model offers the source picker: its databases and runtimes, as plain data */
73
+ /** A parameter of a function, as its signature declares it */
74
+ export interface CubeOutlineFunctionParameter {
75
+ readonly name: string;
76
+ /** Its type's path, as written, e.g. `Float` */
77
+ readonly type: string;
78
+ /** Its multiplicity, as written, e.g. `[1]`, `[0..1]` or `[*]` */
79
+ readonly multiplicity: string;
80
+ }
81
+ /** A column a function declares it returns, e.g. `ID:Integer` */
82
+ export interface CubeOutlineFunctionColumn {
83
+ readonly name: string;
84
+ readonly type: string;
85
+ }
86
+ /** A function of a model that returns a relation (PLAN §6.5), as plain data */
87
+ export interface CubeOutlineFunction {
88
+ /** The path the lambda calls it by, e.g. `sales::ordersAbove` */
89
+ readonly path: string;
90
+ /** The engine's full name, e.g. `sales::ordersAbove_Float_1__Relation_1_` */
91
+ readonly signature: string;
92
+ readonly parameters: readonly CubeOutlineFunctionParameter[];
93
+ readonly columns: readonly CubeOutlineFunctionColumn[];
94
+ /**
95
+ * The runtime it reads through, as its body's `from()` names it, directly
96
+ * or through a function it calls; none when it leaves the runtime to its
97
+ * caller
98
+ */
99
+ readonly runtime?: string | undefined;
100
+ /** Why it can't be added, e.g. a parameter Cube can't take a value for */
101
+ readonly problem?: string | undefined;
102
+ }
103
+ /** What a model offers the source picker: its databases, runtimes and functions, as plain data */
74
104
  export interface CubeModelOutline {
75
105
  readonly databases: readonly CubeOutlineDatabase[];
76
106
  readonly runtimes: readonly CubeOutlineRuntime[];
107
+ /** Its functions that return a relation; optional, as an outline from before them has none */
108
+ readonly functions?: readonly CubeOutlineFunction[] | undefined;
77
109
  }
78
110
  export declare enum CubeEngineErrorKind {
79
111
  /** the model or a lambda doesn't compile, or a table can't be typed */
@@ -146,8 +178,21 @@ export interface CubeEngine {
146
178
  execute(model: ModelContext, lambda: IR, options?: {
147
179
  abortController?: AbortController | undefined;
148
180
  }): Promise<CubeResult>;
181
+ /**
182
+ * Runs an execution lambda and gives its rows as CSV text (PLAN §11.10):
183
+ * the engine's own, a header row first, every value as the engine writes
184
+ * it; rejects with a `CubeEngineError`
185
+ */
186
+ exportCsv(model: ModelContext, lambda: IR, options?: {
187
+ abortController?: AbortController | undefined;
188
+ }): Promise<string>;
149
189
  /** The Pure text of a lambda, for display only: never parsed back */
150
190
  renderPure(lambda: IR): Promise<string>;
191
+ /**
192
+ * A lambda as the engine receives it, pretty-printed, its numbers kept
193
+ * exact (PLAN §11.16): for a viewer to copy while debugging a run
194
+ */
195
+ serializeLambda(lambda: IR): string;
151
196
  /**
152
197
  * An Extend column's expression as the engine's JSON (PLAN §11.7), located
153
198
  * under the source id; rejects with a `CubeEngineError` placed in the text
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEngine.d.ts","sourceRoot":"","sources":["../../src/graph-manager/CubeEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeEngine.d.ts","sourceRoot":"","sources":["../../src/graph-manager/CubeEngine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEngine.js","sourceRoot":"","sources":["../../src/graph-manager/CubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,mFAAmF;AACnF,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,uDAAuD;IACvD,4CAA2B,CAAA;IAC3B,iDAAiD;IACjD,iDAAgC,CAAA;IAChC,uDAAuD;IACvD,6CAA4B,CAAA;AAC9B,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAoDD,MAAM,CAAN,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,uEAAuE;IACvE,0CAAmB,CAAA;IACnB,kEAAkE;IAClE,8CAAuB,CAAA;IACvB,2DAA2D;IAC3D,6DAAsC,CAAA;IACtC,yEAAyE;IACzE,0CAAmB,CAAA;AACrB,CAAC,EATW,mBAAmB,KAAnB,mBAAmB,QAS9B;AA0BD;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAsB;IAC1B,MAAM,CAAqB;IACpC,mFAAmF;IAC1E,IAAI,CAAqB;IAClC,gEAAgE;IACvD,SAAS,CAAS;IAC3B,6EAA6E;IACpE,MAAM,CAAS;IACxB,gFAAgF;IACvE,QAAQ,CAAiC;IAElD,YACE,IAAyB,EACzB,MAAc,EACd,MAAe,EACf,IAAa,EACb,QAA6B;QAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzD,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"CubeEngine.js","sourceRoot":"","sources":["../../src/graph-manager/CubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,mFAAmF;AACnF,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,uDAAuD;IACvD,4CAA2B,CAAA;IAC3B,iDAAiD;IACjD,iDAAgC,CAAA;IAChC,uDAAuD;IACvD,6CAA4B,CAAA;AAC9B,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAuFD,MAAM,CAAN,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,uEAAuE;IACvE,0CAAmB,CAAA;IACnB,kEAAkE;IAClE,8CAAuB,CAAA;IACvB,2DAA2D;IAC3D,6DAAsC,CAAA;IACtC,yEAAyE;IACzE,0CAAmB,CAAA;AACrB,CAAC,EATW,mBAAmB,KAAnB,mBAAmB,QAS9B;AA0BD;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAsB;IAC1B,MAAM,CAAqB;IACpC,mFAAmF;IAC1E,IAAI,CAAqB;IAClC,gEAAgE;IACvD,SAAS,CAAS;IAC3B,6EAA6E;IACpE,MAAM,CAAS;IACxB,gFAAgF;IACvE,QAAQ,CAAiC;IAElD,YACE,IAAyB,EACzB,MAAc,EACd,MAAe,EACf,IAAa,EACb,QAA6B;QAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzD,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,43 @@
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
+ /** What Dev Settings changes on an engine client: the engine server client's own setters */
17
+ export interface CubeEngineClientControls {
18
+ setBaseUrl(url: string | undefined): void;
19
+ setCompression(enabled: boolean): void;
20
+ }
21
+ /**
22
+ * The settings every engine client of Cube shares (PLAN §11.16): the
23
+ * engine's URL and whether requests are compressed. The engine, the
24
+ * connection explorer and the catalogs each have their own client, built
25
+ * from the same configuration; each registers here, so Dev Settings changes
26
+ * them all at once. A change takes effect from the next request.
27
+ */
28
+ export declare class CubeEngineClientSettings {
29
+ /** The URL the host configured, to go back to */
30
+ readonly defaultBaseUrl: string | undefined;
31
+ baseUrl: string | undefined;
32
+ requestCompression: boolean;
33
+ private readonly clients;
34
+ constructor(config: {
35
+ readonly baseUrl?: string | undefined;
36
+ readonly enableCompression?: boolean | undefined;
37
+ });
38
+ /** Adds a client built from the same configuration, given the settings changed since */
39
+ register(client: CubeEngineClientControls): void;
40
+ setBaseUrl(url: string | undefined): void;
41
+ setRequestCompression(enabled: boolean): void;
42
+ }
43
+ //# sourceMappingURL=CubeEngineClientSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeEngineClientSettings.d.ts","sourceRoot":"","sources":["../../src/graph-manager/CubeEngineClientSettings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4FAA4F;AAC5F,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACxC;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC,iDAAiD;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;gBAE9C,MAAM,EAAE;QAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAClD;IAMD,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI;IAQhD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKzC,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAI9C"}
@@ -0,0 +1,51 @@
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
+ /**
17
+ * The settings every engine client of Cube shares (PLAN §11.16): the
18
+ * engine's URL and whether requests are compressed. The engine, the
19
+ * connection explorer and the catalogs each have their own client, built
20
+ * from the same configuration; each registers here, so Dev Settings changes
21
+ * them all at once. A change takes effect from the next request.
22
+ */
23
+ export class CubeEngineClientSettings {
24
+ /** The URL the host configured, to go back to */
25
+ defaultBaseUrl;
26
+ baseUrl;
27
+ requestCompression;
28
+ clients = [];
29
+ constructor(config) {
30
+ this.defaultBaseUrl = config.baseUrl;
31
+ this.baseUrl = config.baseUrl;
32
+ this.requestCompression = Boolean(config.enableCompression);
33
+ }
34
+ /** Adds a client built from the same configuration, given the settings changed since */
35
+ register(client) {
36
+ this.clients.push(client);
37
+ if (this.baseUrl !== this.defaultBaseUrl) {
38
+ client.setBaseUrl(this.baseUrl);
39
+ }
40
+ client.setCompression(this.requestCompression);
41
+ }
42
+ setBaseUrl(url) {
43
+ this.baseUrl = url;
44
+ this.clients.forEach((client) => client.setBaseUrl(url));
45
+ }
46
+ setRequestCompression(enabled) {
47
+ this.requestCompression = enabled;
48
+ this.clients.forEach((client) => client.setCompression(enabled));
49
+ }
50
+ }
51
+ //# sourceMappingURL=CubeEngineClientSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeEngineClientSettings.js","sourceRoot":"","sources":["../../src/graph-manager/CubeEngineClientSettings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IACnC,iDAAiD;IACxC,cAAc,CAAqB;IAC5C,OAAO,CAAqB;IAC5B,kBAAkB,CAAU;IACX,OAAO,GAA+B,EAAE,CAAC;IAE1D,YAAY,MAGX;QACC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IAED,wFAAwF;IACxF,QAAQ,CAAC,MAAgC;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAED,UAAU,CAAC,GAAuB;QAChC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,qBAAqB,CAAC,OAAgB;QACpC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;CACF"}