@finos/legend-cube-builder 0.0.3 → 0.0.4

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 (691) hide show
  1. package/README.md +52 -19
  2. package/docs/adding-an-operation.md +102 -13
  3. package/docs/hosting.md +82 -4
  4. package/docs/testing.md +114 -9
  5. package/lib/__lib__/LegendCubeCommand.d.ts +2 -1
  6. package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
  7. package/lib/__lib__/LegendCubeCommand.js +5 -0
  8. package/lib/__lib__/LegendCubeCommand.js.map +1 -1
  9. package/lib/__lib__/LegendCubeDataProductLabels.d.ts +45 -0
  10. package/lib/__lib__/LegendCubeDataProductLabels.d.ts.map +1 -0
  11. package/lib/__lib__/LegendCubeDataProductLabels.js +60 -0
  12. package/lib/__lib__/LegendCubeDataProductLabels.js.map +1 -0
  13. package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts +56 -0
  14. package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts.map +1 -0
  15. package/lib/__lib__/LegendCubeDirectConnectionLabels.js +76 -0
  16. package/lib/__lib__/LegendCubeDirectConnectionLabels.js.map +1 -0
  17. package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
  18. package/lib/__lib__/LegendCubeHelpText.js +12 -2
  19. package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
  20. package/lib/__lib__/LegendCubeIngestLabels.d.ts +25 -0
  21. package/lib/__lib__/LegendCubeIngestLabels.d.ts.map +1 -0
  22. package/lib/__lib__/LegendCubeIngestLabels.js +29 -0
  23. package/lib/__lib__/LegendCubeIngestLabels.js.map +1 -0
  24. package/lib/__lib__/LegendCubeLabels.d.ts +76 -3
  25. package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
  26. package/lib/__lib__/LegendCubeLabels.js +102 -4
  27. package/lib/__lib__/LegendCubeLabels.js.map +1 -1
  28. package/lib/__lib__/LegendCubeProjectLabels.d.ts +22 -0
  29. package/lib/__lib__/LegendCubeProjectLabels.d.ts.map +1 -0
  30. package/lib/__lib__/LegendCubeProjectLabels.js +23 -0
  31. package/lib/__lib__/LegendCubeProjectLabels.js.map +1 -0
  32. package/lib/__lib__/LegendCubeTesting.d.ts +1 -0
  33. package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
  34. package/lib/__lib__/LegendCubeTesting.js +1 -0
  35. package/lib/__lib__/LegendCubeTesting.js.map +1 -1
  36. package/lib/__test-utils__/CubeCanvasTestUtils.d.ts.map +1 -1
  37. package/lib/__test-utils__/CubeCanvasTestUtils.js +1 -1
  38. package/lib/__test-utils__/CubeCanvasTestUtils.js.map +1 -1
  39. package/lib/__test-utils__/CubeConnectionTestSupport.d.ts +22 -0
  40. package/lib/__test-utils__/CubeConnectionTestSupport.d.ts.map +1 -0
  41. package/lib/__test-utils__/CubeConnectionTestSupport.js +30 -0
  42. package/lib/__test-utils__/CubeConnectionTestSupport.js.map +1 -0
  43. package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts +31 -0
  44. package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts.map +1 -0
  45. package/lib/__test-utils__/CubeDirectConnectionFixtures.js +63 -0
  46. package/lib/__test-utils__/CubeDirectConnectionFixtures.js.map +1 -0
  47. package/lib/__test-utils__/CubeEngineTestSupport.d.ts +12 -0
  48. package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
  49. package/lib/__test-utils__/CubeEngineTestSupport.js +21 -0
  50. package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
  51. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +37 -0
  52. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -0
  53. package/lib/__test-utils__/CubeExpressionTestUtils.js +83 -0
  54. package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -0
  55. package/lib/__test-utils__/CubeOperationsTestUtils.d.ts +25 -0
  56. package/lib/__test-utils__/CubeOperationsTestUtils.d.ts.map +1 -1
  57. package/lib/__test-utils__/CubeOperationsTestUtils.js +56 -10
  58. package/lib/__test-utils__/CubeOperationsTestUtils.js.map +1 -1
  59. package/lib/__test-utils__/CubePageTestUtils.d.ts +12 -0
  60. package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
  61. package/lib/__test-utils__/CubePageTestUtils.js +25 -1
  62. package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
  63. package/lib/__test-utils__/CubeTestApplication.d.ts +5 -1
  64. package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
  65. package/lib/__test-utils__/CubeTestApplication.js +9 -1
  66. package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
  67. package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts +33 -0
  68. package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts.map +1 -0
  69. package/lib/__test-utils__/FakeCubeConnectionExplorer.js +67 -0
  70. package/lib/__test-utils__/FakeCubeConnectionExplorer.js.map +1 -0
  71. package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts +45 -0
  72. package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts.map +1 -0
  73. package/lib/__test-utils__/FakeCubeDataProductCatalog.js +137 -0
  74. package/lib/__test-utils__/FakeCubeDataProductCatalog.js.map +1 -0
  75. package/lib/__test-utils__/FakeCubeEngine.d.ts +2 -0
  76. package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
  77. package/lib/__test-utils__/FakeCubeEngine.js +14 -1
  78. package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
  79. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +35 -0
  80. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -0
  81. package/lib/__test-utils__/FakeCubeIngestCatalog.js +107 -0
  82. package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -0
  83. package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts +30 -0
  84. package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts.map +1 -0
  85. package/lib/__test-utils__/FakeCubeProjectCatalog.js +64 -0
  86. package/lib/__test-utils__/FakeCubeProjectCatalog.js.map +1 -0
  87. package/lib/components/CubeAddItems.d.ts +35 -0
  88. package/lib/components/CubeAddItems.d.ts.map +1 -0
  89. package/lib/components/CubeAddItems.js +82 -0
  90. package/lib/components/CubeAddItems.js.map +1 -0
  91. package/lib/components/CubeEditor.d.ts +5 -1
  92. package/lib/components/CubeEditor.d.ts.map +1 -1
  93. package/lib/components/CubeEditor.js +33 -13
  94. package/lib/components/CubeEditor.js.map +1 -1
  95. package/lib/components/CubeEntrySourceBanner.d.ts +23 -0
  96. package/lib/components/CubeEntrySourceBanner.d.ts.map +1 -0
  97. package/lib/components/CubeEntrySourceBanner.js +32 -0
  98. package/lib/components/CubeEntrySourceBanner.js.map +1 -0
  99. package/lib/components/CubeNodeIcon.d.ts.map +1 -1
  100. package/lib/components/CubeNodeIcon.js +8 -1
  101. package/lib/components/CubeNodeIcon.js.map +1 -1
  102. package/lib/components/CubeSchemaColumnsTable.d.ts +21 -0
  103. package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -0
  104. package/lib/components/CubeSchemaColumnsTable.js +6 -0
  105. package/lib/components/CubeSchemaColumnsTable.js.map +1 -0
  106. package/lib/components/canvas/CubeCanvas.d.ts +4 -3
  107. package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
  108. package/lib/components/canvas/CubeCanvas.js +31 -12
  109. package/lib/components/canvas/CubeCanvas.js.map +1 -1
  110. package/lib/components/canvas/CubeCanvasContextMenu.d.ts +8 -4
  111. package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
  112. package/lib/components/canvas/CubeCanvasContextMenu.js +19 -9
  113. package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
  114. package/lib/components/canvas/CubeCanvasDnd.d.ts +7 -5
  115. package/lib/components/canvas/CubeCanvasDnd.d.ts.map +1 -1
  116. package/lib/components/canvas/CubeCanvasDnd.js +14 -9
  117. package/lib/components/canvas/CubeCanvasDnd.js.map +1 -1
  118. package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
  119. package/lib/components/canvas/CubeCanvasElements.js +6 -3
  120. package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
  121. package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
  122. package/lib/components/canvas/CubeCanvasNode.js +30 -20
  123. package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
  124. package/lib/components/canvas/CubeCanvasNodeFocus.d.ts +22 -0
  125. package/lib/components/canvas/CubeCanvasNodeFocus.d.ts.map +1 -0
  126. package/lib/components/canvas/CubeCanvasNodeFocus.js +31 -0
  127. package/lib/components/canvas/CubeCanvasNodeFocus.js.map +1 -0
  128. package/lib/components/canvas/CubeNodeEditorAnchor.d.ts +44 -0
  129. package/lib/components/canvas/CubeNodeEditorAnchor.d.ts.map +1 -0
  130. package/lib/components/canvas/CubeNodeEditorAnchor.js +51 -0
  131. package/lib/components/canvas/CubeNodeEditorAnchor.js.map +1 -0
  132. package/lib/components/editors/CubeAggregationRowEditor.d.ts +48 -0
  133. package/lib/components/editors/CubeAggregationRowEditor.d.ts.map +1 -0
  134. package/lib/components/editors/CubeAggregationRowEditor.js +72 -0
  135. package/lib/components/editors/CubeAggregationRowEditor.js.map +1 -0
  136. package/lib/components/editors/CubeColumnChecklist.d.ts +42 -0
  137. package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -0
  138. package/lib/components/editors/CubeColumnChecklist.js +41 -0
  139. package/lib/components/editors/CubeColumnChecklist.js.map +1 -0
  140. package/lib/components/editors/CubeConcatEditor.d.ts +33 -0
  141. package/lib/components/editors/CubeConcatEditor.d.ts.map +1 -0
  142. package/lib/components/editors/CubeConcatEditor.js +147 -0
  143. package/lib/components/editors/CubeConcatEditor.js.map +1 -0
  144. package/lib/components/editors/CubeDataProductSourceEditor.d.ts +25 -0
  145. package/lib/components/editors/CubeDataProductSourceEditor.d.ts.map +1 -0
  146. package/lib/components/editors/CubeDataProductSourceEditor.js +53 -0
  147. package/lib/components/editors/CubeDataProductSourceEditor.js.map +1 -0
  148. package/lib/components/editors/CubeDifferenceEditor.d.ts +25 -0
  149. package/lib/components/editors/CubeDifferenceEditor.d.ts.map +1 -0
  150. package/lib/components/editors/CubeDifferenceEditor.js +29 -0
  151. package/lib/components/editors/CubeDifferenceEditor.js.map +1 -0
  152. package/lib/components/editors/CubeExtendEditor.d.ts +25 -0
  153. package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -0
  154. package/lib/components/editors/CubeExtendEditor.js +86 -0
  155. package/lib/components/editors/CubeExtendEditor.js.map +1 -0
  156. package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
  157. package/lib/components/editors/CubeFilterEditor.js +3 -3
  158. package/lib/components/editors/CubeFilterEditor.js.map +1 -1
  159. package/lib/components/editors/CubeGroupEditor.d.ts +28 -0
  160. package/lib/components/editors/CubeGroupEditor.d.ts.map +1 -0
  161. package/lib/components/editors/CubeGroupEditor.js +70 -0
  162. package/lib/components/editors/CubeGroupEditor.js.map +1 -0
  163. package/lib/components/editors/CubeIngestSourceEditor.d.ts +26 -0
  164. package/lib/components/editors/CubeIngestSourceEditor.d.ts.map +1 -0
  165. package/lib/components/editors/CubeIngestSourceEditor.js +47 -0
  166. package/lib/components/editors/CubeIngestSourceEditor.js.map +1 -0
  167. package/lib/components/editors/CubeJoinEditor.d.ts +2 -4
  168. package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
  169. package/lib/components/editors/CubeJoinEditor.js +7 -37
  170. package/lib/components/editors/CubeJoinEditor.js.map +1 -1
  171. package/lib/components/editors/CubeJoinKeyRows.d.ts +34 -0
  172. package/lib/components/editors/CubeJoinKeyRows.d.ts.map +1 -0
  173. package/lib/components/editors/CubeJoinKeyRows.js +65 -0
  174. package/lib/components/editors/CubeJoinKeyRows.js.map +1 -0
  175. package/lib/components/editors/CubeNodeEditorPanel.d.ts +7 -5
  176. package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
  177. package/lib/components/editors/CubeNodeEditorPanel.js +51 -13
  178. package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
  179. package/lib/components/editors/CubeNodeEditorPopper.d.ts +40 -0
  180. package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -0
  181. package/lib/components/editors/CubeNodeEditorPopper.js +125 -0
  182. package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -0
  183. package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
  184. package/lib/components/editors/CubeNodeEditorRegistry.js +15 -1
  185. package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
  186. package/lib/components/editors/CubePartitionEditor.d.ts +30 -0
  187. package/lib/components/editors/CubePartitionEditor.d.ts.map +1 -0
  188. package/lib/components/editors/CubePartitionEditor.js +93 -0
  189. package/lib/components/editors/CubePartitionEditor.js.map +1 -0
  190. package/lib/components/editors/CubeRenameEditor.d.ts.map +1 -1
  191. package/lib/components/editors/CubeRenameEditor.js +6 -4
  192. package/lib/components/editors/CubeRenameEditor.js.map +1 -1
  193. package/lib/components/editors/CubeRestrictEditor.js +1 -1
  194. package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
  195. package/lib/components/editors/CubeSortEditor.d.ts.map +1 -1
  196. package/lib/components/editors/CubeSortEditor.js +10 -37
  197. package/lib/components/editors/CubeSortEditor.js.map +1 -1
  198. package/lib/components/editors/CubeSortRowEditor.d.ts +47 -0
  199. package/lib/components/editors/CubeSortRowEditor.d.ts.map +1 -0
  200. package/lib/components/editors/CubeSortRowEditor.js +62 -0
  201. package/lib/components/editors/CubeSortRowEditor.js.map +1 -0
  202. package/lib/components/editors/CubeSourceEditor.d.ts.map +1 -1
  203. package/lib/components/editors/CubeSourceEditor.js +18 -5
  204. package/lib/components/editors/CubeSourceEditor.js.map +1 -1
  205. package/lib/components/editors/CubeWarehouseControl.d.ts +30 -0
  206. package/lib/components/editors/CubeWarehouseControl.d.ts.map +1 -0
  207. package/lib/components/editors/CubeWarehouseControl.js +44 -0
  208. package/lib/components/editors/CubeWarehouseControl.js.map +1 -0
  209. package/lib/components/editors/useCubeNodeEditorDismiss.d.ts +31 -0
  210. package/lib/components/editors/useCubeNodeEditorDismiss.d.ts.map +1 -0
  211. package/lib/components/editors/useCubeNodeEditorDismiss.js +83 -0
  212. package/lib/components/editors/useCubeNodeEditorDismiss.js.map +1 -0
  213. package/lib/components/examples/CubeExamplesDialog.d.ts +26 -0
  214. package/lib/components/examples/CubeExamplesDialog.d.ts.map +1 -0
  215. package/lib/components/examples/CubeExamplesDialog.js +68 -0
  216. package/lib/components/examples/CubeExamplesDialog.js.map +1 -0
  217. package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
  218. package/lib/components/grid/CubeGridRegion.js +19 -8
  219. package/lib/components/grid/CubeGridRegion.js.map +1 -1
  220. package/lib/components/grid/CubeGridValues.d.ts +16 -0
  221. package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
  222. package/lib/components/grid/CubeGridValues.js +44 -0
  223. package/lib/components/grid/CubeGridValues.js.map +1 -1
  224. package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
  225. package/lib/components/grid/CubeResultGrid.js +14 -2
  226. package/lib/components/grid/CubeResultGrid.js.map +1 -1
  227. package/lib/components/palette/CubePalette.d.ts.map +1 -1
  228. package/lib/components/palette/CubePalette.js +23 -12
  229. package/lib/components/palette/CubePalette.js.map +1 -1
  230. package/lib/components/source-picker/CubeDataProductTab.d.ts +27 -0
  231. package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -0
  232. package/lib/components/source-picker/CubeDataProductTab.js +102 -0
  233. package/lib/components/source-picker/CubeDataProductTab.js.map +1 -0
  234. package/lib/components/source-picker/CubeDirectConnectionTab.d.ts +27 -0
  235. package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -0
  236. package/lib/components/source-picker/CubeDirectConnectionTab.js +87 -0
  237. package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -0
  238. package/lib/components/source-picker/CubeIngestTab.d.ts +28 -0
  239. package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -0
  240. package/lib/components/source-picker/CubeIngestTab.js +66 -0
  241. package/lib/components/source-picker/CubeIngestTab.js.map +1 -0
  242. package/lib/components/source-picker/CubeInlineModelTab.d.ts +37 -0
  243. package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -0
  244. package/lib/components/source-picker/CubeInlineModelTab.js +71 -0
  245. package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -0
  246. package/lib/components/source-picker/CubePickerStep.d.ts +27 -0
  247. package/lib/components/source-picker/CubePickerStep.d.ts.map +1 -0
  248. package/lib/components/source-picker/CubePickerStep.js +23 -0
  249. package/lib/components/source-picker/CubePickerStep.js.map +1 -0
  250. package/lib/components/source-picker/CubeProjectTab.d.ts +27 -0
  251. package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -0
  252. package/lib/components/source-picker/CubeProjectTab.js +50 -0
  253. package/lib/components/source-picker/CubeProjectTab.js.map +1 -0
  254. package/lib/components/source-picker/CubeSourcePicker.d.ts +6 -0
  255. package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
  256. package/lib/components/source-picker/CubeSourcePicker.js +20 -58
  257. package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
  258. package/lib/components/spec-transfer/CubeSpecTransferDialog.js +1 -1
  259. package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
  260. package/lib/graph-manager/CubeConnectionExplorer.d.ts +90 -0
  261. package/lib/graph-manager/CubeConnectionExplorer.d.ts.map +1 -0
  262. package/lib/graph-manager/CubeConnectionExplorer.js +34 -0
  263. package/lib/graph-manager/CubeConnectionExplorer.js.map +1 -0
  264. package/lib/graph-manager/CubeDataProduct.d.ts +66 -0
  265. package/lib/graph-manager/CubeDataProduct.d.ts.map +1 -0
  266. package/lib/graph-manager/CubeDataProduct.js +102 -0
  267. package/lib/graph-manager/CubeDataProduct.js.map +1 -0
  268. package/lib/graph-manager/CubeDataProductCatalog.d.ts +167 -0
  269. package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -0
  270. package/lib/graph-manager/CubeDataProductCatalog.js +116 -0
  271. package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -0
  272. package/lib/graph-manager/CubeDirectConnection.d.ts +38 -0
  273. package/lib/graph-manager/CubeDirectConnection.d.ts.map +1 -0
  274. package/lib/graph-manager/CubeDirectConnection.js +48 -0
  275. package/lib/graph-manager/CubeDirectConnection.js.map +1 -0
  276. package/lib/graph-manager/CubeEngine.d.ts +37 -2
  277. package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
  278. package/lib/graph-manager/CubeEngine.js +4 -1
  279. package/lib/graph-manager/CubeEngine.js.map +1 -1
  280. package/lib/graph-manager/CubeIngest.d.ts +50 -0
  281. package/lib/graph-manager/CubeIngest.d.ts.map +1 -0
  282. package/lib/graph-manager/CubeIngest.js +88 -0
  283. package/lib/graph-manager/CubeIngest.js.map +1 -0
  284. package/lib/graph-manager/CubeIngestCatalog.d.ts +116 -0
  285. package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -0
  286. package/lib/graph-manager/CubeIngestCatalog.js +80 -0
  287. package/lib/graph-manager/CubeIngestCatalog.js.map +1 -0
  288. package/lib/graph-manager/CubeLakehouseEnvironment.d.ts +26 -0
  289. package/lib/graph-manager/CubeLakehouseEnvironment.d.ts.map +1 -0
  290. package/lib/graph-manager/CubeLakehouseEnvironment.js +17 -0
  291. package/lib/graph-manager/CubeLakehouseEnvironment.js.map +1 -0
  292. package/lib/graph-manager/CubeProject.d.ts +41 -0
  293. package/lib/graph-manager/CubeProject.d.ts.map +1 -0
  294. package/lib/graph-manager/CubeProject.js +84 -0
  295. package/lib/graph-manager/CubeProject.js.map +1 -0
  296. package/lib/graph-manager/CubeProjectCatalog.d.ts +35 -0
  297. package/lib/graph-manager/CubeProjectCatalog.d.ts.map +1 -0
  298. package/lib/graph-manager/CubeProjectCatalog.js +17 -0
  299. package/lib/graph-manager/CubeProjectCatalog.js.map +1 -0
  300. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +63 -1
  301. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
  302. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +50 -1
  303. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
  304. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts +44 -0
  305. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts.map +1 -0
  306. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js +192 -0
  307. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js.map +1 -0
  308. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +29 -0
  309. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -0
  310. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +84 -0
  311. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -0
  312. package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts +41 -0
  313. package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts.map +1 -0
  314. package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js +246 -0
  315. package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js.map +1 -0
  316. package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts +43 -0
  317. package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts.map +1 -0
  318. package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js +112 -0
  319. package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js.map +1 -0
  320. package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.d.ts.map +1 -1
  321. package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js +30 -4
  322. package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js.map +1 -1
  323. package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts +23 -0
  324. package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts.map +1 -0
  325. package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js +68 -0
  326. package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js.map +1 -0
  327. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts +30 -0
  328. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -0
  329. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +140 -0
  330. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -0
  331. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +62 -0
  332. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -0
  333. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +119 -0
  334. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -0
  335. package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts +33 -0
  336. package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts.map +1 -0
  337. package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js +94 -0
  338. package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js.map +1 -0
  339. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
  340. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +63 -4
  341. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
  342. package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts +67 -0
  343. package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts.map +1 -0
  344. package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js +238 -0
  345. package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js.map +1 -0
  346. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +34 -0
  347. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -0
  348. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +64 -0
  349. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -0
  350. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts +104 -0
  351. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts.map +1 -0
  352. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js +484 -0
  353. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js.map +1 -0
  354. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +97 -3
  355. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
  356. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +585 -20
  357. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
  358. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts +69 -0
  359. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts.map +1 -0
  360. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js +270 -0
  361. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js.map +1 -0
  362. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts +35 -0
  363. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -0
  364. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +91 -0
  365. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -0
  366. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts +25 -0
  367. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts.map +1 -0
  368. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js +47 -0
  369. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js.map +1 -0
  370. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts +28 -0
  371. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts.map +1 -0
  372. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js +310 -0
  373. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js.map +1 -0
  374. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts +33 -0
  375. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts.map +1 -0
  376. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js +188 -0
  377. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js.map +1 -0
  378. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts +1 -1
  379. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
  380. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +27 -1
  381. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
  382. package/lib/index.css +2 -2
  383. package/lib/index.css.map +1 -1
  384. package/lib/index.d.ts +11 -1
  385. package/lib/index.d.ts.map +1 -1
  386. package/lib/index.js +10 -1
  387. package/lib/index.js.map +1 -1
  388. package/lib/stores/CubeAddPlacement.d.ts +32 -0
  389. package/lib/stores/CubeAddPlacement.d.ts.map +1 -0
  390. package/lib/stores/CubeAddPlacement.js +40 -0
  391. package/lib/stores/CubeAddPlacement.js.map +1 -0
  392. package/lib/stores/CubeDataProductRecheck.d.ts +27 -0
  393. package/lib/stores/CubeDataProductRecheck.d.ts.map +1 -0
  394. package/lib/stores/CubeDataProductRecheck.js +54 -0
  395. package/lib/stores/CubeDataProductRecheck.js.map +1 -0
  396. package/lib/stores/CubeDataProductRuntimeState.d.ts +88 -0
  397. package/lib/stores/CubeDataProductRuntimeState.d.ts.map +1 -0
  398. package/lib/stores/CubeDataProductRuntimeState.js +190 -0
  399. package/lib/stores/CubeDataProductRuntimeState.js.map +1 -0
  400. package/lib/stores/CubeDataProductWarehouse.d.ts +19 -0
  401. package/lib/stores/CubeDataProductWarehouse.d.ts.map +1 -0
  402. package/lib/stores/CubeDataProductWarehouse.js +25 -0
  403. package/lib/stores/CubeDataProductWarehouse.js.map +1 -0
  404. package/lib/stores/CubeEditorState.d.ts +100 -16
  405. package/lib/stores/CubeEditorState.d.ts.map +1 -1
  406. package/lib/stores/CubeEditorState.js +347 -47
  407. package/lib/stores/CubeEditorState.js.map +1 -1
  408. package/lib/stores/CubeEntrySource.d.ts +78 -0
  409. package/lib/stores/CubeEntrySource.d.ts.map +1 -0
  410. package/lib/stores/CubeEntrySource.js +200 -0
  411. package/lib/stores/CubeEntrySource.js.map +1 -0
  412. package/lib/stores/CubeExamples.d.ts +43 -0
  413. package/lib/stores/CubeExamples.d.ts.map +1 -0
  414. package/lib/stores/CubeExamples.js +296 -0
  415. package/lib/stores/CubeExamples.js.map +1 -0
  416. package/lib/stores/CubeExamplesState.d.ts +45 -0
  417. package/lib/stores/CubeExamplesState.d.ts.map +1 -0
  418. package/lib/stores/CubeExamplesState.js +81 -0
  419. package/lib/stores/CubeExamplesState.js.map +1 -0
  420. package/lib/stores/CubeExecutionState.d.ts +6 -2
  421. package/lib/stores/CubeExecutionState.d.ts.map +1 -1
  422. package/lib/stores/CubeExecutionState.js +15 -5
  423. package/lib/stores/CubeExecutionState.js.map +1 -1
  424. package/lib/stores/CubeExtendTyping.d.ts +72 -0
  425. package/lib/stores/CubeExtendTyping.d.ts.map +1 -0
  426. package/lib/stores/CubeExtendTyping.js +176 -0
  427. package/lib/stores/CubeExtendTyping.js.map +1 -0
  428. package/lib/stores/CubeGridQuickActions.d.ts +14 -6
  429. package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
  430. package/lib/stores/CubeGridQuickActions.js +53 -15
  431. package/lib/stores/CubeGridQuickActions.js.map +1 -1
  432. package/lib/stores/CubeHost.d.ts +32 -1
  433. package/lib/stores/CubeHost.d.ts.map +1 -1
  434. package/lib/stores/CubeHost.js +21 -1
  435. package/lib/stores/CubeHost.js.map +1 -1
  436. package/lib/stores/CubeIngestRecheck.d.ts +26 -0
  437. package/lib/stores/CubeIngestRecheck.d.ts.map +1 -0
  438. package/lib/stores/CubeIngestRecheck.js +53 -0
  439. package/lib/stores/CubeIngestRecheck.js.map +1 -0
  440. package/lib/stores/CubeNodeEditorState.d.ts +101 -5
  441. package/lib/stores/CubeNodeEditorState.d.ts.map +1 -1
  442. package/lib/stores/CubeNodeEditorState.js +221 -10
  443. package/lib/stores/CubeNodeEditorState.js.map +1 -1
  444. package/lib/stores/CubeShowPureState.d.ts +5 -2
  445. package/lib/stores/CubeShowPureState.d.ts.map +1 -1
  446. package/lib/stores/CubeShowPureState.js +7 -4
  447. package/lib/stores/CubeShowPureState.js.map +1 -1
  448. package/lib/stores/CubeSourcePickerState.d.ts +54 -65
  449. package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
  450. package/lib/stores/CubeSourcePickerState.js +155 -276
  451. package/lib/stores/CubeSourcePickerState.js.map +1 -1
  452. package/lib/stores/CubeSpecTransferState.d.ts +2 -2
  453. package/lib/stores/CubeSpecTransferState.js +2 -2
  454. package/lib/stores/LocalModelCatalog.d.ts +2 -0
  455. package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
  456. package/lib/stores/LocalModelCatalog.js +17 -3
  457. package/lib/stores/LocalModelCatalog.js.map +1 -1
  458. package/lib/stores/editors/CubeAggregationRows.d.ts +80 -0
  459. package/lib/stores/editors/CubeAggregationRows.d.ts.map +1 -0
  460. package/lib/stores/editors/CubeAggregationRows.js +164 -0
  461. package/lib/stores/editors/CubeAggregationRows.js.map +1 -0
  462. package/lib/stores/editors/CubeConcatDraft.d.ts +30 -0
  463. package/lib/stores/editors/CubeConcatDraft.d.ts.map +1 -0
  464. package/lib/stores/editors/CubeConcatDraft.js +44 -0
  465. package/lib/stores/editors/CubeConcatDraft.js.map +1 -0
  466. package/lib/stores/editors/CubeDifferenceDraft.d.ts +49 -0
  467. package/lib/stores/editors/CubeDifferenceDraft.d.ts.map +1 -0
  468. package/lib/stores/editors/CubeDifferenceDraft.js +111 -0
  469. package/lib/stores/editors/CubeDifferenceDraft.js.map +1 -0
  470. package/lib/stores/editors/CubeExtendDraft.d.ts +110 -0
  471. package/lib/stores/editors/CubeExtendDraft.d.ts.map +1 -0
  472. package/lib/stores/editors/CubeExtendDraft.js +359 -0
  473. package/lib/stores/editors/CubeExtendDraft.js.map +1 -0
  474. package/lib/stores/editors/CubeGroupDraft.d.ts +61 -0
  475. package/lib/stores/editors/CubeGroupDraft.d.ts.map +1 -0
  476. package/lib/stores/editors/CubeGroupDraft.js +106 -0
  477. package/lib/stores/editors/CubeGroupDraft.js.map +1 -0
  478. package/lib/stores/editors/CubeJoinDraft.d.ts +9 -10
  479. package/lib/stores/editors/CubeJoinDraft.d.ts.map +1 -1
  480. package/lib/stores/editors/CubeJoinDraft.js +92 -21
  481. package/lib/stores/editors/CubeJoinDraft.js.map +1 -1
  482. package/lib/stores/editors/CubeJoinKeyPairs.d.ts +38 -0
  483. package/lib/stores/editors/CubeJoinKeyPairs.d.ts.map +1 -0
  484. package/lib/stores/editors/CubeJoinKeyPairs.js +33 -0
  485. package/lib/stores/editors/CubeJoinKeyPairs.js.map +1 -0
  486. package/lib/stores/editors/CubeNodeDraft.d.ts +20 -6
  487. package/lib/stores/editors/CubeNodeDraft.d.ts.map +1 -1
  488. package/lib/stores/editors/CubeNodeDraft.js +23 -5
  489. package/lib/stores/editors/CubeNodeDraft.js.map +1 -1
  490. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
  491. package/lib/stores/editors/CubeNodeDraftRegistry.js +20 -1
  492. package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
  493. package/lib/stores/editors/CubePartitionDraft.d.ts +70 -0
  494. package/lib/stores/editors/CubePartitionDraft.d.ts.map +1 -0
  495. package/lib/stores/editors/CubePartitionDraft.js +154 -0
  496. package/lib/stores/editors/CubePartitionDraft.js.map +1 -0
  497. package/lib/stores/editors/CubeSortDraft.d.ts +2 -10
  498. package/lib/stores/editors/CubeSortDraft.d.ts.map +1 -1
  499. package/lib/stores/editors/CubeSortDraft.js +9 -35
  500. package/lib/stores/editors/CubeSortDraft.js.map +1 -1
  501. package/lib/stores/editors/CubeSortRows.d.ts +34 -0
  502. package/lib/stores/editors/CubeSortRows.d.ts.map +1 -0
  503. package/lib/stores/editors/CubeSortRows.js +50 -0
  504. package/lib/stores/editors/CubeSortRows.js.map +1 -0
  505. package/lib/stores/fixtures/CubeNorthwindModel.d.ts +7 -0
  506. package/lib/stores/fixtures/CubeNorthwindModel.d.ts.map +1 -1
  507. package/lib/stores/fixtures/CubeNorthwindModel.js +99 -87
  508. package/lib/stores/fixtures/CubeNorthwindModel.js.map +1 -1
  509. package/lib/stores/fixtures/CubeSampleSql.d.ts +34 -0
  510. package/lib/stores/fixtures/CubeSampleSql.d.ts.map +1 -0
  511. package/lib/stores/fixtures/CubeSampleSql.js +64 -0
  512. package/lib/stores/fixtures/CubeSampleSql.js.map +1 -0
  513. package/lib/stores/fixtures/CubeSportsModel.d.ts +27 -0
  514. package/lib/stores/fixtures/CubeSportsModel.d.ts.map +1 -0
  515. package/lib/stores/fixtures/CubeSportsModel.js +158 -0
  516. package/lib/stores/fixtures/CubeSportsModel.js.map +1 -0
  517. package/lib/stores/fixtures/CubeTradesModel.d.ts +29 -0
  518. package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -0
  519. package/lib/stores/fixtures/CubeTradesModel.js +197 -0
  520. package/lib/stores/fixtures/CubeTradesModel.js.map +1 -0
  521. package/lib/stores/source-picker/CubeCsvSetupSql.d.ts +71 -0
  522. package/lib/stores/source-picker/CubeCsvSetupSql.d.ts.map +1 -0
  523. package/lib/stores/source-picker/CubeCsvSetupSql.js +392 -0
  524. package/lib/stores/source-picker/CubeCsvSetupSql.js.map +1 -0
  525. package/lib/stores/source-picker/CubeDataProductTabState.d.ts +186 -0
  526. package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -0
  527. package/lib/stores/source-picker/CubeDataProductTabState.js +681 -0
  528. package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -0
  529. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +140 -0
  530. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -0
  531. package/lib/stores/source-picker/CubeDirectConnectionTabState.js +516 -0
  532. package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -0
  533. package/lib/stores/source-picker/CubeIngestTabState.d.ts +114 -0
  534. package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -0
  535. package/lib/stores/source-picker/CubeIngestTabState.js +455 -0
  536. package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -0
  537. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +107 -0
  538. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -0
  539. package/lib/stores/source-picker/CubeInlineModelTabState.js +347 -0
  540. package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -0
  541. package/lib/stores/source-picker/CubeProjectTabState.d.ts +62 -0
  542. package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -0
  543. package/lib/stores/source-picker/CubeProjectTabState.js +181 -0
  544. package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -0
  545. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +48 -0
  546. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -0
  547. package/lib/stores/source-picker/CubeSourcePickerTab.js +24 -0
  548. package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -0
  549. package/package.json +10 -6
  550. package/src/__lib__/LegendCubeCommand.ts +5 -0
  551. package/src/__lib__/LegendCubeDataProductLabels.ts +91 -0
  552. package/src/__lib__/LegendCubeDirectConnectionLabels.ts +111 -0
  553. package/src/__lib__/LegendCubeHelpText.ts +25 -1
  554. package/src/__lib__/LegendCubeIngestLabels.ts +40 -0
  555. package/src/__lib__/LegendCubeLabels.ts +162 -4
  556. package/src/__lib__/LegendCubeProjectLabels.ts +25 -0
  557. package/src/__lib__/LegendCubeTesting.ts +1 -0
  558. package/src/__test-utils__/CubeCanvasTestUtils.ts +1 -1
  559. package/src/__test-utils__/CubeConnectionTestSupport.ts +45 -0
  560. package/src/__test-utils__/CubeDirectConnectionFixtures.ts +70 -0
  561. package/src/__test-utils__/CubeEngineTestSupport.ts +38 -0
  562. package/src/__test-utils__/CubeExpressionTestUtils.ts +119 -0
  563. package/src/__test-utils__/CubeOperationsTestUtils.ts +93 -18
  564. package/src/__test-utils__/CubePageTestUtils.tsx +35 -0
  565. package/src/__test-utils__/CubeTestApplication.ts +21 -2
  566. package/src/__test-utils__/FakeCubeConnectionExplorer.ts +111 -0
  567. package/src/__test-utils__/FakeCubeDataProductCatalog.ts +227 -0
  568. package/src/__test-utils__/FakeCubeEngine.ts +25 -1
  569. package/src/__test-utils__/FakeCubeIngestCatalog.ts +180 -0
  570. package/src/__test-utils__/FakeCubeProjectCatalog.ts +89 -0
  571. package/src/components/CubeAddItems.tsx +179 -0
  572. package/src/components/CubeEditor.tsx +73 -44
  573. package/src/components/CubeEntrySourceBanner.tsx +64 -0
  574. package/src/components/CubeNodeIcon.tsx +13 -0
  575. package/src/components/CubeSchemaColumnsTable.tsx +49 -0
  576. package/src/components/canvas/CubeCanvas.tsx +49 -14
  577. package/src/components/canvas/CubeCanvasContextMenu.tsx +31 -30
  578. package/src/components/canvas/CubeCanvasDnd.ts +16 -9
  579. package/src/components/canvas/CubeCanvasElements.ts +8 -2
  580. package/src/components/canvas/CubeCanvasNode.tsx +61 -43
  581. package/src/components/canvas/CubeCanvasNodeFocus.ts +37 -0
  582. package/src/components/canvas/CubeNodeEditorAnchor.ts +82 -0
  583. package/src/components/editors/CubeAggregationRowEditor.tsx +224 -0
  584. package/src/components/editors/CubeColumnChecklist.tsx +130 -0
  585. package/src/components/editors/CubeConcatEditor.tsx +374 -0
  586. package/src/components/editors/CubeDataProductSourceEditor.tsx +134 -0
  587. package/src/components/editors/CubeDifferenceEditor.tsx +87 -0
  588. package/src/components/editors/CubeExtendEditor.tsx +271 -0
  589. package/src/components/editors/CubeFilterEditor.tsx +7 -0
  590. package/src/components/editors/CubeGroupEditor.tsx +135 -0
  591. package/src/components/editors/CubeIngestSourceEditor.tsx +104 -0
  592. package/src/components/editors/CubeJoinEditor.tsx +12 -132
  593. package/src/components/editors/CubeJoinKeyRows.tsx +183 -0
  594. package/src/components/editors/CubeNodeEditorPanel.tsx +91 -28
  595. package/src/components/editors/CubeNodeEditorPopper.tsx +183 -0
  596. package/src/components/editors/CubeNodeEditorRegistry.ts +21 -0
  597. package/src/components/editors/CubePartitionEditor.tsx +208 -0
  598. package/src/components/editors/CubeRenameEditor.tsx +10 -5
  599. package/src/components/editors/CubeRestrictEditor.tsx +1 -1
  600. package/src/components/editors/CubeSortEditor.tsx +20 -142
  601. package/src/components/editors/CubeSortRowEditor.tsx +176 -0
  602. package/src/components/editors/CubeSourceEditor.tsx +42 -30
  603. package/src/components/editors/CubeWarehouseControl.tsx +113 -0
  604. package/src/components/editors/useCubeNodeEditorDismiss.ts +103 -0
  605. package/src/components/examples/CubeExamplesDialog.tsx +199 -0
  606. package/src/components/grid/CubeGridRegion.tsx +48 -10
  607. package/src/components/grid/CubeGridValues.ts +55 -0
  608. package/src/components/grid/CubeResultGrid.tsx +24 -8
  609. package/src/components/palette/CubePalette.tsx +33 -15
  610. package/src/components/source-picker/CubeDataProductTab.tsx +392 -0
  611. package/src/components/source-picker/CubeDirectConnectionTab.tsx +340 -0
  612. package/src/components/source-picker/CubeIngestTab.tsx +232 -0
  613. package/src/components/source-picker/CubeInlineModelTab.tsx +191 -0
  614. package/src/components/source-picker/CubePickerStep.tsx +49 -0
  615. package/src/components/source-picker/CubeProjectTab.tsx +114 -0
  616. package/src/components/source-picker/CubeSourcePicker.tsx +62 -227
  617. package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +1 -1
  618. package/src/graph-manager/CubeConnectionExplorer.ts +106 -0
  619. package/src/graph-manager/CubeDataProduct.ts +150 -0
  620. package/src/graph-manager/CubeDataProductCatalog.ts +245 -0
  621. package/src/graph-manager/CubeDirectConnection.ts +67 -0
  622. package/src/graph-manager/CubeEngine.ts +43 -1
  623. package/src/graph-manager/CubeIngest.ts +144 -0
  624. package/src/graph-manager/CubeIngestCatalog.ts +169 -0
  625. package/src/graph-manager/CubeLakehouseEnvironment.ts +27 -0
  626. package/src/graph-manager/CubeProject.ts +117 -0
  627. package/src/graph-manager/CubeProjectCatalog.ts +40 -0
  628. package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +145 -1
  629. package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.ts +251 -0
  630. package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +101 -0
  631. package/src/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.ts +339 -0
  632. package/src/graph-manager/protocol/pure/v1/V1_CubeDirectModel.ts +151 -0
  633. package/src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts +45 -4
  634. package/src/graph-manager/protocol/pure/v1/V1_CubeExpression.ts +89 -0
  635. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +201 -0
  636. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +183 -0
  637. package/src/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.ts +141 -0
  638. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +84 -4
  639. package/src/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.ts +361 -0
  640. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +116 -0
  641. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.ts +744 -0
  642. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +967 -24
  643. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.ts +459 -0
  644. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +147 -0
  645. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.ts +61 -0
  646. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.ts +337 -0
  647. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.ts +206 -0
  648. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +42 -1
  649. package/src/index.ts +20 -0
  650. package/src/stores/CubeAddPlacement.ts +67 -0
  651. package/src/stores/CubeDataProductRecheck.ts +93 -0
  652. package/src/stores/CubeDataProductRuntimeState.ts +256 -0
  653. package/src/stores/CubeDataProductWarehouse.ts +40 -0
  654. package/src/stores/CubeEditorState.ts +511 -63
  655. package/src/stores/CubeEntrySource.ts +278 -0
  656. package/src/stores/CubeExamples.ts +457 -0
  657. package/src/stores/CubeExamplesState.ts +108 -0
  658. package/src/stores/CubeExecutionState.ts +24 -5
  659. package/src/stores/CubeExtendTyping.ts +291 -0
  660. package/src/stores/CubeGridQuickActions.ts +69 -14
  661. package/src/stores/CubeHost.ts +71 -1
  662. package/src/stores/CubeIngestRecheck.ts +92 -0
  663. package/src/stores/CubeNodeEditorState.ts +278 -9
  664. package/src/stores/CubeShowPureState.ts +7 -4
  665. package/src/stores/CubeSourcePickerState.ts +160 -330
  666. package/src/stores/CubeSpecTransferState.ts +2 -2
  667. package/src/stores/LocalModelCatalog.ts +22 -3
  668. package/src/stores/editors/CubeAggregationRows.ts +299 -0
  669. package/src/stores/editors/CubeConcatDraft.ts +49 -0
  670. package/src/stores/editors/CubeDifferenceDraft.ts +147 -0
  671. package/src/stores/editors/CubeExtendDraft.ts +532 -0
  672. package/src/stores/editors/CubeGroupDraft.ts +145 -0
  673. package/src/stores/editors/CubeJoinDraft.ts +130 -41
  674. package/src/stores/editors/CubeJoinKeyPairs.ts +68 -0
  675. package/src/stores/editors/CubeNodeDraft.ts +26 -6
  676. package/src/stores/editors/CubeNodeDraftRegistry.ts +25 -0
  677. package/src/stores/editors/CubePartitionDraft.ts +214 -0
  678. package/src/stores/editors/CubeSortDraft.ts +17 -54
  679. package/src/stores/editors/CubeSortRows.ts +84 -0
  680. package/src/stores/fixtures/CubeNorthwindModel.ts +103 -88
  681. package/src/stores/fixtures/CubeSampleSql.ts +85 -0
  682. package/src/stores/fixtures/CubeSportsModel.ts +182 -0
  683. package/src/stores/fixtures/CubeTradesModel.ts +241 -0
  684. package/src/stores/source-picker/CubeCsvSetupSql.ts +444 -0
  685. package/src/stores/source-picker/CubeDataProductTabState.ts +839 -0
  686. package/src/stores/source-picker/CubeDirectConnectionTabState.ts +647 -0
  687. package/src/stores/source-picker/CubeIngestTabState.ts +551 -0
  688. package/src/stores/source-picker/CubeInlineModelTabState.ts +448 -0
  689. package/src/stores/source-picker/CubeProjectTabState.ts +218 -0
  690. package/src/stores/source-picker/CubeSourcePickerTab.ts +50 -0
  691. package/tsconfig.json +89 -0
