@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,140 @@
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 { OpaqueType, PRIMITIVE_TYPE_PATH, PrimitiveType, resolveCubeType, Schema, SchemaColumn, } from '@finos/legend-cube';
17
+ import { V1_CInteger, V1_PackageableType, V1_WriteModeType, V1_deserializeIngestDefinitionContent, } from '@finos/legend-graph';
18
+ import { CubeIngestDataSet } from '../../../CubeIngestCatalog.js';
19
+ // A deployed ingest definition's data sets, typed from what the definition
20
+ // declares, with no engine call: each data set's columns, with their type
21
+ // parameters, then the columns its write mode adds, as legend-graph types
22
+ // them (#5598). A data set Cube can't read is listed with the reason, and
23
+ // can't be picked
24
+ /** A data set whose rows come from a query over other data sets */
25
+ const MATERIALIZED_VIEW_SOURCE = 'FunctionSource';
26
+ /** Why a data set can't be picked */
27
+ export const V1_CUBE_INGEST_DATA_SET_REASON = {
28
+ MATERIALIZED_VIEW: 'It is a materialized view, which Cube does not support yet',
29
+ NO_COLUMNS: 'It declares no columns',
30
+ BAD_MULTIPLICITY: (column) => `Column "${column}" holds more than one value, which Cube can't show`,
31
+ UNKNOWN_TYPE: (column, type) => `Column "${column}" has a type Cube doesn't know: ${type}`,
32
+ };
33
+ /** The columns a batch-milestoned data set adds after its own, by write mode */
34
+ const milestoningColumns = (writeMode) => {
35
+ const type = writeMode?._type;
36
+ if (type !== V1_WriteModeType.BATCH_MILESTONED &&
37
+ type !== V1_WriteModeType.BATCH_MILESTONED_BUSINESS_TEMPORAL) {
38
+ return [];
39
+ }
40
+ const integer = PrimitiveType.get(PRIMITIVE_TYPE_PATH.INTEGER);
41
+ const columns = [
42
+ new SchemaColumn('LAKE_IN_ID', integer, false),
43
+ new SchemaColumn('LAKE_OUT_ID', integer, false),
44
+ new SchemaColumn('LAKE_DIGEST', PrimitiveType.get(PRIMITIVE_TYPE_PATH.STRING), false),
45
+ ];
46
+ if (type === V1_WriteModeType.BATCH_MILESTONED_BUSINESS_TEMPORAL) {
47
+ const timestamp = PrimitiveType.get(PRIMITIVE_TYPE_PATH.TIMESTAMP);
48
+ columns.push(new SchemaColumn('LAKE_FROM', timestamp, false), new SchemaColumn('LAKE_THRU', timestamp, false));
49
+ }
50
+ return columns;
51
+ };
52
+ /**
53
+ * A declared column's type, by its full path or, for a primitive whose path
54
+ * has a package (e.g. `meta::pure::metamodel::type::Integer`), its name;
55
+ * parameters kept. Any other type, such as an enumeration, gives the reason
56
+ * the data set can't be picked.
57
+ */
58
+ const readColumnType = (column) => {
59
+ const { rawType, typeVariableValues } = column.genericType;
60
+ if (!(rawType instanceof V1_PackageableType)) {
61
+ return {
62
+ reason: V1_CUBE_INGEST_DATA_SET_REASON.UNKNOWN_TYPE(column.name, 'not a named type'),
63
+ };
64
+ }
65
+ const params = [];
66
+ for (const value of typeVariableValues) {
67
+ if (!(value instanceof V1_CInteger)) {
68
+ return {
69
+ reason: V1_CUBE_INGEST_DATA_SET_REASON.UNKNOWN_TYPE(column.name, rawType.fullPath),
70
+ };
71
+ }
72
+ params.push(value.value);
73
+ }
74
+ const name = rawType.fullPath.slice(rawType.fullPath.lastIndexOf(':') + 1);
75
+ const type = [rawType.fullPath, name]
76
+ .map((path) => resolveCubeType(path, params))
77
+ .find((candidate) => !(candidate instanceof OpaqueType));
78
+ return type
79
+ ? { type }
80
+ : {
81
+ reason: V1_CUBE_INGEST_DATA_SET_REASON.UNKNOWN_TYPE(column.name, params.length
82
+ ? `${rawType.fullPath}(${params.join(', ')})`
83
+ : rawType.fullPath),
84
+ };
85
+ };
86
+ /** A data set's schema, or why it can't be picked */
87
+ const readSchema = (dataset, definitionWriteMode) => {
88
+ // the protocol types both as always there, but saved content may lack them
89
+ const source = dataset.source;
90
+ if (source?._type === MATERIALIZED_VIEW_SOURCE) {
91
+ return { reason: V1_CUBE_INGEST_DATA_SET_REASON.MATERIALIZED_VIEW };
92
+ }
93
+ const schema = source?.schema;
94
+ const declared = schema?.columns ?? [];
95
+ if (!declared.length) {
96
+ return { reason: V1_CUBE_INGEST_DATA_SET_REASON.NO_COLUMNS };
97
+ }
98
+ const columns = [];
99
+ for (const column of declared) {
100
+ if (column.multiplicity.upperBound !== 1) {
101
+ return {
102
+ reason: V1_CUBE_INGEST_DATA_SET_REASON.BAD_MULTIPLICITY(column.name),
103
+ };
104
+ }
105
+ const read = readColumnType(column);
106
+ if ('reason' in read) {
107
+ return read;
108
+ }
109
+ columns.push(new SchemaColumn(column.name, read.type, column.multiplicity.lowerBound === 0));
110
+ }
111
+ try {
112
+ return {
113
+ schema: new Schema([
114
+ ...columns,
115
+ ...milestoningColumns(dataset.writeMode ?? definitionWriteMode),
116
+ ]),
117
+ };
118
+ }
119
+ catch (error) {
120
+ return { reason: error instanceof Error ? error.message : String(error) };
121
+ }
122
+ };
123
+ /**
124
+ * The data sets of an ingest definition's content (its protocol JSON), in
125
+ * order. Throws when the content can't be read at all.
126
+ */
127
+ export const V1_readCubeIngestDataSets = (content) => {
128
+ const definition = V1_deserializeIngestDefinitionContent(content);
129
+ return (definition.datasets ?? []).map((dataset) => {
130
+ const read = readSchema(dataset, definition.writeMode);
131
+ return new CubeIngestDataSet({
132
+ name: dataset.name,
133
+ primaryKey: dataset.primaryKey,
134
+ ...('schema' in read
135
+ ? { schema: read.schema }
136
+ : { disabledReason: read.reason }),
137
+ });
138
+ });
139
+ };
140
+ //# sourceMappingURL=V1_CubeIngestDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeIngestDefinition.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
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 { IR } from '@finos/legend-cube';
17
+ import type { PlainObject } from '@finos/legend-shared';
18
+ import type { CubeDataProductEnvironmentType } from '../../../CubeDataProduct.js';
19
+ import { type CubeIngestSettings } from '../../../CubeIngest.js';
20
+ /**
21
+ * The deployed definitions an ingest cube reads, from the host's ingest
22
+ * servers: what the engine needs to type and run them
23
+ */
24
+ export interface V1_CubeIngestDefinitionSource {
25
+ /** A definition's element, as protocol JSON, by its URN, for the cube's class */
26
+ getDefinitionElement(urn: string, environmentType: CubeDataProductEnvironmentType): Promise<PlainObject>;
27
+ /** The environment a run's lakehouse runtime names, for the cube's class */
28
+ getRuntimeEnvironment(environmentType: CubeDataProductEnvironmentType): Promise<string>;
29
+ }
30
+ /** An ingest data set a lambda reads */
31
+ export interface V1_CubeIngestAccessor {
32
+ readonly definition: string;
33
+ readonly dataSet: string;
34
+ readonly urn: string | undefined;
35
+ }
36
+ /** Why a lambda's ingest data sets can't be read on the cube */
37
+ export declare const V1_CUBE_INGEST_MESSAGE: {
38
+ readonly NO_URN: (definition: string) => string;
39
+ readonly NOT_SDLC: (definition: string) => string;
40
+ readonly OTHER_CLASS: (definition: string) => string;
41
+ readonly OTHER_PATH: (definition: string) => string;
42
+ };
43
+ /** The ingest data sets a lambda reads, in tree order */
44
+ export declare const V1_collectCubeIngestAccessors: (ir: IR) => V1_CubeIngestAccessor[];
45
+ /** Whether a lambda reads an ingest data set, anywhere in it */
46
+ export declare const V1_hasCubeIngestAccessor: (ir: IR) => boolean;
47
+ /**
48
+ * Why a lambda's ingest data sets can't be read on the cube, if they can't:
49
+ * each must say which SDLC-deployed definition it reads, deployed to the
50
+ * cube's class, under the path the query reads
51
+ */
52
+ export declare const V1_checkCubeIngestAccessors: (accessors: readonly V1_CubeIngestAccessor[], settings: CubeIngestSettings) => string | undefined;
53
+ /** The URNs of the definitions lambdas read, each once */
54
+ export declare const V1_getCubeIngestUrns: (accessors: readonly V1_CubeIngestAccessor[]) => string[];
55
+ /** The model typing runs on: the definitions alone, with no runtime */
56
+ export declare const V1_buildCubeIngestTypingContext: (definitions: readonly PlainObject[]) => PlainObject;
57
+ /**
58
+ * The model a run runs on: the definitions, then the lakehouse runtime at
59
+ * Cube's fixed path, with the environment and the warehouse, always given
60
+ */
61
+ export declare const V1_buildCubeIngestExecutionContext: (definitions: readonly PlainObject[], environment: string, warehouse: string) => PlainObject;
62
+ //# sourceMappingURL=V1_CubeIngestModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeIngestModel.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,wBAAwB,CAAC;AAOhC;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,iFAAiF;IACjF,oBAAoB,CAClB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,8BAA8B,GAC9C,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,4EAA4E;IAC5E,qBAAqB,CACnB,eAAe,EAAE,8BAA8B,GAC9C,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,wCAAwC;AACxC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,gEAAgE;AAChE,eAAO,MAAM,sBAAsB;kCACZ,MAAM,KAAG,MAAM;oCAEb,MAAM,KAAG,MAAM;uCAEZ,MAAM,KAAG,MAAM;sCAEhB,MAAM,KAAG,MAAM;CAEhC,CAAC;AAEX,yDAAyD;AACzD,eAAO,MAAM,6BAA6B,GACxC,IAAI,EAAE,KACL,qBAAqB,EA0BvB,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,wBAAwB,GAAI,IAAI,EAAE,KAAG,OACJ,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GACtC,WAAW,SAAS,qBAAqB,EAAE,EAC3C,UAAU,kBAAkB,KAC3B,MAAM,GAAG,SAiBX,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,GAC/B,WAAW,SAAS,qBAAqB,EAAE,KAC1C,MAAM,EAMR,CAAC;AAaF,uEAAuE;AACvE,eAAO,MAAM,+BAA+B,GAC1C,aAAa,SAAS,WAAW,EAAE,KAClC,WAGD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAC7C,aAAa,SAAS,WAAW,EAAE,EACnC,aAAa,MAAM,EACnB,WAAW,MAAM,KAChB,WAiBD,CAAC"}
@@ -0,0 +1,119 @@
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_RUNTIME_PATH, parseCubeIngestUrn, } from '../../../CubeIngest.js';
17
+ /** Why a lambda's ingest data sets can't be read on the cube */
18
+ export const V1_CUBE_INGEST_MESSAGE = {
19
+ NO_URN: (definition) => `The ingest data set of ${definition} doesn't say which deployed definition it reads`,
20
+ NOT_SDLC: (definition) => `Ingest definition ${definition} wasn't deployed from a project, which Cube doesn't read`,
21
+ OTHER_CLASS: (definition) => `Ingest definition ${definition} is deployed to another environment than the cube's`,
22
+ OTHER_PATH: (definition) => `The URN of ingest definition ${definition} names another definition`,
23
+ };
24
+ /** The ingest data sets a lambda reads, in tree order */
25
+ export const V1_collectCubeIngestAccessors = (ir) => {
26
+ const found = [];
27
+ const visit = (value) => {
28
+ if (Array.isArray(value)) {
29
+ value.forEach(visit);
30
+ return;
31
+ }
32
+ if (!value || typeof value !== 'object') {
33
+ return;
34
+ }
35
+ const node = value;
36
+ if (node.k === 'ingestAccessor') {
37
+ const [definition, dataSet] = node.path;
38
+ found.push({
39
+ definition,
40
+ dataSet,
41
+ urn: typeof node.urn === 'string' ? node.urn : undefined,
42
+ });
43
+ return;
44
+ }
45
+ if (node.k !== 'raw') {
46
+ Object.values(node).forEach(visit);
47
+ }
48
+ };
49
+ visit(ir);
50
+ return found;
51
+ };
52
+ /** Whether a lambda reads an ingest data set, anywhere in it */
53
+ export const V1_hasCubeIngestAccessor = (ir) => V1_collectCubeIngestAccessors(ir).length > 0;
54
+ /**
55
+ * Why a lambda's ingest data sets can't be read on the cube, if they can't:
56
+ * each must say which SDLC-deployed definition it reads, deployed to the
57
+ * cube's class, under the path the query reads
58
+ */
59
+ export const V1_checkCubeIngestAccessors = (accessors, settings) => {
60
+ for (const accessor of accessors) {
61
+ if (accessor.urn === undefined) {
62
+ return V1_CUBE_INGEST_MESSAGE.NO_URN(accessor.definition);
63
+ }
64
+ const urn = parseCubeIngestUrn(accessor.urn);
65
+ if (!urn) {
66
+ return V1_CUBE_INGEST_MESSAGE.NOT_SDLC(accessor.definition);
67
+ }
68
+ if (urn.environmentType !== settings.environmentType) {
69
+ return V1_CUBE_INGEST_MESSAGE.OTHER_CLASS(accessor.definition);
70
+ }
71
+ if (urn.definition !== accessor.definition) {
72
+ return V1_CUBE_INGEST_MESSAGE.OTHER_PATH(accessor.definition);
73
+ }
74
+ }
75
+ return undefined;
76
+ };
77
+ /** The URNs of the definitions lambdas read, each once */
78
+ export const V1_getCubeIngestUrns = (accessors) => [
79
+ ...new Set(accessors
80
+ .map((accessor) => accessor.urn)
81
+ .filter((urn) => urn !== undefined)),
82
+ ];
83
+ /** A definition as the model holds it: its test suites, which reference test data the model lacks, left out */
84
+ const toModelElement = (element) => {
85
+ const { testSuites, ...rest } = element;
86
+ return rest;
87
+ };
88
+ const splitPath = (path) => {
89
+ const index = path.lastIndexOf('::');
90
+ return { package: path.slice(0, index), name: path.slice(index + 2) };
91
+ };
92
+ /** The model typing runs on: the definitions alone, with no runtime */
93
+ export const V1_buildCubeIngestTypingContext = (definitions) => ({
94
+ _type: 'data',
95
+ elements: definitions.map(toModelElement),
96
+ });
97
+ /**
98
+ * The model a run runs on: the definitions, then the lakehouse runtime at
99
+ * Cube's fixed path, with the environment and the warehouse, always given
100
+ */
101
+ export const V1_buildCubeIngestExecutionContext = (definitions, environment, warehouse) => ({
102
+ _type: 'data',
103
+ elements: [
104
+ ...definitions.map(toModelElement),
105
+ {
106
+ _type: 'runtime',
107
+ ...splitPath(CUBE_INGEST_RUNTIME_PATH),
108
+ runtimeValue: {
109
+ _type: 'LakehouseRuntime',
110
+ connectionStores: [],
111
+ connections: [],
112
+ mappings: [],
113
+ environment,
114
+ warehouse,
115
+ },
116
+ },
117
+ ],
118
+ });
119
+ //# sourceMappingURL=V1_CubeIngestModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeIngestModel.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
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 LakehouseContractServerClient } from '@finos/legend-server-lakehouse';
17
+ import { type CubeDataProductProject } from '../../../CubeDataProduct.js';
18
+ import type { CubeLakehouseEnvironment } from '../../../CubeLakehouseEnvironment.js';
19
+ export declare const V1_CUBE_NO_LAKEHOUSE_ENVIRONMENT = "Unable to resolve lakehouse user environment. Please ensure your lakehouse entitlements are configured.";
20
+ export declare class V1_CubeLakehouseEnvironmentResolver implements CubeLakehouseEnvironment {
21
+ private readonly contractServerClient;
22
+ private readonly getAccessToken;
23
+ private readonly getCurrentUser;
24
+ private readonly getPreferredEnvironment;
25
+ /** The viewer's environment, read on the first run of the page visit */
26
+ private userEnvironment;
27
+ constructor(contractServerClient: LakehouseContractServerClient, getAccessToken: () => string | undefined, getCurrentUser: () => string, getPreferredEnvironment?: () => string | undefined);
28
+ private readUserEnvironment;
29
+ /** The viewer's environment with no realm: what ingest environments are named by */
30
+ resolveBaseEnvironment(): Promise<string>;
31
+ resolveEnvironment(project: CubeDataProductProject): Promise<string>;
32
+ }
33
+ //# sourceMappingURL=V1_CubeLakehouseEnvironmentResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeLakehouseEnvironmentResolver.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAGL,KAAK,6BAA6B,EAEnC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAYrF,eAAO,MAAM,gCAAgC,4GAC8D,CAAC;AAqB5G,qBAAa,mCACX,YAAW,wBAAwB;IAEnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgC;IACrE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2B;IACnE,wEAAwE;IACxE,OAAO,CAAC,eAAe,CAA8B;gBAGnD,oBAAoB,EAAE,6BAA6B,EACnD,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,EACxC,cAAc,EAAE,MAAM,MAAM,EAC5B,uBAAuB,GAAE,MAAM,MAAM,GAAG,SAA2B;IAQrE,OAAO,CAAC,mBAAmB;IAoC3B,oFAAoF;IAC9E,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;CAW3E"}
@@ -0,0 +1,94 @@
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 { V1_EntitlementsLakehouseEnvironmentType, } from '@finos/legend-graph';
17
+ import { decorateEnvWithRealm, getEntitlementsLakehouseEnvironmentTypeCompatibleWithEnvName, LakehouseEnvironmentType, } from '@finos/legend-server-lakehouse';
18
+ import { CubeDataProductEnvironmentType, isCubeSnapshotVersion, } from '../../../CubeDataProduct.js';
19
+ import { CubeEngineError, CubeEngineErrorKind } from '../../../CubeEngine.js';
20
+ // The viewer's lakehouse environment, as Legend Query resolves it
21
+ // (QueryEditorStore.resolveLakehouseEnvAndWarehouse): the environment the
22
+ // host remembers for the viewer, else the first one the viewer's
23
+ // entitlements name, read once per page visit. Query adds the
24
+ // production-parallel realm for a snapshot version; Cube adds it for a
25
+ // production-parallel deployment too, as Data Cube does. Query may
26
+ // remember an environment with a realm already on it (its runtime dialog
27
+ // saves the runtime's environment as it is), so Cube drops that realm first:
28
+ // a production deployment never runs in the production-parallel realm
29
+ export const V1_CUBE_NO_LAKEHOUSE_ENVIRONMENT = 'Unable to resolve lakehouse user environment. Please ensure your lakehouse entitlements are configured.';
30
+ /** The environment without a realm, which `decorateEnvWithRealm` would add */
31
+ const withoutRealm = (environment) => {
32
+ switch (getEntitlementsLakehouseEnvironmentTypeCompatibleWithEnvName(environment)) {
33
+ case V1_EntitlementsLakehouseEnvironmentType.DEVELOPMENT:
34
+ return environment.slice(`${LakehouseEnvironmentType.DEVELOPMENT}-`.length);
35
+ case V1_EntitlementsLakehouseEnvironmentType.PRODUCTION_PARALLEL:
36
+ return environment.slice(0, -`-${LakehouseEnvironmentType.PRODUCTION_PARALLEL}`.length);
37
+ default:
38
+ return environment;
39
+ }
40
+ };
41
+ export class V1_CubeLakehouseEnvironmentResolver {
42
+ contractServerClient;
43
+ getAccessToken;
44
+ getCurrentUser;
45
+ getPreferredEnvironment;
46
+ /** The viewer's environment, read on the first run of the page visit */
47
+ userEnvironment;
48
+ constructor(contractServerClient, getAccessToken, getCurrentUser, getPreferredEnvironment = () => undefined) {
49
+ this.contractServerClient = contractServerClient;
50
+ this.getAccessToken = getAccessToken;
51
+ this.getCurrentUser = getCurrentUser;
52
+ this.getPreferredEnvironment = getPreferredEnvironment;
53
+ }
54
+ readUserEnvironment() {
55
+ const preferred = this.getPreferredEnvironment();
56
+ if (preferred) {
57
+ return Promise.resolve(preferred);
58
+ }
59
+ this.userEnvironment ??= (async () => {
60
+ let response;
61
+ try {
62
+ response = await this.contractServerClient.getUserEntitlementEnvs(this.getCurrentUser(), this.getAccessToken());
63
+ }
64
+ catch (error) {
65
+ throw new CubeEngineError(CubeEngineErrorKind.NETWORK, `${V1_CUBE_NO_LAKEHOUSE_ENVIRONMENT}\n${error instanceof Error ? error.message : String(error)}`);
66
+ }
67
+ const environment = response.users
68
+ .map((user) => user.lakehouseEnvironment)
69
+ .find((name) => typeof name === 'string' && name.length > 0);
70
+ if (!environment) {
71
+ throw new CubeEngineError(CubeEngineErrorKind.EXECUTION, V1_CUBE_NO_LAKEHOUSE_ENVIRONMENT);
72
+ }
73
+ return environment;
74
+ })().catch((error) => {
75
+ // read again on the next run
76
+ this.userEnvironment = undefined;
77
+ throw error;
78
+ });
79
+ return this.userEnvironment;
80
+ }
81
+ /** The viewer's environment with no realm: what ingest environments are named by */
82
+ async resolveBaseEnvironment() {
83
+ return withoutRealm(await this.readUserEnvironment());
84
+ }
85
+ async resolveEnvironment(project) {
86
+ const environment = await this.resolveBaseEnvironment();
87
+ return project.environmentType ===
88
+ CubeDataProductEnvironmentType.PRODUCTION_PARALLEL ||
89
+ isCubeSnapshotVersion(project.versionId)
90
+ ? decorateEnvWithRealm(environment, LakehouseEnvironmentType.PRODUCTION_PARALLEL)
91
+ : environment;
92
+ }
93
+ }
94
+ //# sourceMappingURL=V1_CubeLakehouseEnvironmentResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeLakehouseEnvironmentResolver.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"V1_CubeLambdaSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAgB,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAO3E,uEAAuE;AACvE,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAKhD,iCAAiC;AACjC,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,MACQ,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,GAAG,SAAS,KAC3B,MAAM,GAAG,SAUX,CAAC;AAqMF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,IAAI,EAAE,KAAG,WAK/C,CAAC"}
1
+ {"version":3,"file":"V1_CubeLambdaSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAgB,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAO3E,uEAAuE;AACvE,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAKhD,iCAAiC;AACjC,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,MACQ,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,GAAG,SAAS,KAC3B,MAAM,GAAG,SAUX,CAAC;AAqRF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,IAAI,EAAE,KAAG,WAK/C,CAAC"}
@@ -52,6 +52,35 @@ const numberToken = (text) => {
52
52
  }
