@finos/legend-cube-builder 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (609) hide show
  1. package/README.md +9 -3
  2. package/docs/adding-an-operation.md +22 -12
  3. package/docs/demo/DEMO-FAST-NOTES.md +67 -0
  4. package/docs/demo/README.md +102 -0
  5. package/docs/demo/specs/duckdb-sales-pivot.cube.json +110 -0
  6. package/docs/demo/specs/trades-desks-1-joined.cube.json +123 -0
  7. package/docs/demo/specs/trades-desks-2-grouped.cube.json +140 -0
  8. package/docs/demo/specs/trades-desks-3-ranked.cube.json +158 -0
  9. package/docs/demo/specs/trades-desks-4-extended.cube.json +208 -0
  10. package/docs/demo/specs/trades-desks-5-final.cube.json +248 -0
  11. package/docs/hosting.md +50 -3
  12. package/docs/testing.md +32 -0
  13. package/lib/__lib__/LegendCubeCommand.d.ts +2 -0
  14. package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
  15. package/lib/__lib__/LegendCubeCommand.js +7 -0
  16. package/lib/__lib__/LegendCubeCommand.js.map +1 -1
  17. package/lib/__lib__/LegendCubeFunctionLabels.d.ts +29 -0
  18. package/lib/__lib__/LegendCubeFunctionLabels.d.ts.map +1 -0
  19. package/lib/__lib__/LegendCubeFunctionLabels.js +31 -0
  20. package/lib/__lib__/LegendCubeFunctionLabels.js.map +1 -0
  21. package/lib/__lib__/LegendCubeHelpText.d.ts +5 -1
  22. package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
  23. package/lib/__lib__/LegendCubeHelpText.js +14 -2
  24. package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
  25. package/lib/__lib__/LegendCubeLabels.d.ts +100 -8
  26. package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
  27. package/lib/__lib__/LegendCubeLabels.js +129 -14
  28. package/lib/__lib__/LegendCubeLabels.js.map +1 -1
  29. package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts +26 -0
  30. package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts.map +1 -0
  31. package/lib/__lib__/LegendCubeProjectSourceLabels.js +26 -0
  32. package/lib/__lib__/LegendCubeProjectSourceLabels.js.map +1 -0
  33. package/lib/__lib__/LegendCubeServiceLabels.d.ts +27 -0
  34. package/lib/__lib__/LegendCubeServiceLabels.d.ts.map +1 -0
  35. package/lib/__lib__/LegendCubeServiceLabels.js +32 -0
  36. package/lib/__lib__/LegendCubeServiceLabels.js.map +1 -0
  37. package/lib/__lib__/LegendCubeTesting.d.ts +7 -0
  38. package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
  39. package/lib/__lib__/LegendCubeTesting.js +7 -0
  40. package/lib/__lib__/LegendCubeTesting.js.map +1 -1
  41. package/lib/__test-utils__/CubeEngineTestSupport.d.ts +1 -1
  42. package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
  43. package/lib/__test-utils__/CubeEngineTestSupport.js +2 -2
  44. package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
  45. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +8 -1
  46. package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -1
  47. package/lib/__test-utils__/CubeExpressionTestUtils.js +20 -3
  48. package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -1
  49. package/lib/__test-utils__/CubeFunctionTestOutline.d.ts +26 -0
  50. package/lib/__test-utils__/CubeFunctionTestOutline.d.ts.map +1 -0
  51. package/lib/__test-utils__/CubeFunctionTestOutline.js +56 -0
  52. package/lib/__test-utils__/CubeFunctionTestOutline.js.map +1 -0
  53. package/lib/__test-utils__/CubeLambdaCorpus.d.ts +36 -0
  54. package/lib/__test-utils__/CubeLambdaCorpus.d.ts.map +1 -0
  55. package/lib/__test-utils__/CubeLambdaCorpus.js +83 -0
  56. package/lib/__test-utils__/CubeLambdaCorpus.js.map +1 -0
  57. package/lib/__test-utils__/CubePageTestUtils.d.ts +6 -0
  58. package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
  59. package/lib/__test-utils__/CubePageTestUtils.js +21 -0
  60. package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
  61. package/lib/__test-utils__/CubeTestApplication.d.ts +9 -0
  62. package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
  63. package/lib/__test-utils__/CubeTestApplication.js +16 -0
  64. package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
  65. package/lib/__test-utils__/FakeCubeEngine.d.ts +5 -0
  66. package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
  67. package/lib/__test-utils__/FakeCubeEngine.js +17 -0
  68. package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
  69. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +7 -1
  70. package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -1
  71. package/lib/__test-utils__/FakeCubeIngestCatalog.js +16 -0
  72. package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -1
  73. package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts +26 -0
  74. package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts.map +1 -0
  75. package/lib/__test-utils__/FakeCubeServiceCatalog.js +40 -0
  76. package/lib/__test-utils__/FakeCubeServiceCatalog.js.map +1 -0
  77. package/lib/components/CubeAddItems.d.ts.map +1 -1
  78. package/lib/components/CubeAddItems.js +9 -6
  79. package/lib/components/CubeAddItems.js.map +1 -1
  80. package/lib/components/CubeDialogTheme.d.ts +25 -0
  81. package/lib/components/CubeDialogTheme.d.ts.map +1 -0
  82. package/lib/components/CubeDialogTheme.js +25 -0
  83. package/lib/components/CubeDialogTheme.js.map +1 -0
  84. package/lib/components/CubeEditor.d.ts +12 -1
  85. package/lib/components/CubeEditor.d.ts.map +1 -1
  86. package/lib/components/CubeEditor.js +16 -14
  87. package/lib/components/CubeEditor.js.map +1 -1
  88. package/lib/components/CubeFileMenu.d.ts +28 -0
  89. package/lib/components/CubeFileMenu.d.ts.map +1 -0
  90. package/lib/components/CubeFileMenu.js +77 -0
  91. package/lib/components/CubeFileMenu.js.map +1 -0
  92. package/lib/components/CubeLambdaImportBanner.d.ts +26 -0
  93. package/lib/components/CubeLambdaImportBanner.d.ts.map +1 -0
  94. package/lib/components/CubeLambdaImportBanner.js +47 -0
  95. package/lib/components/CubeLambdaImportBanner.js.map +1 -0
  96. package/lib/components/CubeNodeIcon.d.ts.map +1 -1
  97. package/lib/components/CubeNodeIcon.js +5 -1
  98. package/lib/components/CubeNodeIcon.js.map +1 -1
  99. package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -1
  100. package/lib/components/CubeSchemaColumnsTable.js +2 -2
  101. package/lib/components/CubeSchemaColumnsTable.js.map +1 -1
  102. package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
  103. package/lib/components/canvas/CubeCanvas.js +38 -5
  104. package/lib/components/canvas/CubeCanvas.js.map +1 -1
  105. package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
  106. package/lib/components/canvas/CubeCanvasContextMenu.js +2 -1
  107. package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
  108. package/lib/components/canvas/CubeCanvasElements.d.ts +18 -1
  109. package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
  110. package/lib/components/canvas/CubeCanvasElements.js +58 -3
  111. package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
  112. package/lib/components/canvas/CubeCanvasLayout.js +1 -1
  113. package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
  114. package/lib/components/canvas/CubeCanvasNode.js +8 -4
  115. package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
  116. package/lib/components/dev-settings/CubeDevSettings.d.ts +35 -0
  117. package/lib/components/dev-settings/CubeDevSettings.d.ts.map +1 -0
  118. package/lib/components/dev-settings/CubeDevSettings.js +50 -0
  119. package/lib/components/dev-settings/CubeDevSettings.js.map +1 -0
  120. package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -1
  121. package/lib/components/editors/CubeColumnChecklist.js +2 -2
  122. package/lib/components/editors/CubeColumnChecklist.js.map +1 -1
  123. package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
  124. package/lib/components/editors/CubeColumnPicker.js +3 -3
  125. package/lib/components/editors/CubeColumnPicker.js.map +1 -1
  126. package/lib/components/editors/CubeConcatEditor.js +2 -2
  127. package/lib/components/editors/CubeConcatEditor.js.map +1 -1
  128. package/lib/components/editors/CubeExpressionFilterEditor.d.ts +25 -0
  129. package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -0
  130. package/lib/components/editors/CubeExpressionFilterEditor.js +83 -0
  131. package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
  132. package/lib/components/editors/CubeExtendEditor.d.ts +2 -0
  133. package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -1
  134. package/lib/components/editors/CubeExtendEditor.js +3 -3
  135. package/lib/components/editors/CubeExtendEditor.js.map +1 -1
  136. package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
  137. package/lib/components/editors/CubeFilterEditor.js +13 -2
  138. package/lib/components/editors/CubeFilterEditor.js.map +1 -1
  139. package/lib/components/editors/CubeFunctionSourceEditor.d.ts +25 -0
  140. package/lib/components/editors/CubeFunctionSourceEditor.d.ts.map +1 -0
  141. package/lib/components/editors/CubeFunctionSourceEditor.js +55 -0
  142. package/lib/components/editors/CubeFunctionSourceEditor.js.map +1 -0
  143. package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
  144. package/lib/components/editors/CubeJoinEditor.js +16 -4
  145. package/lib/components/editors/CubeJoinEditor.js.map +1 -1
  146. package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
  147. package/lib/components/editors/CubeNodeEditorPanel.js +18 -8
  148. package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
  149. package/lib/components/editors/CubeNodeEditorPopper.d.ts +5 -1
  150. package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -1
  151. package/lib/components/editors/CubeNodeEditorPopper.js +10 -2
  152. package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -1
  153. package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
  154. package/lib/components/editors/CubeNodeEditorRegistry.js +9 -1
  155. package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
  156. package/lib/components/editors/CubePivotEditor.d.ts +26 -0
  157. package/lib/components/editors/CubePivotEditor.d.ts.map +1 -0
  158. package/lib/components/editors/CubePivotEditor.js +93 -0
  159. package/lib/components/editors/CubePivotEditor.js.map +1 -0
  160. package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -1
  161. package/lib/components/editors/CubeRestrictEditor.js +2 -2
  162. package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
  163. package/lib/components/editors/CubeServiceSourceEditor.d.ts +25 -0
  164. package/lib/components/editors/CubeServiceSourceEditor.d.ts.map +1 -0
  165. package/lib/components/editors/CubeServiceSourceEditor.js +41 -0
  166. package/lib/components/editors/CubeServiceSourceEditor.js.map +1 -0
  167. package/lib/components/grid/CubeColumnFormatDialog.d.ts +28 -0
  168. package/lib/components/grid/CubeColumnFormatDialog.d.ts.map +1 -0
  169. package/lib/components/grid/CubeColumnFormatDialog.js +94 -0
  170. package/lib/components/grid/CubeColumnFormatDialog.js.map +1 -0
  171. package/lib/components/grid/CubeDrilldownBar.d.ts +37 -0
  172. package/lib/components/grid/CubeDrilldownBar.d.ts.map +1 -0
  173. package/lib/components/grid/CubeDrilldownBar.js +77 -0
  174. package/lib/components/grid/CubeDrilldownBar.js.map +1 -0
  175. package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
  176. package/lib/components/grid/CubeGridRegion.js +40 -26
  177. package/lib/components/grid/CubeGridRegion.js.map +1 -1
  178. package/lib/components/grid/CubeGridValues.d.ts +31 -1
  179. package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
  180. package/lib/components/grid/CubeGridValues.js +108 -1
  181. package/lib/components/grid/CubeGridValues.js.map +1 -1
  182. package/lib/components/grid/CubeResultGrid.d.ts +68 -5
  183. package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
  184. package/lib/components/grid/CubeResultGrid.js +308 -35
  185. package/lib/components/grid/CubeResultGrid.js.map +1 -1
  186. package/lib/components/grid/CubeRunStatsPanel.d.ts +28 -0
  187. package/lib/components/grid/CubeRunStatsPanel.d.ts.map +1 -0
  188. package/lib/components/grid/CubeRunStatsPanel.js +61 -0
  189. package/lib/components/grid/CubeRunStatsPanel.js.map +1 -0
  190. package/lib/components/grid/CubeServerSideGrid.d.ts +36 -0
  191. package/lib/components/grid/CubeServerSideGrid.d.ts.map +1 -0
  192. package/lib/components/grid/CubeServerSideGrid.js +114 -0
  193. package/lib/components/grid/CubeServerSideGrid.js.map +1 -0
  194. package/lib/components/grid/CubeSqlDialog.d.ts +24 -0
  195. package/lib/components/grid/CubeSqlDialog.d.ts.map +1 -0
  196. package/lib/components/grid/CubeSqlDialog.js +39 -0
  197. package/lib/components/grid/CubeSqlDialog.js.map +1 -0
  198. package/lib/components/grid/CubeSqlFormat.d.ts +20 -0
  199. package/lib/components/grid/CubeSqlFormat.d.ts.map +1 -0
  200. package/lib/components/grid/CubeSqlFormat.js +32 -0
  201. package/lib/components/grid/CubeSqlFormat.js.map +1 -0
  202. package/lib/components/palette/CubePalette.d.ts.map +1 -1
  203. package/lib/components/palette/CubePalette.js +32 -13
  204. package/lib/components/palette/CubePalette.js.map +1 -1
  205. package/lib/components/show-pure/CubeShowPureDialog.d.ts +4 -1
  206. package/lib/components/show-pure/CubeShowPureDialog.d.ts.map +1 -1
  207. package/lib/components/show-pure/CubeShowPureDialog.js +8 -4
  208. package/lib/components/show-pure/CubeShowPureDialog.js.map +1 -1
  209. package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -1
  210. package/lib/components/source-picker/CubeDataProductTab.js +37 -16
  211. package/lib/components/source-picker/CubeDataProductTab.js.map +1 -1
  212. package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -1
  213. package/lib/components/source-picker/CubeDirectConnectionTab.js +6 -4
  214. package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -1
  215. package/lib/components/source-picker/CubeFunctionSteps.d.ts +36 -0
  216. package/lib/components/source-picker/CubeFunctionSteps.d.ts.map +1 -0
  217. package/lib/components/source-picker/CubeFunctionSteps.js +76 -0
  218. package/lib/components/source-picker/CubeFunctionSteps.js.map +1 -0
  219. package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -1
  220. package/lib/components/source-picker/CubeIngestTab.js +39 -16
  221. package/lib/components/source-picker/CubeIngestTab.js.map +1 -1
  222. package/lib/components/source-picker/CubeInlineModelTab.d.ts +3 -2
  223. package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -1
  224. package/lib/components/source-picker/CubeInlineModelTab.js +23 -13
  225. package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -1
  226. package/lib/components/source-picker/CubePickerListItem.d.ts +47 -0
  227. package/lib/components/source-picker/CubePickerListItem.d.ts.map +1 -0
  228. package/lib/components/source-picker/CubePickerListItem.js +62 -0
  229. package/lib/components/source-picker/CubePickerListItem.js.map +1 -0
  230. package/lib/components/source-picker/CubeProjectTab.d.ts +4 -3
  231. package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -1
  232. package/lib/components/source-picker/CubeProjectTab.js +7 -4
  233. package/lib/components/source-picker/CubeProjectTab.js.map +1 -1
  234. package/lib/components/source-picker/CubeServiceTab.d.ts +27 -0
  235. package/lib/components/source-picker/CubeServiceTab.d.ts.map +1 -0
  236. package/lib/components/source-picker/CubeServiceTab.js +36 -0
  237. package/lib/components/source-picker/CubeServiceTab.js.map +1 -0
  238. package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
  239. package/lib/components/source-picker/CubeSourcePicker.js +16 -3
  240. package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
  241. package/lib/components/source-picker/CubeTablePreview.d.ts +29 -0
  242. package/lib/components/source-picker/CubeTablePreview.d.ts.map +1 -0
  243. package/lib/components/source-picker/CubeTablePreview.js +10 -0
  244. package/lib/components/source-picker/CubeTablePreview.js.map +1 -0
  245. package/lib/components/spec-transfer/CubeImportPureDialog.d.ts +27 -0
  246. package/lib/components/spec-transfer/CubeImportPureDialog.d.ts.map +1 -0
  247. package/lib/components/spec-transfer/CubeImportPureDialog.js +38 -0
  248. package/lib/components/spec-transfer/CubeImportPureDialog.js.map +1 -0
  249. package/lib/components/spec-transfer/CubeSpecTransferDialog.d.ts.map +1 -1
  250. package/lib/components/spec-transfer/CubeSpecTransferDialog.js +9 -3
  251. package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
  252. package/lib/graph-manager/CubeDataProductCatalog.d.ts +10 -0
  253. package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -1
  254. package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -1
  255. package/lib/graph-manager/CubeEngine.d.ts +46 -1
  256. package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
  257. package/lib/graph-manager/CubeEngine.js.map +1 -1
  258. package/lib/graph-manager/CubeEngineClientSettings.d.ts +43 -0
  259. package/lib/graph-manager/CubeEngineClientSettings.d.ts.map +1 -0
  260. package/lib/graph-manager/CubeEngineClientSettings.js +51 -0
  261. package/lib/graph-manager/CubeEngineClientSettings.js.map +1 -0
  262. package/lib/graph-manager/CubeIngest.d.ts +5 -0
  263. package/lib/graph-manager/CubeIngest.d.ts.map +1 -1
  264. package/lib/graph-manager/CubeIngest.js +10 -0
  265. package/lib/graph-manager/CubeIngest.js.map +1 -1
  266. package/lib/graph-manager/CubeIngestCatalog.d.ts +26 -0
  267. package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -1
  268. package/lib/graph-manager/CubeIngestCatalog.js +6 -0
  269. package/lib/graph-manager/CubeIngestCatalog.js.map +1 -1
  270. package/lib/graph-manager/CubeLakehouseRuntime.d.ts +29 -0
  271. package/lib/graph-manager/CubeLakehouseRuntime.d.ts.map +1 -0
  272. package/lib/graph-manager/CubeLakehouseRuntime.js +40 -0
  273. package/lib/graph-manager/CubeLakehouseRuntime.js.map +1 -0
  274. package/lib/graph-manager/CubeProjectCatalog.d.ts +3 -3
  275. package/lib/graph-manager/CubeService.d.ts +20 -0
  276. package/lib/graph-manager/CubeService.d.ts.map +1 -0
  277. package/lib/graph-manager/CubeService.js +22 -0
  278. package/lib/graph-manager/CubeService.js.map +1 -0
  279. package/lib/graph-manager/CubeServiceCatalog.d.ts +31 -0
  280. package/lib/graph-manager/CubeServiceCatalog.d.ts.map +1 -0
  281. package/lib/graph-manager/CubeServiceCatalog.js +17 -0
  282. package/lib/graph-manager/CubeServiceCatalog.js.map +1 -0
  283. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +52 -5
  284. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
  285. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +63 -5
  286. package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
  287. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +9 -6
  288. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -1
  289. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +12 -8
  290. package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -1
  291. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts +30 -0
  292. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts.map +1 -0
  293. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js +229 -0
  294. package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js.map +1 -0
  295. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -1
  296. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +18 -9
  297. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -1
  298. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +4 -9
  299. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -1
  300. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +2 -1
  301. package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -1
  302. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts +34 -0
  303. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts.map +1 -0
  304. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js +332 -0
  305. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js.map +1 -0
  306. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
  307. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +49 -10
  308. package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
  309. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts +1 -1
  310. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts.map +1 -1
  311. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +3 -1
  312. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
  313. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +2 -1
  314. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -1
  315. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +2 -1
  316. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -1
  317. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +18 -0
  318. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
  319. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +74 -6
  320. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
  321. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -1
  322. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +7 -4
  323. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -1
  324. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts +31 -0
  325. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts.map +1 -0
  326. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js +69 -0
  327. package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js.map +1 -0
  328. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
  329. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +6 -2
  330. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
  331. package/lib/index.css +2 -2
  332. package/lib/index.css.map +1 -1
  333. package/lib/index.d.ts +12 -3
  334. package/lib/index.d.ts.map +1 -1
  335. package/lib/index.js +10 -1
  336. package/lib/index.js.map +1 -1
  337. package/lib/stores/CubeAddPlacement.d.ts +10 -3
  338. package/lib/stores/CubeAddPlacement.d.ts.map +1 -1
  339. package/lib/stores/CubeAddPlacement.js +16 -5
  340. package/lib/stores/CubeAddPlacement.js.map +1 -1
  341. package/lib/stores/CubeDevSettingsState.d.ts +47 -0
  342. package/lib/stores/CubeDevSettingsState.d.ts.map +1 -0
  343. package/lib/stores/CubeDevSettingsState.js +99 -0
  344. package/lib/stores/CubeDevSettingsState.js.map +1 -0
  345. package/lib/stores/CubeEditorState.d.ts +173 -43
  346. package/lib/stores/CubeEditorState.d.ts.map +1 -1
  347. package/lib/stores/CubeEditorState.js +498 -113
  348. package/lib/stores/CubeEditorState.js.map +1 -1
  349. package/lib/stores/CubeEngineChecks.d.ts +59 -0
  350. package/lib/stores/CubeEngineChecks.d.ts.map +1 -0
  351. package/lib/stores/CubeEngineChecks.js +100 -0
  352. package/lib/stores/CubeEngineChecks.js.map +1 -0
  353. package/lib/stores/CubeExamples.d.ts.map +1 -1
  354. package/lib/stores/CubeExamples.js +39 -2
  355. package/lib/stores/CubeExamples.js.map +1 -1
  356. package/lib/stores/CubeExamplesState.d.ts +1 -1
  357. package/lib/stores/CubeExamplesState.d.ts.map +1 -1
  358. package/lib/stores/CubeExamplesState.js +2 -2
  359. package/lib/stores/CubeExamplesState.js.map +1 -1
  360. package/lib/stores/CubeExecutionState.d.ts.map +1 -1
  361. package/lib/stores/CubeExecutionState.js +24 -33
  362. package/lib/stores/CubeExecutionState.js.map +1 -1
  363. package/lib/stores/CubeExportState.d.ts +41 -0
  364. package/lib/stores/CubeExportState.d.ts.map +1 -0
  365. package/lib/stores/CubeExportState.js +134 -0
  366. package/lib/stores/CubeExportState.js.map +1 -0
  367. package/lib/stores/CubeExpressionFilterCheck.d.ts +51 -0
  368. package/lib/stores/CubeExpressionFilterCheck.d.ts.map +1 -0
  369. package/lib/stores/CubeExpressionFilterCheck.js +134 -0
  370. package/lib/stores/CubeExpressionFilterCheck.js.map +1 -0
  371. package/lib/stores/CubeExtendTyping.d.ts +6 -14
  372. package/lib/stores/CubeExtendTyping.d.ts.map +1 -1
  373. package/lib/stores/CubeExtendTyping.js +6 -33
  374. package/lib/stores/CubeExtendTyping.js.map +1 -1
  375. package/lib/stores/CubeFunctionRecheck.d.ts +30 -0
  376. package/lib/stores/CubeFunctionRecheck.d.ts.map +1 -0
  377. package/lib/stores/CubeFunctionRecheck.js +67 -0
  378. package/lib/stores/CubeFunctionRecheck.js.map +1 -0
  379. package/lib/stores/CubeGridFetcher.d.ts +75 -0
  380. package/lib/stores/CubeGridFetcher.d.ts.map +1 -0
  381. package/lib/stores/CubeGridFetcher.js +197 -0
  382. package/lib/stores/CubeGridFetcher.js.map +1 -0
  383. package/lib/stores/CubeGridQuickActions.d.ts +18 -6
  384. package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
  385. package/lib/stores/CubeGridQuickActions.js +32 -12
  386. package/lib/stores/CubeGridQuickActions.js.map +1 -1
  387. package/lib/stores/CubeGridState.d.ts +136 -0
  388. package/lib/stores/CubeGridState.d.ts.map +1 -0
  389. package/lib/stores/CubeGridState.js +317 -0
  390. package/lib/stores/CubeGridState.js.map +1 -0
  391. package/lib/stores/CubeHost.d.ts +42 -0
  392. package/lib/stores/CubeHost.d.ts.map +1 -1
  393. package/lib/stores/CubeHost.js +4 -0
  394. package/lib/stores/CubeHost.js.map +1 -1
  395. package/lib/stores/CubeLambdaImportState.d.ts +118 -0
  396. package/lib/stores/CubeLambdaImportState.d.ts.map +1 -0
  397. package/lib/stores/CubeLambdaImportState.js +302 -0
  398. package/lib/stores/CubeLambdaImportState.js.map +1 -0
  399. package/lib/stores/CubeLambdaSources.d.ts +45 -0
  400. package/lib/stores/CubeLambdaSources.d.ts.map +1 -0
  401. package/lib/stores/CubeLambdaSources.js +261 -0
  402. package/lib/stores/CubeLambdaSources.js.map +1 -0
  403. package/lib/stores/CubeQueryRun.d.ts +59 -0
  404. package/lib/stores/CubeQueryRun.d.ts.map +1 -0
  405. package/lib/stores/CubeQueryRun.js +101 -0
  406. package/lib/stores/CubeQueryRun.js.map +1 -0
  407. package/lib/stores/CubeRunStatsState.d.ts +61 -0
  408. package/lib/stores/CubeRunStatsState.d.ts.map +1 -0
  409. package/lib/stores/CubeRunStatsState.js +54 -0
  410. package/lib/stores/CubeRunStatsState.js.map +1 -0
  411. package/lib/stores/CubeRunningStepLambda.d.ts +25 -0
  412. package/lib/stores/CubeRunningStepLambda.d.ts.map +1 -0
  413. package/lib/stores/CubeRunningStepLambda.js +45 -0
  414. package/lib/stores/CubeRunningStepLambda.js.map +1 -0
  415. package/lib/stores/CubeServiceRecheck.d.ts +29 -0
  416. package/lib/stores/CubeServiceRecheck.d.ts.map +1 -0
  417. package/lib/stores/CubeServiceRecheck.js +33 -0
  418. package/lib/stores/CubeServiceRecheck.js.map +1 -0
  419. package/lib/stores/CubeShowPureState.d.ts +14 -1
  420. package/lib/stores/CubeShowPureState.d.ts.map +1 -1
  421. package/lib/stores/CubeShowPureState.js +41 -11
  422. package/lib/stores/CubeShowPureState.js.map +1 -1
  423. package/lib/stores/CubeSourcePickerState.d.ts +20 -4
  424. package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
  425. package/lib/stores/CubeSourcePickerState.js +75 -14
  426. package/lib/stores/CubeSourcePickerState.js.map +1 -1
  427. package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
  428. package/lib/stores/LocalModelCatalog.js +3 -1
  429. package/lib/stores/LocalModelCatalog.js.map +1 -1
  430. package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +91 -0
  431. package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
  432. package/lib/stores/editors/CubeExpressionFilterDraft.js +254 -0
  433. package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
  434. package/lib/stores/editors/CubeFunctionDraft.d.ts +34 -0
  435. package/lib/stores/editors/CubeFunctionDraft.d.ts.map +1 -0
  436. package/lib/stores/editors/CubeFunctionDraft.js +69 -0
  437. package/lib/stores/editors/CubeFunctionDraft.js.map +1 -0
  438. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +4 -2
  439. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
  440. package/lib/stores/editors/CubeNodeDraftRegistry.js +20 -3
  441. package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
  442. package/lib/stores/editors/CubePivotDraft.d.ts +93 -0
  443. package/lib/stores/editors/CubePivotDraft.d.ts.map +1 -0
  444. package/lib/stores/editors/CubePivotDraft.js +267 -0
  445. package/lib/stores/editors/CubePivotDraft.js.map +1 -0
  446. package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts +26 -0
  447. package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
  448. package/lib/stores/fixtures/CubeSalesDuckDbModel.js +46 -0
  449. package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
  450. package/lib/stores/fixtures/CubeTradesModel.d.ts +4 -0
  451. package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -1
  452. package/lib/stores/fixtures/CubeTradesModel.js +31 -1
  453. package/lib/stores/fixtures/CubeTradesModel.js.map +1 -1
  454. package/lib/stores/source-picker/CubeDataProductTabState.d.ts +34 -5
  455. package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -1
  456. package/lib/stores/source-picker/CubeDataProductTabState.js +111 -26
  457. package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -1
  458. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +25 -2
  459. package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -1
  460. package/lib/stores/source-picker/CubeDirectConnectionTabState.js +183 -31
  461. package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -1
  462. package/lib/stores/source-picker/CubeIngestTabState.d.ts +22 -9
  463. package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -1
  464. package/lib/stores/source-picker/CubeIngestTabState.js +84 -29
  465. package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -1
  466. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +100 -4
  467. package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -1
  468. package/lib/stores/source-picker/CubeInlineModelTabState.js +415 -28
  469. package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -1
  470. package/lib/stores/source-picker/CubeProjectTabState.d.ts +18 -3
  471. package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -1
  472. package/lib/stores/source-picker/CubeProjectTabState.js +26 -1
  473. package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -1
  474. package/lib/stores/source-picker/CubeServiceTabState.d.ts +74 -0
  475. package/lib/stores/source-picker/CubeServiceTabState.d.ts.map +1 -0
  476. package/lib/stores/source-picker/CubeServiceTabState.js +216 -0
  477. package/lib/stores/source-picker/CubeServiceTabState.js.map +1 -0
  478. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +15 -3
  479. package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -1
  480. package/lib/stores/source-picker/CubeSourcePickerTab.js +21 -0
  481. package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -1
  482. package/package.json +10 -9
  483. package/src/__lib__/LegendCubeCommand.ts +7 -0
  484. package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
  485. package/src/__lib__/LegendCubeHelpText.ts +23 -1
  486. package/src/__lib__/LegendCubeLabels.ts +170 -13
  487. package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
  488. package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
  489. package/src/__lib__/LegendCubeTesting.ts +7 -0
  490. package/src/__test-utils__/CubeEngineTestSupport.ts +2 -1
  491. package/src/__test-utils__/CubeExpressionTestUtils.ts +29 -2
  492. package/src/__test-utils__/CubeFunctionTestOutline.ts +78 -0
  493. package/src/__test-utils__/CubeLambdaCorpus.ts +137 -0
  494. package/src/__test-utils__/CubePageTestUtils.tsx +34 -0
  495. package/src/__test-utils__/CubeTestApplication.ts +25 -0
  496. package/src/__test-utils__/FakeCubeEngine.ts +27 -0
  497. package/src/__test-utils__/FakeCubeIngestCatalog.ts +18 -0
  498. package/src/__test-utils__/FakeCubeServiceCatalog.ts +57 -0
  499. package/src/components/CubeAddItems.tsx +13 -6
  500. package/src/components/CubeDialogTheme.ts +25 -0
  501. package/src/components/CubeEditor.tsx +155 -129
  502. package/src/components/CubeFileMenu.tsx +127 -0
  503. package/src/components/CubeLambdaImportBanner.tsx +97 -0
  504. package/src/components/CubeNodeIcon.tsx +7 -0
  505. package/src/components/CubeSchemaColumnsTable.tsx +7 -2
  506. package/src/components/canvas/CubeCanvas.tsx +52 -13
  507. package/src/components/canvas/CubeCanvasContextMenu.tsx +33 -2
  508. package/src/components/canvas/CubeCanvasElements.ts +76 -3
  509. package/src/components/canvas/CubeCanvasLayout.ts +1 -1
  510. package/src/components/canvas/CubeCanvasNode.tsx +30 -3
  511. package/src/components/dev-settings/CubeDevSettings.tsx +154 -0
  512. package/src/components/editors/CubeColumnChecklist.tsx +8 -2
  513. package/src/components/editors/CubeColumnPicker.tsx +6 -3
  514. package/src/components/editors/CubeConcatEditor.tsx +2 -2
  515. package/src/components/editors/CubeExpressionFilterEditor.tsx +193 -0
  516. package/src/components/editors/CubeExtendEditor.tsx +3 -3
  517. package/src/components/editors/CubeFilterEditor.tsx +13 -1
  518. package/src/components/editors/CubeFunctionSourceEditor.tsx +140 -0
  519. package/src/components/editors/CubeJoinEditor.tsx +23 -4
  520. package/src/components/editors/CubeNodeEditorPanel.tsx +22 -10
  521. package/src/components/editors/CubeNodeEditorPopper.tsx +9 -1
  522. package/src/components/editors/CubeNodeEditorRegistry.ts +12 -0
  523. package/src/components/editors/CubePivotEditor.tsx +277 -0
  524. package/src/components/editors/CubeRestrictEditor.tsx +8 -2
  525. package/src/components/editors/CubeServiceSourceEditor.tsx +77 -0
  526. package/src/components/grid/CubeColumnFormatDialog.tsx +289 -0
  527. package/src/components/grid/CubeDrilldownBar.tsx +219 -0
  528. package/src/components/grid/CubeGridRegion.tsx +170 -54
  529. package/src/components/grid/CubeGridValues.ts +146 -1
  530. package/src/components/grid/CubeResultGrid.tsx +443 -41
  531. package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
  532. package/src/components/grid/CubeServerSideGrid.tsx +200 -0
  533. package/src/components/grid/CubeSqlDialog.tsx +90 -0
  534. package/src/components/grid/CubeSqlFormat.ts +37 -0
  535. package/src/components/palette/CubePalette.tsx +45 -12
  536. package/src/components/show-pure/CubeShowPureDialog.tsx +19 -5
  537. package/src/components/source-picker/CubeDataProductTab.tsx +169 -75
  538. package/src/components/source-picker/CubeDirectConnectionTab.tsx +42 -30
  539. package/src/components/source-picker/CubeFunctionSteps.tsx +244 -0
  540. package/src/components/source-picker/CubeIngestTab.tsx +159 -79
  541. package/src/components/source-picker/CubeInlineModelTab.tsx +110 -81
  542. package/src/components/source-picker/CubePickerListItem.tsx +118 -0
  543. package/src/components/source-picker/CubeProjectTab.tsx +6 -3
  544. package/src/components/source-picker/CubeServiceTab.tsx +151 -0
  545. package/src/components/source-picker/CubeSourcePicker.tsx +54 -18
  546. package/src/components/source-picker/CubeTablePreview.tsx +49 -0
  547. package/src/components/spec-transfer/CubeImportPureDialog.tsx +122 -0
  548. package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +21 -8
  549. package/src/graph-manager/CubeDataProductCatalog.ts +11 -0
  550. package/src/graph-manager/CubeEngine.ts +51 -1
  551. package/src/graph-manager/CubeEngineClientSettings.ts +64 -0
  552. package/src/graph-manager/CubeIngest.ts +15 -0
  553. package/src/graph-manager/CubeIngestCatalog.ts +33 -0
  554. package/src/graph-manager/CubeLakehouseRuntime.ts +43 -0
  555. package/src/graph-manager/CubeProjectCatalog.ts +3 -3
  556. package/src/graph-manager/CubeService.ts +29 -0
  557. package/src/graph-manager/CubeServiceCatalog.ts +35 -0
  558. package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +115 -5
  559. package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +13 -7
  560. package/src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts +312 -0
  561. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +35 -9
  562. package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +6 -15
  563. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.ts +471 -0
  564. package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +70 -15
  565. package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +3 -1
  566. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +7 -1
  567. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +122 -7
  568. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +9 -4
  569. package/src/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.ts +92 -0
  570. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +6 -1
  571. package/src/index.ts +32 -2
  572. package/src/stores/CubeAddPlacement.ts +25 -5
  573. package/src/stores/CubeDevSettingsState.ts +117 -0
  574. package/src/stores/CubeEditorState.ts +687 -197
  575. package/src/stores/CubeEngineChecks.ts +240 -0
  576. package/src/stores/CubeExamples.ts +70 -1
  577. package/src/stores/CubeExamplesState.ts +4 -2
  578. package/src/stores/CubeExecutionState.ts +26 -57
  579. package/src/stores/CubeExportState.ts +196 -0
  580. package/src/stores/CubeExpressionFilterCheck.ts +218 -0
  581. package/src/stores/CubeExtendTyping.ts +6 -46
  582. package/src/stores/CubeFunctionRecheck.ts +97 -0
  583. package/src/stores/CubeGridFetcher.ts +302 -0
  584. package/src/stores/CubeGridQuickActions.ts +33 -11
  585. package/src/stores/CubeGridState.ts +450 -0
  586. package/src/stores/CubeHost.ts +48 -0
  587. package/src/stores/CubeLambdaImportState.ts +434 -0
  588. package/src/stores/CubeLambdaSources.ts +390 -0
  589. package/src/stores/CubeQueryRun.ts +169 -0
  590. package/src/stores/CubeRunStatsState.ts +91 -0
  591. package/src/stores/CubeRunningStepLambda.ts +62 -0
  592. package/src/stores/CubeServiceRecheck.ts +53 -0
  593. package/src/stores/CubeShowPureState.ts +51 -12
  594. package/src/stores/CubeSourcePickerState.ts +89 -13
  595. package/src/stores/LocalModelCatalog.ts +6 -1
  596. package/src/stores/editors/CubeExpressionFilterDraft.ts +385 -0
  597. package/src/stores/editors/CubeFunctionDraft.ts +92 -0
  598. package/src/stores/editors/CubeNodeDraftRegistry.ts +27 -2
  599. package/src/stores/editors/CubePivotDraft.ts +355 -0
  600. package/src/stores/fixtures/CubeSalesDuckDbModel.ts +54 -0
  601. package/src/stores/fixtures/CubeTradesModel.ts +36 -1
  602. package/src/stores/source-picker/CubeDataProductTabState.ts +162 -35
  603. package/src/stores/source-picker/CubeDirectConnectionTabState.ts +246 -47
  604. package/src/stores/source-picker/CubeIngestTabState.ts +112 -38
  605. package/src/stores/source-picker/CubeInlineModelTabState.ts +514 -34
  606. package/src/stores/source-picker/CubeProjectTabState.ts +35 -3
  607. package/src/stores/source-picker/CubeServiceTabState.ts +288 -0
  608. package/src/stores/source-picker/CubeSourcePickerTab.ts +31 -2
  609. package/tsconfig.json +50 -0
