@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,246 @@
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 { CubeConnectionDatasourceKind, CubeDirectDatabaseType, } from '../../../CubeConnectionExplorer.js';
17
+ // A direct connection's protocol JSON (PLAN §6.8), read and written as plain
18
+ // JSON. legend-graph's connection serializers are not used: they drop a DuckDB
19
+ // connection's setup SQL and an H2 one's identifier setting, and a saved
20
+ // connection must reach the engine exactly as it was saved. A connection is
21
+ // checked against what Cube supports, and anything else is refused, never
22
+ // dropped, since an imported cube is saved again unchanged
23
+ const CONNECTION_TYPE = 'RelationalDatabaseConnection';
24
+ const H2_DATASOURCE_TYPE = 'h2Local';
25
+ const DUCKDB_DATASOURCE_TYPE = 'duckDB';
26
+ const H2_DEFAULT_AUTHENTICATION_TYPE = 'h2Default';
27
+ const TEST_AUTHENTICATION_TYPE = 'test';
28
+ /** Where the engine records source positions: kept, and ignored when comparing */
29
+ const SOURCE_INFORMATION_KEYS = [
30
+ 'sourceInformation',
31
+ 'elementSourceInformation',
32
+ ];
33
+ /** The store the connection is bound to: set only in the model built for each call */
34
+ const ELEMENT_KEY = 'element';
35
+ /** The authentication strategies, as the engine names them, each database allows */
36
+ const AUTHENTICATION_TYPES = {
37
+ [CubeDirectDatabaseType.H2]: [
38
+ H2_DEFAULT_AUTHENTICATION_TYPE,
39
+ TEST_AUTHENTICATION_TYPE,
40
+ ],
41
+ [CubeDirectDatabaseType.DUCKDB]: [TEST_AUTHENTICATION_TYPE],
42
+ };
43
+ const isEmptyList = (value) => value === undefined ||
44
+ value === null ||
45
+ (Array.isArray(value) && value.length === 0);
46
+ /**
47
+ * Connection settings Cube doesn't support yet, accepted only at the engine's
48
+ * default value: each changes how a query runs, in ways Cube doesn't show
49
+ */
50
+ const UNSUPPORTED_SETTINGS = {
51
+ localMode: (value) => value === undefined || value === null || value === false,
52
+ quoteIdentifiers: (value) => value === undefined || value === null || value === false,
53
+ timeZone: (value) => value === undefined || value === null,
54
+ queryTimeOutInSeconds: (value) => value === undefined || value === null,
55
+ queryGenerationConfigs: (value) => isEmptyList(value),
56
+ // a schema mapper ran a query on another schema with no error
57
+ postProcessors: (value) => isEmptyList(value),
58
+ postProcessorWithParameter: (value) => isEmptyList(value),
59
+ };
60
+ const isObject = (value) => Boolean(value) && typeof value === 'object' && !Array.isArray(value);
61
+ const isDatabaseType = (value) => Object.values(CubeDirectDatabaseType).includes(value);
62
+ const isStatementList = (value) => Array.isArray(value) &&
63
+ value.every((statement) => typeof statement === 'string');
64
+ /** The keys of an object that are neither expected nor source information */
65
+ const unexpectedKeys = (object, expected) => Object.keys(object).filter((key) => !expected.includes(key) && !SOURCE_INFORMATION_KEYS.includes(key));
66
+ const checkDatasource = (databaseType, datasource) => {
67
+ const problems = [];
68
+ // a CSV setup is the engine's own SQL generation, which lost rows in tests
69
+ if (datasource.testDataSetupCsv !== undefined &&
70
+ datasource.testDataSetupCsv !== null &&
71
+ datasource.testDataSetupCsv !== '') {
72
+ problems.push("The connection sets up its data from CSV, which Cube doesn't support: use setup SQL statements");
73
+ }
74
+ if (databaseType === CubeDirectDatabaseType.H2) {
75
+ if (datasource._type !== H2_DATASOURCE_TYPE) {
76
+ problems.push('An H2 connection must use a local H2 database, created by its setup SQL');
77
+ return problems;
78
+ }
79
+ if (datasource.disableDatabaseToUpper !== undefined &&
80
+ datasource.disableDatabaseToUpper !== null &&
81
+ datasource.disableDatabaseToUpper !== false) {
82
+ problems.push("The connection keeps H2 from upper-casing names, which Cube doesn't support");
83
+ }
84
+ if (!isStatementList(datasource.testDataSetupSqls) ||
85
+ datasource.testDataSetupSqls.length === 0) {
86
+ // without setup SQL the engine connects to an H2 server that isn't there
87
+ problems.push('An H2 connection needs at least one setup SQL statement');
88
+ }
89
+ unexpectedKeys(datasource, [
90
+ '_type',
91
+ 'testDataSetupSqls',
92
+ 'testDataSetupCsv',
93
+ 'disableDatabaseToUpper',
94
+ ]).forEach((key) => problems.push(`The connection's database has a property Cube doesn't know: "${key}"`));
95
+ }
96
+ else {
97
+ if (datasource._type !== DUCKDB_DATASOURCE_TYPE) {
98
+ problems.push('A DuckDB connection must name a DuckDB database file, or none for an in-memory database');
99
+ return problems;
100
+ }
101
+ if (typeof datasource.path !== 'string') {
102
+ problems.push('A DuckDB connection must name a database file, or none for an in-memory database');
103
+ }
104
+ if (datasource.testDataSetupSqls !== undefined &&
105
+ !isStatementList(datasource.testDataSetupSqls)) {
106
+ problems.push("The connection's setup SQL must be a list of statements");
107
+ }
108
+ unexpectedKeys(datasource, [
109
+ '_type',
110
+ 'path',
111
+ 'testDataSetupSqls',
112
+ 'testDataSetupCsv',
113
+ ]).forEach((key) => problems.push(`The connection's database has a property Cube doesn't know: "${key}"`));
114
+ }
115
+ return problems;
116
+ };
117
+ const checkAuthentication = (databaseType, authentication) => {
118
+ const allowed = AUTHENTICATION_TYPES[databaseType];
119
+ if (!allowed.includes(authentication._type)) {
120
+ return [
121
+ `${databaseType === CubeDirectDatabaseType.H2 ? 'An' : 'A'} ${databaseType} connection's authentication must be ${allowed
122
+ .map((type) => `"${type}"`)
123
+ .join(' or ')}`,
124
+ ];
125
+ }
126
+ // these strategies take no settings, so no secret can be saved with them
127
+ return unexpectedKeys(authentication, ['_type']).map((key) => `The connection's authentication has a property Cube doesn't know: "${key}"`);
128
+ };
129
+ /**
130
+ * What keeps Cube from using a connection, in words a user can act on: none
131
+ * when the connection is one Cube supports. Values are never repeated, only
132
+ * the names of properties, since a property Cube doesn't know could hold a
133
+ * secret
134
+ */
135
+ export const V1_checkCubeDirectConnection = (connection) => {
136
+ if (!isObject(connection) || connection._type !== CONNECTION_TYPE) {
137
+ return ['The connection is not a relational database connection'];
138
+ }
139
+ const { type, databaseType } = connection;
140
+ if (!isDatabaseType(databaseType)) {
141
+ return [
142
+ `Cube connects to H2 and DuckDB databases only, not to "${String(databaseType)}"`,
143
+ ];
144
+ }
145
+ const problems = [];
146
+ if (type !== databaseType) {
147
+ problems.push("The connection's type and database type must be the same database");
148
+ }
149
+ Object.entries(UNSUPPORTED_SETTINGS).forEach(([key, isDefault]) => {
150
+ if (!isDefault(connection[key])) {
151
+ problems.push(`The connection sets "${key}", which Cube doesn't support`);
152
+ }
153
+ });
154
+ unexpectedKeys(connection, [
155
+ '_type',
156
+ 'type',
157
+ 'databaseType',
158
+ 'datasourceSpecification',
159
+ 'authenticationStrategy',
160
+ ELEMENT_KEY,
161
+ ...Object.keys(UNSUPPORTED_SETTINGS),
162
+ ]).forEach((key) => problems.push(`The connection has a property Cube doesn't know: "${key}"`));
163
+ if (isObject(connection.datasourceSpecification)) {
164
+ problems.push(...checkDatasource(databaseType, connection.datasourceSpecification));
165
+ }
166
+ else {
167
+ problems.push("The connection doesn't say how to reach its database");
168
+ }
169
+ if (isObject(connection.authenticationStrategy)) {
170
+ problems.push(...checkAuthentication(databaseType, connection.authenticationStrategy));
171
+ }
172
+ else {
173
+ problems.push("The connection doesn't say how to authenticate");
174
+ }
175
+ return problems;
176
+ };
177
+ /**
178
+ * The connection the form describes, as the engine reads it. It names no
179
+ * store: each call binds it to the Database built for that call
180
+ */
181
+ export const V1_buildCubeDirectConnection = (draft) => {
182
+ const setupSqls = [...draft.setupSqls];
183
+ return draft.databaseType === CubeDirectDatabaseType.H2
184
+ ? {
185
+ _type: CONNECTION_TYPE,
186
+ type: CubeDirectDatabaseType.H2,
187
+ databaseType: CubeDirectDatabaseType.H2,
188
+ datasourceSpecification: {
189
+ _type: H2_DATASOURCE_TYPE,
190
+ testDataSetupSqls: setupSqls,
191
+ },
192
+ authenticationStrategy: { _type: H2_DEFAULT_AUTHENTICATION_TYPE },
193
+ }
194
+ : {
195
+ _type: CONNECTION_TYPE,
196
+ type: CubeDirectDatabaseType.DUCKDB,
197
+ databaseType: CubeDirectDatabaseType.DUCKDB,
198
+ datasourceSpecification: {
199
+ _type: DUCKDB_DATASOURCE_TYPE,
200
+ path: draft.path ?? '',
201
+ ...(setupSqls.length ? { testDataSetupSqls: setupSqls } : {}),
202
+ },
203
+ authenticationStrategy: { _type: TEST_AUTHENTICATION_TYPE },
204
+ };
205
+ };
206
+ /**
207
+ * What the page shows of a connection Cube supports (see
208
+ * `V1_checkCubeDirectConnection`): never its setup SQL
209
+ */
210
+ export const V1_summarizeCubeDirectConnection = (connection) => {
211
+ const databaseType = connection.databaseType;
212
+ const datasource = connection.datasourceSpecification;
213
+ const authentication = connection.authenticationStrategy;
214
+ const path = typeof datasource.path === 'string' ? datasource.path : '';
215
+ const setupSqls = datasource.testDataSetupSqls;
216
+ return {
217
+ databaseType,
218
+ datasourceKind: databaseType === CubeDirectDatabaseType.H2
219
+ ? CubeConnectionDatasourceKind.LOCAL_H2
220
+ : path
221
+ ? CubeConnectionDatasourceKind.DUCKDB_FILE
222
+ : CubeConnectionDatasourceKind.DUCKDB_IN_MEMORY,
223
+ path: databaseType === CubeDirectDatabaseType.DUCKDB && path ? path : undefined,
224
+ setupSqlCount: Array.isArray(setupSqls) ? setupSqls.length : 0,
225
+ authenticationKind: String(authentication._type),
226
+ };
227
+ };
228
+ const canonicalValue = (value) => {
229
+ if (Array.isArray(value)) {
230
+ return value.map(canonicalValue);
231
+ }
232
+ if (isObject(value)) {
233
+ return Object.fromEntries(Object.keys(value)
234
+ .filter((key) => key !== ELEMENT_KEY && !SOURCE_INFORMATION_KEYS.includes(key))
235
+ .sort()
236
+ .map((key) => [key, canonicalValue(value[key])]));
237
+ }
238
+ return value;
239
+ };
240
+ /**
241
+ * A connection as text that two connections share exactly when they reach the
242
+ * same database the same way: key order, the bound store and source
243
+ * positions don't count. Used to compare connections and to key caches
244
+ */
245
+ export const V1_canonicalCubeDirectConnection = (connection) => JSON.stringify(canonicalValue(connection));
246
+ //# sourceMappingURL=V1_CubeDirectConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeDirectConnection.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright (c) 2026-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { IR } from '@finos/legend-cube';
17
+ import type { PlainObject } from '@finos/legend-shared';
18
+ import type { CubeDirectConnection } from '../../../CubeConnectionExplorer.js';
19
+ import type { AccessorPath } from '../../../CubeEngine.js';
20
+ import { type V1_CubeExploredTablePath } from './V1_CubeSchemaExploration.js';
21
+ /** A table of the built Database, as read from the connection's database */
22
+ export interface V1_CubeDirectTable {
23
+ /** As the database stores them */
24
+ path: V1_CubeExploredTablePath;
25
+ /** The table's definition, every name quoted, without the columns Cube hides */
26
+ definition: PlainObject;
27
+ }
28
+ /** The built Database's package and name, which schema exploration takes */
29
+ export declare const V1_CUBE_DIRECT_DATABASE: {
30
+ package: string;
31
+ name: string;
32
+ };
33
+ /**
34
+ * The store accessors of a lambda, each once: found anywhere in it, so a new
35
+ * kind of IR node needs nothing here
36
+ */
37
+ export declare const V1_collectCubeStoreAccessors: (ir: IR) => readonly AccessorPath[];
38
+ /**
39
+ * The model of one call: the tables in a fixed order (by schema, then table),
40
+ * so the same tables always give the same model
41
+ */
42
+ export declare const V1_buildCubeDirectModelContext: (connection: CubeDirectConnection, tables: readonly V1_CubeDirectTable[]) => PlainObject;
43
+ //# sourceMappingURL=V1_CubeDirectModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeDirectModel.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDirectModel.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,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAM/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,+BAA+B,CAAC;AAQvC,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,gFAAgF;IAChF,UAAU,EAAE,WAAW,CAAC;CACzB;AAUD,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB;aATS,MAAM;UAAQ,MAAM;CASU,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,IAAI,EAAE,KACL,SAAS,YAAY,EAuBvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GACzC,YAAY,oBAAoB,EAChC,QAAQ,SAAS,kBAAkB,EAAE,KACpC,WAyDF,CAAC"}
@@ -0,0 +1,112 @@
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_DIRECT_CONNECTION_PATH, CUBE_DIRECT_DATABASE_PATH, CUBE_DIRECT_RUNTIME_PATH, } from '../../../CubeDirectConnection.js';
17
+ import { V1_quoteCubeName, } from './V1_CubeSchemaExploration.js';
18
+ const splitPath = (path) => {
19
+ const index = path.lastIndexOf('::');
20
+ return { package: path.slice(0, index), name: path.slice(index + 2) };
21
+ };
22
+ /** By code point, the same in every locale */
23
+ const compare = (a, b) => (a < b ? -1 : a > b ? 1 : 0);
24
+ /** The built Database's package and name, which schema exploration takes */
25
+ export const V1_CUBE_DIRECT_DATABASE = splitPath(CUBE_DIRECT_DATABASE_PATH);
26
+ /**
27
+ * The store accessors of a lambda, each once: found anywhere in it, so a new
28
+ * kind of IR node needs nothing here
29
+ */
30
+ export const V1_collectCubeStoreAccessors = (ir) => {
31
+ const found = new Map();
32
+ const visit = (value) => {
33
+ if (Array.isArray(value)) {
34
+ value.forEach(visit);
35
+ return;
36
+ }
37
+ if (!value || typeof value !== 'object') {
38
+ return;
39
+ }
40
+ const node = value;
41
+ if (node.k === 'storeAccessor' && Array.isArray(node.path)) {
42
+ const path = node.path;
43
+ found.set(JSON.stringify(path), path);
44
+ return;
45
+ }
46
+ if (node.k === 'raw') {
47
+ return;
48
+ }
49
+ Object.values(node).forEach(visit);
50
+ };
51
+ visit(ir);
52
+ return [...found.values()];
53
+ };
54
+ /**
55
+ * The model of one call: the tables in a fixed order (by schema, then table),
56
+ * so the same tables always give the same model
57
+ */
58
+ export const V1_buildCubeDirectModelContext = (connection, tables) => {
59
+ const schemas = new Map();
60
+ [...tables]
61
+ .sort((a, b) => compare(a.path[0], b.path[0]) || compare(a.path[1], b.path[1]))
62
+ .forEach(({ path: [schema], definition }) => schemas.set(schema, [...(schemas.get(schema) ?? []), definition]));
63
+ return {
64
+ _type: 'data',
65
+ elements: [
66
+ {
67
+ _type: 'relational',
68
+ ...splitPath(CUBE_DIRECT_DATABASE_PATH),
69
+ includedStores: [],
70
+ filters: [],
71
+ joins: [],
72
+ stereotypes: [],
73
+ schemas: [...schemas.entries()].map(([schema, definitions]) => ({
74
+ name: V1_quoteCubeName(schema),
75
+ tables: definitions,
76
+ views: [],
77
+ tabularFunctions: [],
78
+ })),
79
+ },
80
+ {
81
+ _type: 'connection',
82
+ ...splitPath(CUBE_DIRECT_CONNECTION_PATH),
83
+ // bound to the built Database: the engine needs the store it serves
84
+ connectionValue: { ...connection, element: CUBE_DIRECT_DATABASE_PATH },
85
+ },
86
+ {
87
+ _type: 'runtime',
88
+ ...splitPath(CUBE_DIRECT_RUNTIME_PATH),
89
+ runtimeValue: {
90
+ _type: 'engineRuntime',
91
+ mappings: [],
92
+ connectionStores: [],
93
+ connections: [
94
+ {
95
+ store: { type: 'STORE', path: CUBE_DIRECT_DATABASE_PATH },
96
+ storeConnections: [
97
+ {
98
+ id: 'connection',
99
+ connection: {
100
+ _type: 'connectionPointer',
101
+ connection: CUBE_DIRECT_CONNECTION_PATH,
102
+ },
103
+ },
104
+ ],
105
+ },
106
+ ],
107
+ },
108
+ },
109
+ ],
110
+ };
111
+ };
112
+ //# sourceMappingURL=V1_CubeDirectModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeDirectModel.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDirectModel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"V1_CubeEngineErrors.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,MAAM,EACZ,MAAM,wBAAwB,CAAC;AAgChC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,OAAO,EAChB,gBAAgB,MAAM,GAAG,SAAS,EAClC,MAAM,mBAAmB,KACxB,eAAe,GAAG,SAcpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,OAAO,EACd,gBAAgB,MAAM,GAAG,SAAS,EAClC,MAAM,mBAAmB,KACxB,eAuBF,CAAC"}
1
+ {"version":3,"file":"V1_CubeEngineErrors.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,eAAe,EACf,mBAAmB,EAEnB,KAAK,MAAM,EACZ,MAAM,wBAAwB,CAAC;AAuEhC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,OAAO,EAChB,gBAAgB,MAAM,GAAG,SAAS,EAClC,MAAM,mBAAmB,KACxB,eAAe,GAAG,SAepB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,OAAO,EACd,gBAAgB,MAAM,GAAG,SAAS,EAClC,MAAM,mBAAmB,KACxB,eAuBF,CAAC"}
@@ -21,6 +21,26 @@ import { V1_parseCubeSourceId } from './V1_CubeLambdaSerializer.js';
21
21
  // that node; plan-time, database and network errors carry no stamp, so they