53
53
  return parseLosslessJSON(text);
54
54
  };
55
+ /** The literal types whose value is a number, which Cube keeps as its digit string in an expression's JSON */
56
+ const NUMBER_LITERAL_TYPES = [
57
+ 'integer',
58
+ 'float',
59
+ 'decimal',
60
+ ];
61
+ /**
62
+ * An expression's lambda as the engine reads it (PLAN §11.7): each number
63
+ * literal written digit for digit from the string Cube keeps, and with an
64
+ * origin, any source information replaced by it on every value
65
+ * specification; with none, the JSON's own source information kept, so a
66
+ * lambda parsed with its locations is typed with them (the editor's Validate)
67
+ */
68
+ const serializeLambdaJson = (json, origin) => {
69
+ if (Array.isArray(json)) {
70
+ return json.map((item) => serializeLambdaJson(item, origin));
71
+ }
72
+ if (typeof json !== 'object' || json === null) {
73
+ return json;
74
+ }
75
+ const object = Object.fromEntries(Object.entries(json)
76
+ .filter(([key]) => !origin || key !== 'sourceInformation')
77
+ .map(([key, value]) => [key, serializeLambdaJson(value, origin)]));
78
+ if (NUMBER_LITERAL_TYPES.includes(object._type) &&
79
+ typeof object.value === 'string') {
80
+ object.value = numberToken(object.value);
81
+ }
82
+ return typeof object._type === 'string' ? stamped(object, origin) : object;
83
+ };
55
84
  const serializeLiteral = (value) => {
56
85
  switch (value.kind) {
57
86
  case 'string':
@@ -148,6 +177,24 @@ const serialize = (ir, inherited) => {
148
177
  value: stamped({ path: [...ir.path] }, origin),
149
178
  }, origin);
150
179
  }