@@ -0,0 +1,93 @@
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 LiteralValue, Pivot, type PivotAggregation, Schema } from '@finos/legend-cube';
17
+ import type { GeneratorFn } from '@finos/legend-shared';
18
+ import { type CubeResultValue } from '../../graph-manager/CubeEngine.js';
19
+ import type { CubeEditorState } from '../CubeEditorState.js';
20
+ import { CubeNodeDraft } from './CubeNodeDraft.js';
21
+ /** The pivot column's values the engine gave, in its order, and whether it had more */
22
+ export interface CubePivotLoadedValues {
23
+ readonly column: string;
24
+ readonly values: readonly LiteralValue[];
25
+ readonly more: boolean;
26
+ }
27
+ /**
28
+ * A value of the column's type from what the engine gave for a cell: a
29
+ * Boolean as itself, else its text read as the type, a date-time's date part
30
+ * for a StrictDate; `undefined` for an empty value, which can't be listed,
31
+ * or text that isn't one
32
+ */
33
+ export declare const toPivotValue: (cell: CubeResultValue, schema: Schema, column: string) => LiteralValue | undefined;
34
+ /**
35
+ * The Pivot editor's draft (PLAN §11.12): its row columns, ticked, kept in
36
+ * the input's order; its pivot column; its values, loaded from the engine and
37
+ * ticked, kept in the order the engine lists them; its aggregation. Picking
38
+ * another pivot column drops the values, which were the other column's;
39
+ * Count rows takes no column, the other functions one.
40
+ */
41
+ export declare class CubePivotDraft extends CubeNodeDraft<Pivot> {
42
+ readonly editorState: CubeEditorState;
43
+ rows: readonly string[];
44
+ column: string;
45
+ values: readonly LiteralValue[];
46
+ aggregation: PivotAggregation;
47
+ /** The values the engine gave for the pivot column, once loaded */
48
+ loaded: CubePivotLoadedValues | undefined;
49
+ loading: boolean;
50
+ /** Why the values couldn't be loaded */
51
+ loadError: string | undefined;
52
+ /** The load on its way, for this pivot column; picking another abandons it */
53
+ private load;
54
+ /** Anything was changed; until then, `build()` gives the original back */
55
+ private touched;
56
+ constructor(original: Pivot, editorState: CubeEditorState);
57
+ toggleRow(name: string, schema: Schema): void;
58
+ clearRows(): void;
59
+ /**
60
+ * Picks the pivot column; another column's values, picked or loaded, are
61
+ * dropped, and a load on its way for it is abandoned, so its values never
62
+ * show under this one
63
+ */
64
+ setColumn(column: string): void;
65
+ /** Values in the order the engine listed them, then those it didn't list, as they were */
66
+ private ordered;
67
+ /** Ticks or unticks a value */
68
+ toggleValue(value: LiteralValue): void;
69
+ /**
70
+ * Why a value can't be ticked, given those ticked: its text can't name a
71
+ * column (`isValidColumnName`), another ticked value differs from it only in
72
+ * case, or `PIVOT_MAX_VALUES` are ticked already (the core refuses each,
73
+ * PLAN §11.12); `undefined` when it can, or is ticked
74
+ */
75
+ untickableReason(value: LiteralValue, ticked?: readonly LiteralValue[]): string | undefined;
76
+ /** Ticks every value loaded that can be, in the engine's order, keeping those picked */
77
+ pickAllValues(): void;
78
+ clearValues(): void;
79
+ /** Picks the function: Count rows takes no column; another function keeps one, or one to pick */
80
+ setFunction(fn: string): void;
81
+ setAggregationColumn(column: string): void;
82
+ /**
83
+ * Asks the engine for the pivot column's values (PLAN §11.12): the input's
84
+ * relation, the column alone, its non-empty values (an empty value can't be
85
+ * listed, and would take the row that tells whether there are more), each
86
+ * once, ascending, at most `PIVOT_MAX_VALUES`, run on the cube's runtime as a
87
+ * run is, written for its database. A load abandoned for another pivot
88
+ * column (`setColumn`) leaves the draft alone.
89
+ */
90
+ loadValues(): GeneratorFn<void>;
91
+ build(): Pivot;
92
+ }
93
+ //# sourceMappingURL=CubePivotDraft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubePivotDraft.d.ts","sourceRoot":"","sources":["../../../src/stores/editors/CubePivotDraft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EASL,KAAK,YAAY,EAEjB,KAAK,EACL,KAAK,gBAAgB,EAGrB,MAAM,EAIP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,uFAAuF;AACvF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAKD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACvB,MAAM,eAAe,EACrB,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,YAAY,GAAG,SAcjB,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,aAAa,CAAC,KAAK,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,mEAAmE;IACnE,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC1C,OAAO,UAAS;IAChB,wCAAwC;IACxC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,8EAA8E;IAC9E,OAAO,CAAC,IAAI,CAEE;IACd,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe;IA4BzD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAK7C,SAAS,IAAI,IAAI;IAKjB;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc/B,0FAA0F;IAC1F,OAAO,CAAC,OAAO;IAQf,+BAA+B;IAC/B,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAStC;;;;;OAKG;IACH,gBAAgB,CACd,KAAK,EAAE,YAAY,EACnB,MAAM,GAAE,SAAS,YAAY,EAAgB,GAC5C,MAAM,GAAG,SAAS;IAgBrB,wFAAwF;IACxF,aAAa,IAAI,IAAI;IAcrB,WAAW,IAAI,IAAI;IAKnB,iGAAiG;IACjG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU7B,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1C;;;;;;;OAOG;IACF,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC;IA0EhC,KAAK,IAAI,KAAK;CAuBf"}
@@ -0,0 +1,267 @@
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 { AggregationFunction, ColumnComparisonFilter, Distinct, Filter, FilterOperator, foldColumnName, getLiteralText, isValidColumnName, parseValue, Pivot, PIVOT_MAX_VALUES, Restrict, Schema, Sort, SortDirection, TypeFamily, } from '@finos/legend-cube';
17
+ import { action, flow, makeObservable, observable } from 'mobx';
18
+ import { CubeEngineError, } from '../../graph-manager/CubeEngine.js';
19
+ import { runCubeQuery } from '../CubeQueryRun.js';
20
+ import { CUBE_RUN_LABEL, PIVOT_VALUE_DISABLED_REASON, } from '../../__lib__/LegendCubeLabels.js';
21
+ import { isSameList, toggledColumns } from './CubeAggregationRows.js';
22
+ import { CubeNodeDraft } from './CubeNodeDraft.js';
23
+ const sameValue = (a, b) => a.kind === b.kind && a.value === b.value;
24
+ /**
25
+ * A value of the column's type from what the engine gave for a cell: a
26
+ * Boolean as itself, else its text read as the type, a date-time's date part
27
+ * for a StrictDate; `undefined` for an empty value, which can't be listed,
28
+ * or text that isn't one
29
+ */
30
+ export const toPivotValue = (cell, schema, column) => {
31
+ const type = schema.type(column);
32
+ if (cell === null || !type) {
33
+ return undefined;
34
+ }
35
+ if (typeof cell === 'boolean') {
36
+ return { kind: 'boolean', value: cell };
37
+ }
38
+ const text = type.family === TypeFamily.STRICT_DATE
39
+ ? String(cell).slice(0, 10)
40
+ : String(cell);
41
+ const value = parseValue(text, type);
42
+ return value === undefined || value.kind === 'invalid' ? undefined : value;
43
+ };
44
+ /**
45
+ * The Pivot editor's draft (PLAN §11.12): its row columns, ticked, kept in
46
+ * the input's order; its pivot column; its values, loaded from the engine and
47
+ * ticked, kept in the order the engine lists them; its aggregation. Picking
48
+ * another pivot column drops the values, which were the other column's;
49
+ * Count rows takes no column, the other functions one.
50
+ */
51
+ export class CubePivotDraft extends CubeNodeDraft {
52
+ editorState;
53
+ rows;
54
+ column;
55
+ values;
56
+ aggregation;
57
+ /** The values the engine gave for the pivot column, once loaded */
58
+ loaded;
59
+ loading = false;
60
+ /** Why the values couldn't be loaded */
61
+ loadError;
62
+ /** The load on its way, for this pivot column; picking another abandons it */
63
+ load;
64
+ /** Anything was changed; until then, `build()` gives the original back */
65
+ touched = false;
66
+ constructor(original, editorState) {
67
+ super(original);
68
+ makeObservable(this, {
69
+ rows: observable.ref,
70
+ column: observable,
71
+ values: observable.ref,
72
+ aggregation: observable.ref,
73
+ loaded: observable.ref,
74
+ loading: observable,
75
+ loadError: observable,
76
+ touched: observable,
77
+ toggleRow: action,
78
+ clearRows: action,
79
+ setColumn: action,
80
+ toggleValue: action,
81
+ pickAllValues: action,
82
+ clearValues: action,
83
+ setFunction: action,
84
+ setAggregationColumn: action,
85
+ loadValues: flow,
86
+ });
87
+ this.editorState = editorState;
88
+ this.rows = original.rows;
89
+ this.column = original.column;
90
+ this.values = original.values;
91
+ this.aggregation = original.aggregation;
92
+ }
93
+ toggleRow(name, schema) {
94
+ this.rows = toggledColumns(this.rows, name, schema);
95
+ this.touched = true;
96
+ }
97
+ clearRows() {
98
+ this.rows = [];
99
+ this.touched = true;
100
+ }
101
+ /**
102
+ * Picks the pivot column; another column's values, picked or loaded, are
103
+ * dropped, and a load on its way for it is abandoned, so its values never
104
+ * show under this one
105
+ */
106
+ setColumn(column) {
107
+ if (column === this.column) {
108
+ return;
109
+ }
110
+ this.column = column;
111
+ this.values = [];
112
+ this.loaded = undefined;
113
+ this.loadError = undefined;
114
+ this.load?.abortController.abort();
115
+ this.load = undefined;
116
+ this.loading = false;
117
+ this.touched = true;
118
+ }
119
+ /** Values in the order the engine listed them, then those it didn't list, as they were */
120
+ ordered(values) {
121
+ const listed = this.loaded?.values ?? [];
122
+ return [
123
+ ...listed.filter((value) => values.some((v) => sameValue(v, value))),
124
+ ...values.filter((value) => !listed.some((v) => sameValue(v, value))),
125
+ ];
126
+ }
127
+ /** Ticks or unticks a value */
128
+ toggleValue(value) {
129
+ this.values = this.ordered(this.values.some((picked) => sameValue(picked, value))
130
+ ? this.values.filter((picked) => !sameValue(picked, value))
131
+ : [...this.values, value]);
132
+ this.touched = true;
133
+ }
134
+ /**
135
+ * Why a value can't be ticked, given those ticked: its text can't name a
136
+ * column (`isValidColumnName`), another ticked value differs from it only in
137
+ * case, or `PIVOT_MAX_VALUES` are ticked already (the core refuses each,
138
+ * PLAN §11.12); `undefined` when it can, or is ticked
139
+ */
140
+ untickableReason(value, ticked = this.values) {
141
+ const text = getLiteralText(value);
142
+ return !isValidColumnName(text)
143
+ ? PIVOT_VALUE_DISABLED_REASON.NOT_A_COLUMN_NAME
144
+ : ticked.some((other) => !sameValue(other, value) &&
145
+ foldColumnName(getLiteralText(other)) === foldColumnName(text))
146
+ ? PIVOT_VALUE_DISABLED_REASON.DIFFERS_ONLY_IN_CASE
147
+ : ticked.length >= PIVOT_MAX_VALUES &&
148
+ !ticked.some((other) => sameValue(other, value))
149
+ ? PIVOT_VALUE_DISABLED_REASON.TOO_MANY
150
+ : undefined;
151
+ }
152
+ /** Ticks every value loaded that can be, in the engine's order, keeping those picked */
153
+ pickAllValues() {
154
+ this.values = this.ordered((this.loaded?.values ?? []).reduce((ticked, value) => ticked.some((picked) => sameValue(picked, value)) ||
155
+ this.untickableReason(value, ticked) !== undefined
156
+ ? ticked
157
+ : [...ticked, value], this.values));
158
+ this.touched = true;
159
+ }
160
+ clearValues() {
161
+ this.values = [];
162
+ this.touched = true;
163
+ }
164
+ /** Picks the function: Count rows takes no column; another function keeps one, or one to pick */
165
+ setFunction(fn) {
166
+ const { column } = this.aggregation;
167
+ this.aggregation = {
168
+ function: fn,
169
+ column: fn === AggregationFunction.COUNT_ROWS ? undefined : (column ?? ''),
170
+ };
171
+ this.touched = true;
172
+ }
173
+ setAggregationColumn(column) {
174
+ this.aggregation = { ...this.aggregation, column };
175
+ this.touched = true;
176
+ }
177
+ /**
178
+ * Asks the engine for the pivot column's values (PLAN §11.12): the input's
179
+ * relation, the column alone, its non-empty values (an empty value can't be
180
+ * listed, and would take the row that tells whether there are more), each
181
+ * once, ascending, at most `PIVOT_MAX_VALUES`, run on the cube's runtime as a
182
+ * run is, written for its database. A load abandoned for another pivot
183
+ * column (`setColumn`) leaves the draft alone.
184
+ */
185
+ *loadValues() {
186
+ const { editorState, column } = this;
187
+ const { context, query } = editorState.document;
188
+ const [inputId] = query.getInputIds(this.original.id);
189
+ const input = inputId === undefined
190
+ ? undefined
191
+ : editorState.analysis.schemas.get(inputId);
192
+ const pivotColumn = column ? input?.lookup(column) : undefined;
193
+ if (this.loading ||
194
+ context?.runtime === undefined ||
195
+ inputId === undefined ||
196
+ !input ||
197
+ !pivotColumn) {
198
+ return;
199
+ }
200
+ const load = { column, abortController: new AbortController() };
201
+ this.load = load;
202
+ this.loading = true;
203
+ this.loadError = undefined;
204
+ try {
205
+ const restrict = new Restrict(query.generateId(Restrict.TYPE), [column]);
206
+ const nonEmpty = new Filter(query.generateId(Filter.TYPE), new ColumnComparisonFilter(column, FilterOperator.IS_NOT_EMPTY));
207
+ const distinct = new Distinct(query.generateId(Distinct.TYPE));
208
+ const sort = new Sort(query.generateId(Sort.TYPE), [
209
+ { column, direction: SortDirection.ASC },
210
+ ]);
211
+ // each after the one before, off the pivot's input, the last selected
212
+ // (an add after the selected node selects it); the query isn't kept
213
+ const values = [restrict, nonEmpty, distinct, sort].reduce((built, node) => built.add(node, built.selected), query.selected === inputId ? query : query.select(inputId));
214
+ const result = (yield runCubeQuery(editorState, {
215
+ query: values,
216
+ model: context.model,
217
+ runtime: context.runtime,
218
+ schema: new Schema([pivotColumn]),
219
+ rowLimit: PIVOT_MAX_VALUES,
220
+ abortController: load.abortController,
221
+ label: CUBE_RUN_LABEL.pivotValues(column),
222
+ }));
223
+ if (this.load !== load) {
224
+ return;
225
+ }
226
+ this.loaded = {
227
+ column,
228
+ values: result.rows
229
+ .map((row) => toPivotValue(row[0] ?? null, input, column))
230
+ .filter((value) => value !== undefined),
231
+ more: result.limited,
232
+ };
233
+ }
234
+ catch (error) {
235
+ if (this.load === load) {
236
+ this.loadError =
237
+ error instanceof CubeEngineError
238
+ ? error.firstLine
239
+ : error instanceof Error
240
+ ? error.message
241
+ : String(error);
242
+ }
243
+ }
244
+ finally {
245
+ if (this.load === load) {
246
+ this.load = undefined;
247
+ this.loading = false;
248
+ }
249
+ }
250
+ }
251
+ build() {
252
+ const { original, rows, column, values, aggregation } = this;
253
+ const unchanged = isSameList(rows, original.rows) &&
254
+ column === original.column &&
255
+ values.length === original.values.length &&
256
+ values.every((value, index) => {
257
+ const saved = original.values[index];
258
+ return saved !== undefined && sameValue(saved, value);
259
+ }) &&
260
+ aggregation.function === original.aggregation.function &&
261
+ aggregation.column === original.aggregation.column;
262
+ return !this.touched || unchanged
263
+ ? original
264
+ : new Pivot(original.id, rows, column, values, aggregation, original.rest);
265
+ }
266
+ }
267
+ //# sourceMappingURL=CubePivotDraft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubePivotDraft.js","sourceRoot":"","sources":["../../../src/stores/editors/CubePivotDraft.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) 2026-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { ModelContext } from '@finos/legend-cube';
17
+ /** The setup SQL that makes the table, one statement an entry */
18
+ export declare const CUBE_SALES_SETUP_SQLS: readonly string[];
19
+ /** The model of a Sales cube: an in-memory DuckDB connection with its setup SQL */
20
+ export declare const CUBE_SALES_MODEL: ModelContext;
21
+ export declare const CUBE_SALES_RUNTIME = "cube::direct::Runtime";
22
+ export declare const CUBE_SALES_DATABASE = "cube::direct::Database";
23
+ /** As a direct connection's coordinates store a name: quoted */
24
+ export declare const CUBE_SALES_SCHEMA = "\"demo\"";
25
+ export declare const CUBE_SALES_TABLE = "\"sales\"";
26
+ //# sourceMappingURL=CubeSalesDuckDbModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeSalesDuckDbModel.d.ts","sourceRoot":"","sources":["../../../src/stores/fixtures/CubeSalesDuckDbModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAavD,iEAAiE;AACjE,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAKjD,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,EAAE,YAU7B,CAAC;AACH,eAAO,MAAM,kBAAkB,0BAA2B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,2BAA4B,CAAC;AAC7D,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,aAAW,CAAC;AAC1C,eAAO,MAAM,gBAAgB,cAAY,CAAC"}
@@ -0,0 +1,46 @@
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_DATABASE_PATH, CUBE_DIRECT_RUNTIME_PATH, createCubeDirectModel, } from '../../graph-manager/CubeDirectConnection.js';
17
+ // The Sales sample (the review of the demo, 2026-10-13): a small table on an
18
+ // in-memory DuckDB, which the engine builds from setup SQL on each
19
+ // connection, as the H2 samples are. The H2 samples can't run the engine's
20
+ // pivot(); this one can, so Pivot works on a sample out of the box. Its cubes
21
+ // are direct-connection cubes: the connection is their model.
22
+ /** The setup SQL that makes the table, one statement an entry */
23
+ export const CUBE_SALES_SETUP_SQLS = Object.freeze([
24
+ 'drop schema if exists demo cascade',
25
+ 'create schema demo',
26
+ 'create table demo.sales (id INTEGER PRIMARY KEY, country VARCHAR(10), product VARCHAR(10), year INTEGER, amount INTEGER, price DOUBLE)',
27
+ "insert into demo.sales values (1, 'France', 'Tea', 2022, 120, 2.5), (2, 'France', 'Coffee', 2023, 80, 3.1), (3, 'France', 'Tea', 2024, 150, 2.7), (4, 'Germany', 'Tea', 2022, 90, 2.4), (5, 'Germany', 'Coffee', 2022, 60, 3.0), (6, 'Germany', 'Coffee', 2024, 110, 3.3), (7, 'Japan', 'Tea', 2023, 200, 2.9), (8, 'Japan', 'Tea', 2024, 40, 2.9), (9, 'France', 'Coffee', 2024, 30, 3.2), (10, 'Spain', 'Coffee', 2022, 70, 3.0)",
28
+ ]);
29
+ /** The model of a Sales cube: an in-memory DuckDB connection with its setup SQL */
30
+ export const CUBE_SALES_MODEL = createCubeDirectModel({
31
+ _type: 'RelationalDatabaseConnection',
32
+ type: 'DuckDB',
33
+ databaseType: 'DuckDB',
34
+ datasourceSpecification: {
35
+ _type: 'duckDB',
36
+ path: '',
37
+ testDataSetupSqls: [...CUBE_SALES_SETUP_SQLS],
38
+ },
39
+ authenticationStrategy: { _type: 'test' },
40
+ });
41
+ export const CUBE_SALES_RUNTIME = CUBE_DIRECT_RUNTIME_PATH;
42
+ export const CUBE_SALES_DATABASE = CUBE_DIRECT_DATABASE_PATH;
43
+ /** As a direct connection's coordinates store a name: quoted */
44
+ export const CUBE_SALES_SCHEMA = '"demo"';
45
+ export const CUBE_SALES_TABLE = '"sales"';
46
+ //# sourceMappingURL=CubeSalesDuckDbModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeSalesDuckDbModel.js","sourceRoot":"","sources":["../../../src/stores/fixtures/CubeSalesDuckDbModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,6CAA6C,CAAC;AAErD,6EAA6E;AAC7E,mEAAmE;AACnE,2EAA2E;AAC3E,8EAA8E;AAC9E,8DAA8D;AAE9D,iEAAiE;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACpE,oCAAoC;IACpC,oBAAoB;IACpB,wIAAwI;IACxI,oaAAoa;CACra,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAiB,qBAAqB,CAAC;IAClE,KAAK,EAAE,8BAA8B;IACrC,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,QAAQ;IACtB,uBAAuB,EAAE;QACvB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,EAAE;QACR,iBAAiB,EAAE,CAAC,GAAG,qBAAqB,CAAC;KAC9C;IACD,sBAAsB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;CAC1C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAC7D,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC"}
@@ -23,7 +23,11 @@ export declare const CUBE_TRADES_TRADE_COUNT = 400;
23
23
  export declare const CUBE_TRADES_USD_RATES: ReadonlyMap<string, number>;