22
22
  // go on the node being typed or run.
23
23
  const COMPILATION_ERROR_TYPES = new Set(['COMPILATION', 'PARSER']);
24
+ /**
25
+ * The engine's message when it can't fetch a pointer's project, e.g. a depot
26
+ * that is down or a version it doesn't have: HTML, with the URL it tried
27
+ */
28
+ const DEPOT_FAILURE = /unable to load information from the Pure SDLC(?: using: <a href='(?<url>[^']*)')?/u;
29
+ /** Where the source information says the error is, when it gives every line and column */
30
+ const readLocation = (sourceInformation) => {
31
+ const { sourceId, startLine, startColumn, endLine, endColumn } = sourceInformation;
32
+ const lines = [startLine, startColumn, endLine, endColumn];
33
+ return typeof sourceId === 'string' &&
34
+ lines.every((value) => Number.isInteger(Number(value)) && Number(value) > 0)
35
+ ? {
36
+ sourceId,
37
+ startLine: Number(startLine),
38
+ startColumn: Number(startColumn),
39
+ endLine: Number(endLine),
40
+ endColumn: Number(endColumn),
41
+ }
42
+ : undefined;
43
+ };
24
44
  /** The engine's error payload: `{message, errorType?, sourceInformation?, trace?}` */
25
45
  const readPayload = (payload) => {
26
46
  if (!payload || typeof payload !== 'object') {
@@ -30,13 +50,19 @@ const readPayload = (payload) => {
30
50
  if (typeof message !== 'string' || !message.trim()) {
31
51
  return undefined;
32
52
  }
33
- const sourceId = sourceInformation && typeof sourceInformation === 'object'
34
- ? sourceInformation.sourceId
53
+ const depotFailure = DEPOT_FAILURE.exec(message);
54
+ const located = sourceInformation && typeof sourceInformation === 'object'
55
+ ? sourceInformation
35
56
  : undefined;
57
+ const sourceId = located?.sourceId;
58
+ const location = located ? readLocation(located) : undefined;
36
59
  return {
37
- message,
60
+ message: depotFailure
61
+ ? `The engine couldn't load the cube's project from its depot${depotFailure.groups?.url ? ` (${depotFailure.groups.url})` : ''}: check that the version is published and the depot can be reached`
62
+ : message,
38
63
  ...(typeof errorType === 'string' ? { errorType } : {}),
39
64
  ...(typeof sourceId === 'string' ? { sourceId } : {}),
65
+ ...(location ? { location } : {}),
40
66
  };
41
67
  };
42
68
  /**
@@ -51,7 +77,7 @@ export const V1_buildCubeEngineError = (payload, fallbackNodeId, kind) => {
51
77
  const origin = V1_parseCubeSourceId(read.sourceId);
52
78
  return new CubeEngineError(read.errorType && COMPILATION_ERROR_TYPES.has(read.errorType)
53
79
  ? CubeEngineErrorKind.COMPILE
54
- : kind, read.message, origin?.nodeId ?? fallbackNodeId, origin?.role);
80
+ : kind, read.message, origin?.nodeId ?? fallbackNodeId, origin?.role, read.location);
55
81
  };
56
82
  /**
57
83
  * The error of a failed engine call: the engine's own message when it sent
@@ -1 +1 @@
1
- {"version":3,"file":"V1_CubeEngineErrors.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V1_CubeEngineErrors.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
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 { CubeParsedExpression } from '../../../CubeEngine.js';
17
+ /**
18
+ * An expression as the engine's lossless JSON gives it: located, as parsed,
19
+ * and as a column stores it, without source information. Anything but an
20
+ * object is the engine's mistake.
21
+ */
22
+ export declare const V1_readCubeExpression: (json: unknown) => CubeParsedExpression;
23
+ //# sourceMappingURL=V1_CubeExpression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeExpression.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAqDnE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,OAAO,KAAG,oBASrD,CAAC"}
@@ -0,0 +1,68 @@
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 { isJsonObject, } from '@finos/legend-cube';
17
+ // An Extend column's expression (PLAN §11.7) as the engine parses it, read
18
+ // losslessly: number literals keep their digits as strings, as Cube keeps
19
+ // literal values (PLAN §4.9), and the serializer writes them back as numbers.
20
+ const NUMBER_LITERAL_TYPES = [
21
+ 'integer',
22
+ 'float',
23
+ 'decimal',
24
+ ];
25
+ const isLosslessNumber = (value) => typeof value === 'object' &&
26
+ value !== null &&
27
+ value.isLosslessNumber === true;
28
+ /** The JSON with every lossless number a JS number, but a number literal's value its digit string */
29
+ const read = (json, inLiteral) => {
30
+ if (isLosslessNumber(json)) {
31
+ return inLiteral ? json.value : Number(json.value);
32
+ }
33
+ if (Array.isArray(json)) {
34
+ return json.map((item) => read(item, false));
35
+ }
36
+ if (typeof json === 'object' && json !== null) {
37
+ const literal = NUMBER_LITERAL_TYPES.includes(json._type);
38
+ return Object.fromEntries(Object.entries(json).map(([key, value]) => [
39
+ key,
40
+ read(value, literal && key === 'value'),
41
+ ]));
42
+ }
43
+ return json;
44
+ };
45
+ /** The JSON without any source information, at every depth */
46
+ const withoutSourceInformation = (json) => Array.isArray(json)
47
+ ? json.map(withoutSourceInformation)
48
+ : isJsonObject(json)
49
+ ? Object.fromEntries(Object.entries(json)
50
+ .filter(([key]) => key !== 'sourceInformation')
51
+ .map(([key, value]) => [key, withoutSourceInformation(value)]))
52
+ : json;
53
+ /**
54
+ * An expression as the engine's lossless JSON gives it: located, as parsed,
55
+ * and as a column stores it, without source information. Anything but an
56
+ * object is the engine's mistake.
57
+ */
58
+ export const V1_readCubeExpression = (json) => {
59
+ const located = read(json, false);
60
+ if (!isJsonObject(located)) {
61
+ throw new Error(`The engine parsed the expression as no object`);
62
+ }
63
+ return {
64
+ located,
65
+ lambda: withoutSourceInformation(located),
66
+ };
67
+ };
68
+ //# sourceMappingURL=V1_CubeExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeExpression.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeExpression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAG5B,2EAA2E;AAC3E,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,oBAAoB,GAAuB;IAC/C,SAAS;IACT,OAAO;IACP,SAAS;CACV,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,KAAc,EACsC,EAAE,CACtD,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACb,KAAwC,CAAC,gBAAgB,KAAK,IAAI,CAAC;AAEtE,qGAAqG;AACrG,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,SAAkB,EAAa,EAAE;IAC5D,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAC1C,IAA4B,CAAC,KAAK,CACpC,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACzC,GAAG;YACH,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC;SACxC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,IAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,wBAAwB,GAAG,CAAC,IAAe,EAAa,EAAE,CAC9D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACpC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACjB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,mBAAmB,CAAC;aAC9C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CACjE;QACH,CAAC,CAAC,IAAI,CAAC;AAEb;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAa,EAAwB,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO;QACL,OAAO;QACP,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAe;KACxD,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,30 @@
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 { PlainObject } from '@finos/legend-shared';
17
+ import { CubeIngestDataSet } from '../../../CubeIngestCatalog.js';
18
+ /** Why a data set can't be picked */
19
+ export declare const V1_CUBE_INGEST_DATA_SET_REASON: {
20
+ readonly MATERIALIZED_VIEW: "It is a materialized view, which Cube does not support yet";
21
+ readonly NO_COLUMNS: "It declares no columns";
22
+ readonly BAD_MULTIPLICITY: (column: string) => string;
23
+ readonly UNKNOWN_TYPE: (column: string, type: string) => string;
24
+ };
25
+ /**
26
+ * The data sets of an ingest definition's content (its protocol JSON), in
27
+ * order. Throws when the content can't be read at all.
28
+ */
29
+ export declare const V1_readCubeIngestDataSets: (content: PlainObject) => CubeIngestDataSet[];
30
+ //# sourceMappingURL=V1_CubeIngestDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"V1_CubeIngestDefinition.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAWlE,qCAAqC;AACrC,eAAO,MAAM,8BAA8B;;;wCAId,MAAM,KAAG,MAAM;oCAEnB,MAAM,QAAQ,MAAM,KAAG,MAAM;CAE5C,CAAC;AA6HX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,WAAW,KACnB,iBAAiB,EAYnB,CAAC"}