180
+ case 'dataProductAccessor':
181
+ // stamped on the outer instance only: the value is sent as legend-graph
182
+ // sends it, which Query and Data Cube already send to the engine
183
+ return stamped({
184
+ _type: 'classInstance',
185
+ type: 'P',
186
+ multiplicity: { lowerBound: 1, upperBound: 1 },
187
+ value: { path: [...ir.path], parameters: [] },
188
+ }, ir.origin ?? inherited);
189
+ case 'ingestAccessor':
190
+ // as legend-graph sends it, and Legend Query's ingest queries with it:
191
+ // the data set's rows, never its metadata
192
+ return stamped({
193
+ _type: 'classInstance',
194
+ type: 'I',
195
+ multiplicity: { lowerBound: 1, upperBound: 1 },
196
+ value: { path: [...ir.path], metadata: false },
197
+ }, ir.origin ?? inherited);
151
198
  case 'elementPtr':
152
199
  return stamped({ _type: 'packageableElementPtr', fullPath: ir.path }, inherited);
153
200
  case 'genericType':
@@ -170,12 +217,24 @@ const serialize = (ir, inherited) => {
170
217
  ],
171
218
  }, origin);
172
219
  }
173
- case 'let':
174
- case 'block':
175
- // window isolation (PLAN §8.6) comes with Partition, in M5
176
- throw new Error(`Can't send "${ir.k}" yet`);
220
+ case 'let': {
221
+ // `let n = v` is the engine's `letFunction('n', v)`; the name is
222
+ // stamped too, so an error the engine reports on it lands on the node
223
+ // the let binds (PLAN §8.6)
224
+ const origin = ir.origin ?? inherited;
225
+ return stamped({
226
+ _type: 'func',
227
+ function: 'letFunction',
228
+ parameters: [
229
+ stamped({ _type: 'string', value: ir.name }, origin),
230
+ serialize(ir.value, origin),
231
+ ],
232
+ }, origin);
233
+ }
177
234
  case 'raw':
178
235
  return ir.json;
236
+ case 'lambdaJson':
237
+ return serializeLambdaJson(ir.json, ir.origin ?? inherited);
179
238
  default: {
180
239
  const unknown = ir;
181
240
  throw new Error(`Unknown IR ${JSON.stringify(unknown)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"V1_CubeLambdaSerializer.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V1_CubeLambdaSerializer.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts"],"names":[],"mappings":"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"}