@@ -0,0 +1,72 @@
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 { Extend, type ExtendTyping, type IR, type JsonObject, type ModelContext, type NodeRegistry, type Query, QueryEmitter, type QueryRule, type Schema } from '@finos/legend-cube';
17
+ import { CubeEngineError, type NodeId } from '../graph-manager/CubeEngine.js';
18
+ /** An engine message without the compiler's ` - Context:[…]` trail, which repeats what it was doing */
19
+ export declare const withoutEngineContext: (message: string) => string;
20
+ /** A column to type: its name, and its lambda, located in its text or not */
21
+ export interface CubeExtendTypingColumn {
22
+ readonly name: string;
23
+ readonly lambda: JsonObject;
24
+ }
25
+ /**
26
+ * The lambdas that type an Extend's columns, by key: the input's relation
27
+ * then the first k columns, for every k. A located lambda keeps its
28
+ * locations, so an error points into its text; a stored one is marked with
29
+ * the Extend, so an error lands on it. The input must be valid.
30
+ */
31
+ export declare const buildCubeExtendTypingLambdas: (query: Query, extend: Extend, columns: readonly CubeExtendTypingColumn[], registry: NodeRegistry, located: boolean) => Map<NodeId, IR>;
32
+ /**
33
+ * What the engine is given for an Extend's input when it types it, digested
34
+ * (PLAN §11.7): the input's relation as emitted, and the model. A typing
35
+ * records it (`upstream`), since the engine sees more than Cube's schema
36
+ * does; `undefined` when the input can't be emitted, e.g. it is invalid.
37
+ */
38
+ export declare const getCubeExtendUpstream: (emitter: QueryEmitter, extendId: string, model: ModelContext) => string | undefined;
39
+ /** The digest of what the engine was given for the input, which the typing recorded */
40
+ export declare const getCubeExtendTypingUpstream: (typing: ExtendTyping) => string | undefined;
41
+ /**
42
+ * Whether the Extend's typing gives its types for this input: typed, for
43
+ * this schema and these columns, and for this input as the engine is given
44
+ * it, or recorded without it, as when loaded
45
+ */
46
+ export declare const isCubeExtendTypingCurrent: (extend: Extend, input: Schema, upstream: string | undefined) => boolean;
47
+ /**
48
+ * A query rule for the editor (PLAN §11.7): an Extend whose typing recorded
49
+ * another input than the engine would be given now waits to be typed again
50
+ * (`ERR_TYPING`), e.g. after an Extend above it gains `->toOne()`, which
51
+ * Cube's schema doesn't show. A typing that recorded nothing, as one loaded,
52
+ * is used as it is; an Extend that already waits, or whose input is invalid,
53
+ * is left to its own checks.
54
+ */
55
+ export declare const createStaleCubeExtendTypingRule: (registry: NodeRegistry, modelOf: () => ModelContext | undefined) => QueryRule;
56
+ /** What typing an Extend gave: the typing to store, and the error the engine gave, if it failed */
57
+ export interface CubeExtendTypingResult {
58
+ readonly typing: ExtendTyping;
59
+ readonly error?: CubeEngineError | undefined;
60
+ }
61
+ /**
62
+ * The typing the engine's answers give, for this input and these columns:
63
+ * every column's type, from the whole chain, else the first column whose
64
+ * chain fails, with the engine's error (a network failure on none)
65
+ */
66
+ export declare const readCubeExtendTyping: (answers: ReadonlyMap<NodeId, Schema | CubeEngineError>, extend: Extend, input: Schema, columns: readonly CubeExtendTypingColumn[], upstream: string | undefined) => CubeExtendTypingResult;
67
+ /**
68
+ * Whether two typings say the same: the same kind, signature and input as
69
+ * the engine was given it, and the same types, or the same failure
70
+ */
71
+ export declare const isSameCubeExtendTyping: (a: ExtendTyping, b: ExtendTyping) => boolean;
72
+ //# sourceMappingURL=CubeExtendTyping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeExtendTyping.d.ts","sourceRoot":"","sources":["../../src/stores/CubeExtendTyping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAML,MAAM,EACN,KAAK,YAAY,EAIjB,KAAK,EAAE,EAEP,KAAK,UAAU,EAGf,KAAK,YAAY,EACjB,KAAK,YAAY,EAGjB,KAAK,KAAK,EACV,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EAEf,KAAK,MAAM,EACZ,MAAM,gCAAgC,CAAC;AAOxC,uGAAuG;AACvG,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,MACT,CAAC;AAE/C,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAMD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,SAAS,SAAS,sBAAsB,EAAE,EAC1C,UAAU,YAAY,EACtB,SAAS,OAAO,KACf,GAAG,CAAC,MAAM,EAAE,EAAE,CAwBhB,CAAC;AAcF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,YAAY,EACrB,UAAU,MAAM,EAChB,OAAO,YAAY,KAClB,MAAM,GAAG,SAQX,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,GACtC,QAAQ,YAAY,KACnB,MAAM,GAAG,SACgD,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,UAAU,MAAM,GAAG,SAAS,KAC3B,OAQF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,GAExC,UAAU,YAAY,EACtB,SAAS,MAAM,YAAY,GAAG,SAAS,KACtC,SAuBF,CAAC;AAEJ,mGAAmG;AACnG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CAC9C;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,EACtD,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,SAAS,SAAS,sBAAsB,EAAE,EAC1C,UAAU,MAAM,GAAG,SAAS,KAC3B,sBAyCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,GAAG,YAAY,EACf,GAAG,YAAY,KACd,OAsBF,CAAC"}
@@ -0,0 +1,176 @@
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 { buildSchemasAndValidity, colSpec, colSpecArray, EmitRole, ERR_TYPING, Extend, func, getExtendSignature, hashText, isTypingError, lambda, lambdaJson, originOf, printIR, QueryEmitter, stableJsonText, } from '@finos/legend-cube';
17
+ import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
18
+ // Typing an Extend's columns with the engine (PLAN §11.7): its input's
19
+ // relation, as Cube types any node, then one extend per column. The whole
20
+ // chain gives every type; each shorter chain, typed with it, tells which
21
+ // column the engine fails on, since a stored lambda has no locations.
22
+ /** An engine message without the compiler's ` - Context:[…]` trail, which repeats what it was doing */
23
+ export const withoutEngineContext = (message) => message.replace(/ - Context:\[[^\n]*/gu, '');
24
+ /** The key of the lambda that types the first `count` columns */
25
+ const keyOf = (extendId, count) => `${extendId}#${count}`;
26
+ /**
27
+ * The lambdas that type an Extend's columns, by key: the input's relation
28
+ * then the first k columns, for every k. A located lambda keeps its
29
+ * locations, so an error points into its text; a stored one is marked with
30
+ * the Extend, so an error lands on it. The input must be valid.
31
+ */
32
+ export const buildCubeExtendTypingLambdas = (query, extend, columns, registry, located) => {
33
+ const [inputId] = query.getInputIds(extend.id);
34
+ if (inputId === undefined) {
35
+ throw new Error(`Extend "${extend.id}" has no input to type it on`);
36
+ }
37
+ const input = new QueryEmitter(query, registry).emitRelation(inputId);
38
+ const lambdas = new Map();
39
+ columns.reduce((relation, column, index) => {
40
+ const extended = func('extend', [
41
+ relation,
42
+ colSpecArray([
43
+ colSpec(column.name, lambdaJson(column.lambda, located ? undefined : originOf(extend.id, EmitRole.EXPRESSION))),
44
+ ]),
45
+ ]);
46
+ lambdas.set(keyOf(extend.id, index + 1), lambda([], [extended]));
47
+ return extended;
48
+ }, input);
49
+ return lambdas;
50
+ };
51
+ /** Each model's digest, by the object, so a large model is digested once */
52
+ const MODEL_DIGESTS = new WeakMap();
53
+ const digestModel = (model) => {
54
+ let digest = MODEL_DIGESTS.get(model);
55
+ if (digest === undefined) {
56
+ digest = hashText(stableJsonText(model));
57
+ MODEL_DIGESTS.set(model, digest);
58
+ }
59
+ return digest;
60
+ };
61
+ /**
62
+ * What the engine is given for an Extend's input when it types it, digested
63
+ * (PLAN §11.7): the input's relation as emitted, and the model. A typing
64
+ * records it (`upstream`), since the engine sees more than Cube's schema
65
+ * does; `undefined` when the input can't be emitted, e.g. it is invalid.
66
+ */
67
+ export const getCubeExtendUpstream = (emitter, extendId, model) => {
68
+ const [inputId] = emitter.query.getInputIds(extendId);
69
+ if (inputId === undefined || !emitter.canEmit(inputId)) {
70
+ return undefined;
71
+ }
72
+ return hashText(`${digestModel(model)}\n${printIR(emitter.emitRelation(inputId))}`);
73
+ };
74
+ /** The digest of what the engine was given for the input, which the typing recorded */
75
+ export const getCubeExtendTypingUpstream = (typing) => typing.kind === 'unresolved' ? undefined : typing.upstream;
76
+ const upstreamOf = getCubeExtendTypingUpstream;
77
+ /**
78
+ * Whether the Extend's typing gives its types for this input: typed, for
79
+ * this schema and these columns, and for this input as the engine is given
80
+ * it, or recorded without it, as when loaded
81
+ */
82
+ export const isCubeExtendTypingCurrent = (extend, input, upstream) => {
83
+ const { typing } = extend;
84
+ const recorded = upstreamOf(typing);
85
+ return (typing.kind === 'typed' &&
86
+ extend.currentTyping(input) === typing &&
87
+ (recorded === undefined || recorded === upstream));
88
+ };
89
+ /**
90
+ * A query rule for the editor (PLAN §11.7): an Extend whose typing recorded
91
+ * another input than the engine would be given now waits to be typed again
92
+ * (`ERR_TYPING`), e.g. after an Extend above it gains `->toOne()`, which
93
+ * Cube's schema doesn't show. A typing that recorded nothing, as one loaded,
94
+ * is used as it is; an Extend that already waits, or whose input is invalid,
95
+ * is left to its own checks.
96
+ */
97
+ export const createStaleCubeExtendTypingRule = (registry, modelOf) => (query) => {
98
+ const stale = new Map();
99
+ const model = modelOf();
100
+ const recorded = query.nodes.filter((node) => node instanceof Extend && upstreamOf(node.typing) !== undefined);
101
+ if (!model || !recorded.length) {
102
+ return stale;
103
+ }
104
+ const { validity } = buildSchemasAndValidity(query, registry.queryRules);
105
+ const emitter = new QueryEmitter(query, registry);
106
+ recorded.forEach((node) => {
107
+ if ((validity.get(node.id) ?? []).some(isTypingError)) {
108
+ return;
109
+ }
110
+ const upstream = getCubeExtendUpstream(emitter, node.id, model);
111
+ if (upstream !== undefined && upstream !== upstreamOf(node.typing)) {
112
+ stale.set(node.id, [ERR_TYPING]);
113
+ }
114
+ });
115
+ return stale;
116
+ };
117
+ /**
118
+ * The typing the engine's answers give, for this input and these columns:
119
+ * every column's type, from the whole chain, else the first column whose
120
+ * chain fails, with the engine's error (a network failure on none)
121
+ */
122
+ export const readCubeExtendTyping = (answers, extend, input, columns, upstream) => {
123
+ const signature = getExtendSignature(input, extend.columns);
124
+ const whole = answers.get(keyOf(extend.id, columns.length));
125
+ if (whole !== undefined && !(whole instanceof CubeEngineError)) {
126
+ return {
127
+ typing: {
128
+ kind: 'typed',
129
+ signature,
130
+ types: whole.columns
131
+ .slice(-columns.length)
132
+ .map((column) => column.type),
133
+ upstream,
134
+ },
135
+ };
136
+ }
137
+ const failing = columns.findIndex((_, index) => answers.get(keyOf(extend.id, index + 1)) instanceof CubeEngineError);
138
+ const error = answers.get(keyOf(extend.id, failing + 1)) ??
139
+ new CubeEngineError(CubeEngineErrorKind.NETWORK, 'The engine gave no type for these columns', extend.id);
140
+ return {
141
+ typing: {
142
+ kind: 'failed',
143
+ signature,
144
+ message: withoutEngineContext(error.detail),
145
+ column: failing < 0 || error.kind === CubeEngineErrorKind.NETWORK
146
+ ? undefined
147
+ : failing,
148
+ upstream,
149
+ },
150
+ error,
151
+ };
152
+ };
153
+ /**
154
+ * Whether two typings say the same: the same kind, signature and input as
155
+ * the engine was given it, and the same types, or the same failure
156
+ */
157
+ export const isSameCubeExtendTyping = (a, b) => {
158
+ if (upstreamOf(a) !== upstreamOf(b)) {
159
+ return false;
160
+ }
161
+ if (a.kind === 'typed' && b.kind === 'typed') {
162
+ return (a.signature === b.signature &&
163
+ a.types.length === b.types.length &&
164
+ a.types.every((type, index) => {
165
+ const other = b.types[index];
166
+ return other !== undefined && type.equals(other);
167
+ }));
168
+ }
169
+ if (a.kind === 'failed' && b.kind === 'failed') {
170
+ return (a.signature === b.signature &&
171
+ a.message === b.message &&
172
+ a.column === b.column);
173
+ }
174
+ return a.kind === 'unresolved' && b.kind === 'unresolved';
175
+ };
176
+ //# sourceMappingURL=CubeExtendTyping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeExtendTyping.js","sourceRoot":"","sources":["../../src/stores/CubeExtendTyping.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,15 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import { type Schema } from '@finos/legend-cube';
16
17
  import type { CubeResultValue } from '../graph-manager/CubeEngine.js';
17
18
  import type { CubeEditorState } from './CubeEditorState.js';
19
+ /**
20
+ * The name of a Group by's Count rows: `Count Rows`, or with a number after it
21
+ * when an input column already has that name in any case, e.g. on a Group of
22
+ * a Group (PLAN §11.5)
23
+ */
24
+ export declare const getGroupByCountName: (schema: Schema) => string;
18
25
  /** One of the grid's quick actions on a cell (spec §12.4) */
19
26
  export interface CubeGridQuickAction {
20
27
  /** e.g. `Sort by "SHIP_COUNTRY"` */
@@ -27,12 +34,13 @@ export interface CubeGridQuickAction {
27
34
  readonly apply: () => void;
28
35
  }
29
36
  /**
30
- * The quick actions on a cell of the shown rows (spec §12.4, PLAN §11.4):
31
- * "Sort by" adds an ascending Sort on the cell's column, and "Filter by" an
32
- * Equal on its value (Is Empty on a null), after the node that runs, which
33
- * they replace as the node that runs. Both need the rows to be from the
34
- * current query, no run in flight, and a cube that can change; "Sort by" a
35
- * type that sorts, and "Filter by" a value its column's type can compare.
37
+ * The quick actions on a cell of the shown rows (spec §12.4, PLAN §11.4 and
38
+ * §11.5): "Sort by" adds an ascending Sort on the cell's column, "Group by" a
39
+ * Group by it with Count rows, and "Filter by" an Equal on its value (Is
40
+ * Empty on a null), after the node that runs, which they replace as the node
41
+ * that runs. All need the rows to be from the current query, no run in
42
+ * flight, and a cube that can change; "Sort by" and "Group by" a type that
43
+ * compares, and "Filter by" a value its column's type can compare.
36
44
  * Read when the menu opens; `[]` when the position is not a column of the
37
45
  * shown rows.
38
46
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CubeGridQuickActions.d.ts","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAClC,aAAa,eAAe,EAC5B,UAAU,MAAM,EAChB,MAAM,eAAe,KACpB,mBAAmB,EAqErB,CAAC"}
1
+ {"version":3,"file":"CubeGridQuickActions.d.ts","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAUL,KAAK,MAAM,EAGZ,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,MAWpD,CAAC;AAEF,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAClC,aAAa,eAAe,EAC5B,UAAU,MAAM,EAChB,MAAM,eAAe,KACpB,mBAAmB,EAoGrB,CAAC"}
@@ -13,15 +13,30 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { buildQuickFilterRule, FilterOperator, Filter, isOperatorAvailable, isSortableType, Sort, TypeFamily, } from '@finos/legend-cube';
16
+ import { AggregationFunction, buildQuickFilterRule, FilterOperator, Filter, foldColumnName, getAggregationAutoName, Group, isOperatorAvailable, isSortableType, Sort, TypeFamily, } from '@finos/legend-cube';
17
17
  import { CUBE_QUICK_ACTION_DISABLED_REASON, FILTER_FLOAT_COMPARISON_HINT, READ_ONLY_CUBE_TITLE, } from '../__lib__/LegendCubeLabels.js';
18
18
  /**
19
- * The quick actions on a cell of the shown rows (spec §12.4, PLAN §11.4):
20
- * "Sort by" adds an ascending Sort on the cell's column, and "Filter by" an
21
- * Equal on its value (Is Empty on a null), after the node that runs, which
22
- * they replace as the node that runs. Both need the rows to be from the
23
- * current query, no run in flight, and a cube that can change; "Sort by" a
24
- * type that sorts, and "Filter by" a value its column's type can compare.
19
+ * The name of a Group by's Count rows: `Count Rows`, or with a number after it
20
+ * when an input column already has that name in any case, e.g. on a Group of
21
+ * a Group (PLAN §11.5)
22
+ */
23
+ export const getGroupByCountName = (schema) => {
24
+ const base = getAggregationAutoName(AggregationFunction.COUNT_ROWS, undefined);
25
+ const taken = new Set(schema.names().map(foldColumnName));
26
+ let name = base;
27
+ for (let suffix = 2; taken.has(foldColumnName(name)); suffix += 1) {
28
+ name = `${base} ${suffix}`;
29
+ }
30
+ return name;
31
+ };
32
+ /**
33
+ * The quick actions on a cell of the shown rows (spec §12.4, PLAN §11.4 and
34
+ * §11.5): "Sort by" adds an ascending Sort on the cell's column, "Group by" a
35
+ * Group by it with Count rows, and "Filter by" an Equal on its value (Is
36
+ * Empty on a null), after the node that runs, which they replace as the node
37
+ * that runs. All need the rows to be from the current query, no run in
38
+ * flight, and a cube that can change; "Sort by" and "Group by" a type that
39
+ * compares, and "Filter by" a value its column's type can compare.
25
40
  * Read when the menu opens; `[]` when the position is not a column of the
26
41
  * shown rows.
27
42
  */
@@ -37,17 +52,24 @@ export const getCubeGridQuickActions = (editorState, position, cell) => {
37
52
  const typeName = column.type.displayName;
38
53
  const rule = buildQuickFilterRule(column.name, column.type, cell);
39
54
  // what keeps both from being used, in order
40
- const blocked = result.query !== query
55
+ const blocked = result.query !== query || execution.isStale
41
56
  ? CUBE_QUICK_ACTION_DISABLED_REASON.STALE_ROWS
42
- : execution.isRunning
43
- ? CUBE_QUICK_ACTION_DISABLED_REASON.RUNNING
44
- : editorState.readOnly
45
- ? READ_ONLY_CUBE_TITLE
46
- : undefined;
57
+ : // choosing would apply the edits first, leaving these rows stale
58
+ editorState.hasEditsToApply || editorState.nodeEditor.hasPendingInput()
59
+ ? CUBE_QUICK_ACTION_DISABLED_REASON.EDITING
60
+ : execution.isRunning
61
+ ? CUBE_QUICK_ACTION_DISABLED_REASON.RUNNING
62
+ : editorState.readOnly
63
+ ? READ_ONLY_CUBE_TITLE
64
+ : undefined;
47
65
  const sortReason = blocked ??
48
66
  (isSortableType(column.type)
49
67
  ? undefined
50
68
  : CUBE_QUICK_ACTION_DISABLED_REASON.notSortable(typeName));
69
+ const groupReason = blocked ??
70
+ (isSortableType(column.type)
71
+ ? undefined
72
+ : CUBE_QUICK_ACTION_DISABLED_REASON.notGroupable(typeName));
51
73
  const filterReason = blocked ??
52
74
  (rule
53
75
  ? undefined
@@ -61,11 +83,27 @@ export const getCubeGridQuickActions = (editorState, position, cell) => {
61
83
  hint: undefined,
62
84
  apply: () => {
63
85
  // as the menu found it: nothing changed since it opened
64
- if (sortReason === undefined && editorState.document.query === query) {
86
+ if (sortReason === undefined && editorState.document === document) {
65
87
  editorState.addConfiguredNode(Sort.byColumn(query.generateId(Sort.TYPE), column.name), afterId);
66
88
  }
67
89
  },
68
90
  },
91
+ {
92
+ label: `Group by "${column.name}"`,
93
+ disabledReason: groupReason,
94
+ hint: undefined,
95
+ apply: () => {
96
+ if (groupReason === undefined && editorState.document === document) {
97
+ editorState.addConfiguredNode(new Group(query.generateId(Group.TYPE), [column.name], [
98
+ {
99
+ column: undefined,
100
+ function: AggregationFunction.COUNT_ROWS,
101
+ name: getGroupByCountName(result.schema),
102
+ },
103
+ ]), afterId);
104
+ }
105
+ },
106
+ },
69
107
  {
70
108
  label: `Filter by "${column.name}"`,
71
109
  disabledReason: filterReason,
@@ -76,7 +114,7 @@ export const getCubeGridQuickActions = (editorState, position, cell) => {
76
114
  apply: () => {
77
115
  if (filterReason === undefined &&
78
116
  rule &&
79
- editorState.document.query === query) {
117
+ editorState.document === document) {
80
118
  editorState.addConfiguredNode(new Filter(query.generateId(Filter.TYPE), rule), afterId);
81
119
  }
82
120
  },
@@ -1 +1 @@
1
- {"version":3,"file":"CubeGridQuickActions.js","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeGridQuickActions.js","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,MAAM,EACN,cAAc,EACd,sBAAsB,EACtB,KAAK,EACL,mBAAmB,EACnB,cAAc,EAEd,IAAI,EACJ,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAIxC;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAU,EAAE;IAC5D,MAAM,IAAI,GAAG,sBAAsB,CACjC,mBAAmB,CAAC,UAAU,EAC9B,SAAS,CACA,CAAC;IACZ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1D,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QAClE,IAAI,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAcF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,WAA4B,EAC5B,QAAgB,EAChB,IAAqB,EACE,EAAE;IACzB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IACzC,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClE,4CAA4C;IAC5C,MAAM,OAAO,GACX,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,OAAO;QACzC,CAAC,CAAC,iCAAiC,CAAC,UAAU;QAC9C,CAAC,CAAC,iEAAiE;YACjE,WAAW,CAAC,eAAe,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE;gBACvE,CAAC,CAAC,iCAAiC,CAAC,OAAO;gBAC3C,CAAC,CAAC,SAAS,CAAC,SAAS;oBACnB,CAAC,CAAC,iCAAiC,CAAC,OAAO;oBAC3C,CAAC,CAAC,WAAW,CAAC,QAAQ;wBACpB,CAAC,CAAC,oBAAoB;wBACtB,CAAC,CAAC,SAAS,CAAC;IACtB,MAAM,UAAU,GACd,OAAO;QACP,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,iCAAiC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,MAAM,WAAW,GACf,OAAO;QACP,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,iCAAiC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,MAAM,YAAY,GAChB,OAAO;QACP,CAAC,IAAI;YACH,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mBAAmB,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACtD,CAAC,CAAC,iCAAiC,CAAC,gBAAgB;gBACpD,CAAC,CAAC,iCAAiC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,OAAO;QACL;YACE,KAAK,EAAE,YAAY,MAAM,CAAC,IAAI,GAAG;YACjC,cAAc,EAAE,UAAU;YAC1B,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG,EAAE;gBACV,wDAAwD;gBACxD,IAAI,UAAU,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClE,WAAW,CAAC,iBAAiB,CAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EACvD,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QACD;YACE,KAAK,EAAE,aAAa,MAAM,CAAC,IAAI,GAAG;YAClC,cAAc,EAAE,WAAW;YAC3B,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACnE,WAAW,CAAC,iBAAiB,CAC3B,IAAI,KAAK,CACP,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5B,CAAC,MAAM,CAAC,IAAI,CAAC,EACb;wBACE;4BACE,MAAM,EAAE,SAAS;4BACjB,QAAQ,EAAE,mBAAmB,CAAC,UAAU;4BACxC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;yBACzC;qBACF,CACF,EACD,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;QACD;YACE,KAAK,EAAE,cAAc,MAAM,CAAC,IAAI,GAAG;YACnC,cAAc,EAAE,YAAY;YAC5B,IAAI,EACF,IAAI,EAAE,QAAQ,KAAK,cAAc,CAAC,KAAK;gBACvC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK;gBACrC,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,SAAS;YACf,KAAK,EAAE,GAAG,EAAE;gBACV,IACE,YAAY,KAAK,SAAS;oBAC1B,IAAI;oBACJ,WAAW,CAAC,QAAQ,KAAK,QAAQ,EACjC,CAAC;oBACD,WAAW,CAAC,iBAAiB,CAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAC/C,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -14,7 +14,12 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { GenericLegendApplicationStore } from '@finos/legend-application';
17
- import type { CubeEngine } from '../graph-manager/CubeEngine.js';
17
+ import type { ModelContext } from '@finos/legend-cube';
18
+ import type { CubeConnectionExplorer } from '../graph-manager/CubeConnectionExplorer.js';
19
+ import type { CubeDataProductCatalog } from '../graph-manager/CubeDataProductCatalog.js';
20
+ import type { CubeIngestCatalog } from '../graph-manager/CubeIngestCatalog.js';
21
+ import { type CubeEngine, type CubeModelOutline } from '../graph-manager/CubeEngine.js';
22
+ import type { CubeProjectCatalog } from '../graph-manager/CubeProjectCatalog.js';
18
23
  import type { LocalModelCatalog } from './LocalModelCatalog.js';
19
24
  /**
20
25
  * What the application hosting the Cube page gives it (PLAN §3.5, Settled
@@ -27,5 +32,31 @@ export interface CubeHost {
27
32
  readonly applicationStore: GenericLegendApplicationStore;
28
33
  readonly engine: CubeEngine;
29
34
  readonly modelCatalog: LocalModelCatalog;
35
+ /**
36
+ * Reads the databases behind direct connections (PLAN §6.8); without one,
37
+ * the source picker offers no database connection
38
+ */
39
+ readonly connectionExplorer?: CubeConnectionExplorer | undefined;
40
+ /**
41
+ * The deployed data products (PLAN §6.8); without one, the source dialog
42
+ * offers no data products
43
+ */
44
+ readonly dataProductCatalog?: CubeDataProductCatalog | undefined;
45
+ /**
46
+ * The deployed ingest definitions (PLAN §6.7); without one, the source
47
+ * dialog offers no ingest data sets
48
+ */
49
+ readonly ingestCatalog?: CubeIngestCatalog | undefined;
50
+ /**
51
+ * The published projects in the host's depot (PLAN §6.3); without one, the
52
+ * source dialog offers no projects
53
+ */
54
+ readonly projectCatalog?: CubeProjectCatalog | undefined;
30
55
  }
56
+ /**
57
+ * A model's databases and runtimes, wherever its kind keeps them: a
58
+ * project's in the host's depot (PLAN §6.3), any other through the model
59
+ * catalog's engine
60
+ */
61
+ export declare const loadCubeModelOutline: (host: CubeHost, model: ModelContext) => Promise<CubeModelOutline>;
31
62
  //# sourceMappingURL=CubeHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeHost.d.ts","sourceRoot":"","sources":["../../src/stores/CubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C"}
1
+ {"version":3,"file":"CubeHost.d.ts","sourceRoot":"","sources":["../../src/stores/CubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAC1D;AAMD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,QAAQ,EACd,OAAO,YAAY,KAClB,OAAO,CAAC,gBAAgB,CAqB1B,CAAC"}
@@ -13,5 +13,25 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export {};
16
+ import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
17
+ import { checkCubeProjectModel, getCubeProjectCoordinates, isCubeProjectModel, } from '../graph-manager/CubeProject.js';
18
+ /** Why the host can't list a project model's Databases */
19
+ const NO_PROJECT_CATALOG = "This page can't read published projects: its host has no depot";
20
+ /**
21
+ * A model's databases and runtimes, wherever its kind keeps them: a
22
+ * project's in the host's depot (PLAN §6.3), any other through the model
23
+ * catalog's engine
24
+ */
25
+ export const loadCubeModelOutline = (host, model) => {
26
+ if (!isCubeProjectModel(model)) {
27
+ return host.modelCatalog.loadOutline(model);
28
+ }
29
+ const project = getCubeProjectCoordinates(model);
30
+ if (!project) {
31
+ return Promise.reject(new CubeEngineError(CubeEngineErrorKind.UNSUPPORTED_MODEL, checkCubeProjectModel(model).join('\n')));
32
+ }
33
+ return host.projectCatalog
34
+ ? host.projectCatalog.loadOutline(project)
35
+ : Promise.reject(new CubeEngineError(CubeEngineErrorKind.UNSUPPORTED_MODEL, NO_PROJECT_CATALOG));
36
+ };
17
37
  //# sourceMappingURL=CubeHost.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeHost.js","sourceRoot":"","sources":["../../src/stores/CubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
1
+ {"version":3,"file":"CubeHost.js","sourceRoot":"","sources":["../../src/stores/CubeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EACL,eAAe,EACf,mBAAmB,GAGpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAqCzC,0DAA0D;AAC1D,MAAM,kBAAkB,GACtB,gEAAgE,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAc,EACd,KAAmB,EACQ,EAAE;IAC7B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,eAAe,CACjB,mBAAmB,CAAC,iBAAiB,EACrC,qBAAqB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,cAAc;QACxB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,OAAO,CAAC,MAAM,CACZ,IAAI,eAAe,CACjB,mBAAmB,CAAC,iBAAiB,EACrC,kBAAkB,CACnB,CACF,CAAC;AACR,CAAC,CAAC"}
@@ -0,0 +1,26 @@
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 { IngestDatasetSource, ModelContext, Schema } from '@finos/legend-cube';
17
+ import { CubeEngineError, type NodeId } from '../graph-manager/CubeEngine.js';
18
+ import type { CubeIngestCatalog } from '../graph-manager/CubeIngestCatalog.js';
19
+ /**
20
+ * Reads an ingest cube's data sets again (PLAN §6.7): their columns as their
21
+ * deployed definitions declare them, through the catalog, with no engine
22
+ * call; `fresh` reads the definitions again rather than what this page visit
23
+ * read. One answer per source, failures included; never rejects.
24
+ */
25
+ export declare const recheckCubeIngestSources: (catalog: CubeIngestCatalog | undefined, model: ModelContext, sources: readonly IngestDatasetSource[], fresh?: boolean) => Promise<Map<NodeId, Schema | CubeEngineError>>;
26
+ //# sourceMappingURL=CubeIngestRecheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeIngestRecheck.d.ts","sourceRoot":"","sources":["../../src/stores/CubeIngestRecheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,MAAM,EACP,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EAEf,KAAK,MAAM,EACZ,MAAM,gCAAgC,CAAC;AAKxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,iBAAiB,GAAG,SAAS,EACtC,OAAO,YAAY,EACnB,SAAS,SAAS,mBAAmB,EAAE,EACvC,eAAa,KACZ,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CA+C/C,CAAC"}
@@ -0,0 +1,53 @@
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 { CUBE_INGEST_RECHECK_MESSAGE } from '../__lib__/LegendCubeIngestLabels.js';
17
+ import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
18
+ import { checkCubeIngestModel, getCubeIngestSettings, } from '../graph-manager/CubeIngest.js';
19
+ /**
20
+ * Reads an ingest cube's data sets again (PLAN §6.7): their columns as their
21
+ * deployed definitions declare them, through the catalog, with no engine
22
+ * call; `fresh` reads the definitions again rather than what this page visit
23
+ * read. One answer per source, failures included; never rejects.
24
+ */
25
+ export const recheckCubeIngestSources = async (catalog, model, sources, fresh = false) => {
26
+ const failAll = (kind, detail) => new Map(sources.map((source) => [
27
+ source.id,
28
+ new CubeEngineError(kind, detail, source.id),
29
+ ]));
30
+ if (!catalog) {
31
+ return failAll(CubeEngineErrorKind.UNSUPPORTED_MODEL, CUBE_INGEST_RECHECK_MESSAGE.NO_CATALOG);
32
+ }
33
+ const settings = getCubeIngestSettings(model);
34
+ if (!settings) {
35
+ return failAll(CubeEngineErrorKind.UNSUPPORTED_MODEL, checkCubeIngestModel(model).join('\n'));
36
+ }
37
+ try {
38
+ return await catalog.resolveSchemas(settings.environmentType, new Map(sources.map((source) => [
39
+ source.id,
40
+ {
41
+ ingestDefinitionUrn: source.ingestDefinitionUrn,
42
+ ingestDefinition: source.ingestDefinition,
43
+ dataSet: source.dataSet,
44
+ },
45
+ ])), { fresh });
46
+ }
47
+ catch (error) {
48
+ return error instanceof CubeEngineError
49
+ ? failAll(error.kind, error.detail)
50
+ : failAll(CubeEngineErrorKind.NETWORK, error instanceof Error ? error.message : String(error));
51
+ }
52
+ };
53
+ //# sourceMappingURL=CubeIngestRecheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeIngestRecheck.js","sourceRoot":"","sources":["../../src/stores/CubeIngestRecheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EACL,eAAe,EACf,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AAGxC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,OAAsC,EACtC,KAAmB,EACnB,OAAuC,EACvC,KAAK,GAAG,KAAK,EACmC,EAAE;IAClD,MAAM,OAAO,GAAG,CACd,IAAyB,EACzB,MAAc,EACyB,EAAE,CACzC,IAAI,GAAG,CACL,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE;QACT,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;KAC7C,CAAC,CACH,CAAC;IACJ,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CACZ,mBAAmB,CAAC,iBAAiB,EACrC,2BAA2B,CAAC,UAAU,CACvC,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,OAAO,CACZ,mBAAmB,CAAC,iBAAiB,EACrC,oBAAoB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,cAAc,CACjC,QAAQ,CAAC,eAAe,EACxB,IAAI,GAAG,CACL,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,EAAE;YACT;gBACE,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;gBAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB;SACF,CAAC,CACH,EACD,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,YAAY,eAAe;YACrC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACnC,CAAC,CAAC,OAAO,CACL,mBAAmB,CAAC,OAAO,EAC3B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACR,CAAC;AACH,CAAC,CAAC"}