24
24
  /** The SQL that makes and fills the tables, run on every connection checkout */
25
25
  export declare const CUBE_TRADES_SETUP_SQLS: string[];
26
+ export declare const CUBE_TRADES_LARGE_TRADES_FUNCTION = "cube::samples::trades::tradesAbove";
27
+ export declare const CUBE_TRADES_DESK_BOOK_FUNCTION = "cube::samples::trades::deskBook";
26
28
  export declare const CUBE_TRADES_MODEL_CODE: string;
27
29
  /** The trades sample as a cube saves it (PLAN §6.2.2) */
28
30
  export declare const CUBE_TRADES_MODEL: ModelContext;
31
+ /** The trades sample's text before its functions: cubes saved on it open on the same tables */
32
+ export declare const CUBE_TRADES_MODEL_BEFORE_FUNCTIONS: ModelContext;
29
33
  //# sourceMappingURL=CubeTradesModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeTradesModel.d.ts","sourceRoot":"","sources":["../../../src/stores/fixtures/CubeTradesModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAcvD,eAAO,MAAM,oBAAoB,0CAA0C,CAAC;AAC5E,eAAO,MAAM,sBAAsB,4CAA4C,CAAC;AAChF,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAqC3C,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAI5D,CAAC;AAoEH,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,UAqBlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAkElC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,EAAE,YAG9B,CAAC"}
1
+ {"version":3,"file":"CubeTradesModel.d.ts","sourceRoot":"","sources":["../../../src/stores/fixtures/CubeTradesModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAcvD,eAAO,MAAM,oBAAoB,0CAA0C,CAAC;AAC5E,eAAO,MAAM,sBAAsB,4CAA4C,CAAC;AAChF,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAC1E,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAClD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAqC3C,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAI5D,CAAC;AAoEH,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,UAqBlC,CAAC;AAuEF,eAAO,MAAM,iCAAiC,uCACR,CAAC;AACvC,eAAO,MAAM,8BAA8B,oCAAoC,CAAC;AAsBhF,eAAO,MAAM,sBAAsB,QAEL,CAAC;AAE/B,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,EAAE,YAG9B,CAAC;AAEH,+FAA+F;AAC/F,eAAO,MAAM,kCAAkC,EAAE,YAG/C,CAAC"}
@@ -122,7 +122,8 @@ export const CUBE_TRADES_SETUP_SQLS = [
122
122
  `create table ${CUBE_TRADES_SCHEMA}.TRADES (TRADE_ID INTEGER PRIMARY KEY, TRADE_DATE DATE NOT NULL, DESK_ID INTEGER NOT NULL, INSTRUMENT_ID INTEGER NOT NULL, SIDE VARCHAR(4) NOT NULL, QUANTITY INTEGER NOT NULL, PRICE DECIMAL(14,4) NOT NULL, NOTIONAL_USD DECIMAL(18,2) NOT NULL)`,
123
123
  sampleInsert(`${CUBE_TRADES_SCHEMA}.TRADES`, createTrades()),
124
124
  ];
125
- export const CUBE_TRADES_MODEL_CODE = `###Relational
125
+ /** The trades sample before its functions (PLAN §6.5), which cubes saved before may hold */
126
+ const CUBE_TRADES_TABLES_CODE = `###Relational
126
127
  Database ${CUBE_TRADES_DATABASE}
127
128
  (
128
129
  Schema ${CUBE_TRADES_SCHEMA}
@@ -189,9 +190,38 @@ Runtime ${CUBE_TRADES_RUNTIME}
189
190
  ];
190
191
  }
191
192
  `;
193
+ export const CUBE_TRADES_LARGE_TRADES_FUNCTION = 'cube::samples::trades::tradesAbove';
194
+ export const CUBE_TRADES_DESK_BOOK_FUNCTION = 'cube::samples::trades::deskBook';
195
+ // Two functions that return a relation (PLAN §6.5): one that leaves the
196
+ // runtime to the cube, and one that reads through its own
197
+ const CUBE_TRADES_FUNCTIONS_CODE = `###Pure
198
+ function ${CUBE_TRADES_LARGE_TRADES_FUNCTION}(minNotionalUsd: Float[1]): Relation<(TRADE_ID:Integer, TRADE_DATE:StrictDate, DESK_ID:Integer, SIDE:String, NOTIONAL_USD:Decimal)>[1]
199
+ {
200
+ #>{${CUBE_TRADES_DATABASE}.${CUBE_TRADES_SCHEMA}.TRADES}#
201
+ ->filter(t|$t.NOTIONAL_USD > $minNotionalUsd)
202
+ ->select(~[TRADE_ID, TRADE_DATE, DESK_ID, SIDE, NOTIONAL_USD])
203
+ }
204
+
205
+ function ${CUBE_TRADES_DESK_BOOK_FUNCTION}(desk: String[1], side: String[0..1]): Relation<(TRADE_ID:Integer, TRADE_DATE:StrictDate, DESK:String, REGION:String, SIDE:String, NOTIONAL_USD:Decimal)>[1]
206
+ {
207
+ #>{${CUBE_TRADES_DATABASE}.${CUBE_TRADES_SCHEMA}.TRADES}#
208
+ ->join(#>{${CUBE_TRADES_DATABASE}.${CUBE_TRADES_SCHEMA}.DESKS}#, JoinKind.INNER, {t, d|$t.DESK_ID == $d.ID})
209
+ ->filter(r|($r.DESK == $desk) && ($side->isEmpty() || ($r.SIDE == $side->toOne())))
210
+ ->select(~[TRADE_ID, TRADE_DATE, DESK, REGION, SIDE, NOTIONAL_USD])
211
+ ->from(${CUBE_TRADES_RUNTIME})
212
+ }
213
+ `;
214
+ export const CUBE_TRADES_MODEL_CODE = `${CUBE_TRADES_TABLES_CODE}
215
+
216
+ ${CUBE_TRADES_FUNCTIONS_CODE}`;
192
217
  /** The trades sample as a cube saves it (PLAN §6.2.2) */
193
218
  export const CUBE_TRADES_MODEL = Object.freeze({
194
219
  _type: 'text',
195
220
  code: CUBE_TRADES_MODEL_CODE,
196
221
  });
222
+ /** The trades sample's text before its functions: cubes saved on it open on the same tables */
223
+ export const CUBE_TRADES_MODEL_BEFORE_FUNCTIONS = Object.freeze({
224
+ _type: 'text',
225
+ code: CUBE_TRADES_TABLES_CODE,
226
+ });
197
227
  //# sourceMappingURL=CubeTradesModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CubeTradesModel.js","sourceRoot":"","sources":["../../../src/stores/fixtures/CubeTradesModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeTradesModel.js","sourceRoot":"","sources":["../../../src/stores/fixtures/CubeTradesModel.ts"],"names":[],"mappings":"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"}