@finos/legend-cube-builder 0.0.3 → 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.
- package/README.md +59 -20
- package/docs/adding-an-operation.md +112 -13
- package/docs/demo/DEMO-FAST-NOTES.md +67 -0
- package/docs/demo/README.md +102 -0
- package/docs/demo/specs/duckdb-sales-pivot.cube.json +110 -0
- package/docs/demo/specs/trades-desks-1-joined.cube.json +123 -0
- package/docs/demo/specs/trades-desks-2-grouped.cube.json +140 -0
- package/docs/demo/specs/trades-desks-3-ranked.cube.json +158 -0
- package/docs/demo/specs/trades-desks-4-extended.cube.json +208 -0
- package/docs/demo/specs/trades-desks-5-final.cube.json +248 -0
- package/docs/hosting.md +132 -7
- package/docs/testing.md +146 -9
- package/lib/__lib__/LegendCubeCommand.d.ts +4 -1
- package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeCommand.js +12 -0
- package/lib/__lib__/LegendCubeCommand.js.map +1 -1
- package/lib/__lib__/LegendCubeDataProductLabels.d.ts +45 -0
- package/lib/__lib__/LegendCubeDataProductLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeDataProductLabels.js +60 -0
- package/lib/__lib__/LegendCubeDataProductLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts +56 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.js +76 -0
- package/lib/__lib__/LegendCubeDirectConnectionLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeFunctionLabels.d.ts +29 -0
- package/lib/__lib__/LegendCubeFunctionLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeFunctionLabels.js +31 -0
- package/lib/__lib__/LegendCubeFunctionLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeHelpText.d.ts +5 -1
- package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeHelpText.js +25 -3
- package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
- package/lib/__lib__/LegendCubeIngestLabels.d.ts +25 -0
- package/lib/__lib__/LegendCubeIngestLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeIngestLabels.js +29 -0
- package/lib/__lib__/LegendCubeIngestLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeLabels.d.ts +171 -6
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +226 -13
- package/lib/__lib__/LegendCubeLabels.js.map +1 -1
- package/lib/__lib__/LegendCubeProjectLabels.d.ts +22 -0
- package/lib/__lib__/LegendCubeProjectLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeProjectLabels.js +23 -0
- package/lib/__lib__/LegendCubeProjectLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts +26 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.js +26 -0
- package/lib/__lib__/LegendCubeProjectSourceLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeServiceLabels.d.ts +27 -0
- package/lib/__lib__/LegendCubeServiceLabels.d.ts.map +1 -0
- package/lib/__lib__/LegendCubeServiceLabels.js +32 -0
- package/lib/__lib__/LegendCubeServiceLabels.js.map +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts +8 -0
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +8 -0
- package/lib/__lib__/LegendCubeTesting.js.map +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.js +1 -1
- package/lib/__test-utils__/CubeCanvasTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeConnectionTestSupport.d.ts +22 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.d.ts.map +1 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.js +30 -0
- package/lib/__test-utils__/CubeConnectionTestSupport.js.map +1 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts +31 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.d.ts.map +1 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.js +63 -0
- package/lib/__test-utils__/CubeDirectConnectionFixtures.js.map +1 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts +13 -1
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.js +23 -2
- package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +44 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js +100 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js.map +1 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.d.ts +26 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.d.ts.map +1 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.js +56 -0
- package/lib/__test-utils__/CubeFunctionTestOutline.js.map +1 -0
- package/lib/__test-utils__/CubeLambdaCorpus.d.ts +36 -0
- package/lib/__test-utils__/CubeLambdaCorpus.d.ts.map +1 -0
- package/lib/__test-utils__/CubeLambdaCorpus.js +83 -0
- package/lib/__test-utils__/CubeLambdaCorpus.js.map +1 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts +25 -0
- package/lib/__test-utils__/CubeOperationsTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubeOperationsTestUtils.js +56 -10
- package/lib/__test-utils__/CubeOperationsTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.d.ts +18 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.js +46 -1
- package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts +14 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.js +25 -1
- package/lib/__test-utils__/CubeTestApplication.js.map +1 -1
- package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts +33 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.js +67 -0
- package/lib/__test-utils__/FakeCubeConnectionExplorer.js.map +1 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts +45 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.js +137 -0
- package/lib/__test-utils__/FakeCubeDataProductCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts +7 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeEngine.js +31 -1
- package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +41 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js +123 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts +30 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.js +64 -0
- package/lib/__test-utils__/FakeCubeProjectCatalog.js.map +1 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts +26 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.js +40 -0
- package/lib/__test-utils__/FakeCubeServiceCatalog.js.map +1 -0
- package/lib/components/CubeAddItems.d.ts +35 -0
- package/lib/components/CubeAddItems.d.ts.map +1 -0
- package/lib/components/CubeAddItems.js +85 -0
- package/lib/components/CubeAddItems.js.map +1 -0
- package/lib/components/CubeDialogTheme.d.ts +25 -0
- package/lib/components/CubeDialogTheme.d.ts.map +1 -0
- package/lib/components/CubeDialogTheme.js +25 -0
- package/lib/components/CubeDialogTheme.js.map +1 -0
- package/lib/components/CubeEditor.d.ts +17 -2
- package/lib/components/CubeEditor.d.ts.map +1 -1
- package/lib/components/CubeEditor.js +39 -17
- package/lib/components/CubeEditor.js.map +1 -1
- package/lib/components/CubeEntrySourceBanner.d.ts +23 -0
- package/lib/components/CubeEntrySourceBanner.d.ts.map +1 -0
- package/lib/components/CubeEntrySourceBanner.js +32 -0
- package/lib/components/CubeEntrySourceBanner.js.map +1 -0
- package/lib/components/CubeFileMenu.d.ts +28 -0
- package/lib/components/CubeFileMenu.d.ts.map +1 -0
- package/lib/components/CubeFileMenu.js +77 -0
- package/lib/components/CubeFileMenu.js.map +1 -0
- package/lib/components/CubeLambdaImportBanner.d.ts +26 -0
- package/lib/components/CubeLambdaImportBanner.d.ts.map +1 -0
- package/lib/components/CubeLambdaImportBanner.js +47 -0
- package/lib/components/CubeLambdaImportBanner.js.map +1 -0
- package/lib/components/CubeNodeIcon.d.ts.map +1 -1
- package/lib/components/CubeNodeIcon.js +12 -1
- package/lib/components/CubeNodeIcon.js.map +1 -1
- package/lib/components/CubeSchemaColumnsTable.d.ts +21 -0
- package/lib/components/CubeSchemaColumnsTable.d.ts.map +1 -0
- package/lib/components/CubeSchemaColumnsTable.js +6 -0
- package/lib/components/CubeSchemaColumnsTable.js.map +1 -0
- package/lib/components/canvas/CubeCanvas.d.ts +4 -3
- package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvas.js +68 -16
- package/lib/components/canvas/CubeCanvas.js.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts +8 -4
- package/lib/components/canvas/CubeCanvasContextMenu.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasContextMenu.js +20 -9
- package/lib/components/canvas/CubeCanvasContextMenu.js.map +1 -1
- package/lib/components/canvas/CubeCanvasDnd.d.ts +7 -5
- package/lib/components/canvas/CubeCanvasDnd.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasDnd.js +14 -9
- package/lib/components/canvas/CubeCanvasDnd.js.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.d.ts +18 -1
- package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.js +63 -5
- package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
- package/lib/components/canvas/CubeCanvasLayout.js +1 -1
- package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.js +35 -21
- package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
- package/lib/components/canvas/CubeCanvasNodeFocus.d.ts +22 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.d.ts.map +1 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.js +31 -0
- package/lib/components/canvas/CubeCanvasNodeFocus.js.map +1 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.d.ts +44 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.d.ts.map +1 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.js +51 -0
- package/lib/components/canvas/CubeNodeEditorAnchor.js.map +1 -0
- package/lib/components/dev-settings/CubeDevSettings.d.ts +35 -0
- package/lib/components/dev-settings/CubeDevSettings.d.ts.map +1 -0
- package/lib/components/dev-settings/CubeDevSettings.js +50 -0
- package/lib/components/dev-settings/CubeDevSettings.js.map +1 -0
- package/lib/components/editors/CubeAggregationRowEditor.d.ts +48 -0
- package/lib/components/editors/CubeAggregationRowEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeAggregationRowEditor.js +72 -0
- package/lib/components/editors/CubeAggregationRowEditor.js.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts +42 -0
- package/lib/components/editors/CubeColumnChecklist.d.ts.map +1 -0
- package/lib/components/editors/CubeColumnChecklist.js +41 -0
- package/lib/components/editors/CubeColumnChecklist.js.map +1 -0
- package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
- package/lib/components/editors/CubeColumnPicker.js +3 -3
- package/lib/components/editors/CubeColumnPicker.js.map +1 -1
- package/lib/components/editors/CubeConcatEditor.d.ts +33 -0
- package/lib/components/editors/CubeConcatEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeConcatEditor.js +147 -0
- package/lib/components/editors/CubeConcatEditor.js.map +1 -0
- package/lib/components/editors/CubeDataProductSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeDataProductSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDataProductSourceEditor.js +53 -0
- package/lib/components/editors/CubeDataProductSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeDifferenceEditor.d.ts +25 -0
- package/lib/components/editors/CubeDifferenceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeDifferenceEditor.js +29 -0
- package/lib/components/editors/CubeDifferenceEditor.js.map +1 -0
- package/lib/components/editors/CubeExpressionFilterEditor.d.ts +25 -0
- package/lib/components/editors/CubeExpressionFilterEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js +83 -0
- package/lib/components/editors/CubeExpressionFilterEditor.js.map +1 -0
- package/lib/components/editors/CubeExtendEditor.d.ts +27 -0
- package/lib/components/editors/CubeExtendEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeExtendEditor.js +86 -0
- package/lib/components/editors/CubeExtendEditor.js.map +1 -0
- package/lib/components/editors/CubeFilterEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeFilterEditor.js +15 -4
- package/lib/components/editors/CubeFilterEditor.js.map +1 -1
- package/lib/components/editors/CubeFunctionSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeFunctionSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeFunctionSourceEditor.js +55 -0
- package/lib/components/editors/CubeFunctionSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeGroupEditor.d.ts +28 -0
- package/lib/components/editors/CubeGroupEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeGroupEditor.js +70 -0
- package/lib/components/editors/CubeGroupEditor.js.map +1 -0
- package/lib/components/editors/CubeIngestSourceEditor.d.ts +26 -0
- package/lib/components/editors/CubeIngestSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeIngestSourceEditor.js +47 -0
- package/lib/components/editors/CubeIngestSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeJoinEditor.d.ts +2 -4
- package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeJoinEditor.js +21 -39
- package/lib/components/editors/CubeJoinEditor.js.map +1 -1
- package/lib/components/editors/CubeJoinKeyRows.d.ts +34 -0
- package/lib/components/editors/CubeJoinKeyRows.d.ts.map +1 -0
- package/lib/components/editors/CubeJoinKeyRows.js +65 -0
- package/lib/components/editors/CubeJoinKeyRows.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorPanel.d.ts +7 -5
- package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorPanel.js +64 -16
- package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts +44 -0
- package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -0
- package/lib/components/editors/CubeNodeEditorPopper.js +133 -0
- package/lib/components/editors/CubeNodeEditorPopper.js.map +1 -0
- package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js +23 -1
- package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
- package/lib/components/editors/CubePartitionEditor.d.ts +30 -0
- package/lib/components/editors/CubePartitionEditor.d.ts.map +1 -0
- package/lib/components/editors/CubePartitionEditor.js +93 -0
- package/lib/components/editors/CubePartitionEditor.js.map +1 -0
- package/lib/components/editors/CubePivotEditor.d.ts +26 -0
- package/lib/components/editors/CubePivotEditor.d.ts.map +1 -0
- package/lib/components/editors/CubePivotEditor.js +93 -0
- package/lib/components/editors/CubePivotEditor.js.map +1 -0
- package/lib/components/editors/CubeRenameEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeRenameEditor.js +6 -4
- package/lib/components/editors/CubeRenameEditor.js.map +1 -1
- package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeRestrictEditor.js +2 -2
- package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
- package/lib/components/editors/CubeServiceSourceEditor.d.ts +25 -0
- package/lib/components/editors/CubeServiceSourceEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeServiceSourceEditor.js +41 -0
- package/lib/components/editors/CubeServiceSourceEditor.js.map +1 -0
- package/lib/components/editors/CubeSortEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeSortEditor.js +10 -37
- package/lib/components/editors/CubeSortEditor.js.map +1 -1
- package/lib/components/editors/CubeSortRowEditor.d.ts +47 -0
- package/lib/components/editors/CubeSortRowEditor.d.ts.map +1 -0
- package/lib/components/editors/CubeSortRowEditor.js +62 -0
- package/lib/components/editors/CubeSortRowEditor.js.map +1 -0
- package/lib/components/editors/CubeSourceEditor.d.ts.map +1 -1
- package/lib/components/editors/CubeSourceEditor.js +18 -5
- package/lib/components/editors/CubeSourceEditor.js.map +1 -1
- package/lib/components/editors/CubeWarehouseControl.d.ts +30 -0
- package/lib/components/editors/CubeWarehouseControl.d.ts.map +1 -0
- package/lib/components/editors/CubeWarehouseControl.js +44 -0
- package/lib/components/editors/CubeWarehouseControl.js.map +1 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.d.ts +31 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.d.ts.map +1 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.js +83 -0
- package/lib/components/editors/useCubeNodeEditorDismiss.js.map +1 -0
- package/lib/components/examples/CubeExamplesDialog.d.ts +26 -0
- package/lib/components/examples/CubeExamplesDialog.d.ts.map +1 -0
- package/lib/components/examples/CubeExamplesDialog.js +68 -0
- package/lib/components/examples/CubeExamplesDialog.js.map +1 -0
- package/lib/components/grid/CubeColumnFormatDialog.d.ts +28 -0
- package/lib/components/grid/CubeColumnFormatDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeColumnFormatDialog.js +94 -0
- package/lib/components/grid/CubeColumnFormatDialog.js.map +1 -0
- package/lib/components/grid/CubeDrilldownBar.d.ts +37 -0
- package/lib/components/grid/CubeDrilldownBar.d.ts.map +1 -0
- package/lib/components/grid/CubeDrilldownBar.js +77 -0
- package/lib/components/grid/CubeDrilldownBar.js.map +1 -0
- package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
- package/lib/components/grid/CubeGridRegion.js +56 -31
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +47 -1
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +152 -1
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeResultGrid.d.ts +68 -5
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +316 -31
- package/lib/components/grid/CubeResultGrid.js.map +1 -1
- package/lib/components/grid/CubeRunStatsPanel.d.ts +28 -0
- package/lib/components/grid/CubeRunStatsPanel.d.ts.map +1 -0
- package/lib/components/grid/CubeRunStatsPanel.js +61 -0
- package/lib/components/grid/CubeRunStatsPanel.js.map +1 -0
- package/lib/components/grid/CubeServerSideGrid.d.ts +36 -0
- package/lib/components/grid/CubeServerSideGrid.d.ts.map +1 -0
- package/lib/components/grid/CubeServerSideGrid.js +114 -0
- package/lib/components/grid/CubeServerSideGrid.js.map +1 -0
- package/lib/components/grid/CubeSqlDialog.d.ts +24 -0
- package/lib/components/grid/CubeSqlDialog.d.ts.map +1 -0
- package/lib/components/grid/CubeSqlDialog.js +39 -0
- package/lib/components/grid/CubeSqlDialog.js.map +1 -0
- package/lib/components/grid/CubeSqlFormat.d.ts +20 -0
- package/lib/components/grid/CubeSqlFormat.d.ts.map +1 -0
- package/lib/components/grid/CubeSqlFormat.js +32 -0
- package/lib/components/grid/CubeSqlFormat.js.map +1 -0
- package/lib/components/palette/CubePalette.d.ts.map +1 -1
- package/lib/components/palette/CubePalette.js +44 -14
- package/lib/components/palette/CubePalette.js.map +1 -1
- package/lib/components/show-pure/CubeShowPureDialog.d.ts +4 -1
- package/lib/components/show-pure/CubeShowPureDialog.d.ts.map +1 -1
- package/lib/components/show-pure/CubeShowPureDialog.js +8 -4
- package/lib/components/show-pure/CubeShowPureDialog.js.map +1 -1
- package/lib/components/source-picker/CubeDataProductTab.d.ts +27 -0
- package/lib/components/source-picker/CubeDataProductTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeDataProductTab.js +123 -0
- package/lib/components/source-picker/CubeDataProductTab.js.map +1 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts +27 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.js +89 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.js.map +1 -0
- package/lib/components/source-picker/CubeFunctionSteps.d.ts +36 -0
- package/lib/components/source-picker/CubeFunctionSteps.d.ts.map +1 -0
- package/lib/components/source-picker/CubeFunctionSteps.js +76 -0
- package/lib/components/source-picker/CubeFunctionSteps.js.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts +28 -0
- package/lib/components/source-picker/CubeIngestTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeIngestTab.js +89 -0
- package/lib/components/source-picker/CubeIngestTab.js.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts +38 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.js +81 -0
- package/lib/components/source-picker/CubeInlineModelTab.js.map +1 -0
- package/lib/components/source-picker/CubePickerListItem.d.ts +47 -0
- package/lib/components/source-picker/CubePickerListItem.d.ts.map +1 -0
- package/lib/components/source-picker/CubePickerListItem.js +62 -0
- package/lib/components/source-picker/CubePickerListItem.js.map +1 -0
- package/lib/components/source-picker/CubePickerStep.d.ts +27 -0
- package/lib/components/source-picker/CubePickerStep.d.ts.map +1 -0
- package/lib/components/source-picker/CubePickerStep.js +23 -0
- package/lib/components/source-picker/CubePickerStep.js.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts +28 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.js +53 -0
- package/lib/components/source-picker/CubeProjectTab.js.map +1 -0
- package/lib/components/source-picker/CubeServiceTab.d.ts +27 -0
- package/lib/components/source-picker/CubeServiceTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeServiceTab.js +36 -0
- package/lib/components/source-picker/CubeServiceTab.js.map +1 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts +6 -0
- package/lib/components/source-picker/CubeSourcePicker.d.ts.map +1 -1
- package/lib/components/source-picker/CubeSourcePicker.js +33 -58
- package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
- package/lib/components/source-picker/CubeTablePreview.d.ts +29 -0
- package/lib/components/source-picker/CubeTablePreview.d.ts.map +1 -0
- package/lib/components/source-picker/CubeTablePreview.js +10 -0
- package/lib/components/source-picker/CubeTablePreview.js.map +1 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.d.ts +27 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.d.ts.map +1 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.js +38 -0
- package/lib/components/spec-transfer/CubeImportPureDialog.js.map +1 -0
- package/lib/components/spec-transfer/CubeSpecTransferDialog.d.ts.map +1 -1
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js +9 -3
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js.map +1 -1
- package/lib/graph-manager/CubeConnectionExplorer.d.ts +90 -0
- package/lib/graph-manager/CubeConnectionExplorer.d.ts.map +1 -0
- package/lib/graph-manager/CubeConnectionExplorer.js +34 -0
- package/lib/graph-manager/CubeConnectionExplorer.js.map +1 -0
- package/lib/graph-manager/CubeDataProduct.d.ts +66 -0
- package/lib/graph-manager/CubeDataProduct.d.ts.map +1 -0
- package/lib/graph-manager/CubeDataProduct.js +102 -0
- package/lib/graph-manager/CubeDataProduct.js.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts +177 -0
- package/lib/graph-manager/CubeDataProductCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeDataProductCatalog.js +116 -0
- package/lib/graph-manager/CubeDataProductCatalog.js.map +1 -0
- package/lib/graph-manager/CubeDirectConnection.d.ts +38 -0
- package/lib/graph-manager/CubeDirectConnection.d.ts.map +1 -0
- package/lib/graph-manager/CubeDirectConnection.js +48 -0
- package/lib/graph-manager/CubeDirectConnection.js.map +1 -0
- package/lib/graph-manager/CubeEngine.d.ts +83 -3
- package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/CubeEngine.js +4 -1
- package/lib/graph-manager/CubeEngine.js.map +1 -1
- package/lib/graph-manager/CubeEngineClientSettings.d.ts +43 -0
- package/lib/graph-manager/CubeEngineClientSettings.d.ts.map +1 -0
- package/lib/graph-manager/CubeEngineClientSettings.js +51 -0
- package/lib/graph-manager/CubeEngineClientSettings.js.map +1 -0
- package/lib/graph-manager/CubeIngest.d.ts +55 -0
- package/lib/graph-manager/CubeIngest.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngest.js +98 -0
- package/lib/graph-manager/CubeIngest.js.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts +142 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.js +86 -0
- package/lib/graph-manager/CubeIngestCatalog.js.map +1 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.d.ts +26 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.d.ts.map +1 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.js +17 -0
- package/lib/graph-manager/CubeLakehouseEnvironment.js.map +1 -0
- package/lib/graph-manager/CubeLakehouseRuntime.d.ts +29 -0
- package/lib/graph-manager/CubeLakehouseRuntime.d.ts.map +1 -0
- package/lib/graph-manager/CubeLakehouseRuntime.js +40 -0
- package/lib/graph-manager/CubeLakehouseRuntime.js.map +1 -0
- package/lib/graph-manager/CubeProject.d.ts +41 -0
- package/lib/graph-manager/CubeProject.d.ts.map +1 -0
- package/lib/graph-manager/CubeProject.js +84 -0
- package/lib/graph-manager/CubeProject.js.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts +35 -0
- package/lib/graph-manager/CubeProjectCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeProjectCatalog.js +17 -0
- package/lib/graph-manager/CubeProjectCatalog.js.map +1 -0
- package/lib/graph-manager/CubeService.d.ts +20 -0
- package/lib/graph-manager/CubeService.d.ts.map +1 -0
- package/lib/graph-manager/CubeService.js +22 -0
- package/lib/graph-manager/CubeService.js.map +1 -0
- package/lib/graph-manager/CubeServiceCatalog.d.ts +31 -0
- package/lib/graph-manager/CubeServiceCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeServiceCatalog.js +17 -0
- package/lib/graph-manager/CubeServiceCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts +111 -2
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +108 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts +44 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js +192 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts +32 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js +88 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts +41 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js +246 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts +43 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js +112 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeDirectModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js +30 -4
- package/lib/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts +23 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js +68 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeExpression.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts +30 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js +229 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts +30 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js +149 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts +57 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js +120 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeIngestModel.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts +33 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js +94 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts +34 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js +332 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +111 -13
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +3 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts +67 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js +238 -0
- package/lib/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts +35 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js +65 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts +104 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js +484 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts +115 -3
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js +654 -21
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts +69 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js +270 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts +35 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js +94 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts +31 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js +69 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts +25 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js +47 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts +28 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js +310 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts +33 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.d.ts.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js +188 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.js.map +1 -0
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +33 -3
- package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +22 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +19 -1
- package/lib/index.js.map +1 -1
- package/lib/stores/CubeAddPlacement.d.ts +39 -0
- package/lib/stores/CubeAddPlacement.d.ts.map +1 -0
- package/lib/stores/CubeAddPlacement.js +51 -0
- package/lib/stores/CubeAddPlacement.js.map +1 -0
- package/lib/stores/CubeDataProductRecheck.d.ts +27 -0
- package/lib/stores/CubeDataProductRecheck.d.ts.map +1 -0
- package/lib/stores/CubeDataProductRecheck.js +54 -0
- package/lib/stores/CubeDataProductRecheck.js.map +1 -0
- package/lib/stores/CubeDataProductRuntimeState.d.ts +88 -0
- package/lib/stores/CubeDataProductRuntimeState.d.ts.map +1 -0
- package/lib/stores/CubeDataProductRuntimeState.js +190 -0
- package/lib/stores/CubeDataProductRuntimeState.js.map +1 -0
- package/lib/stores/CubeDataProductWarehouse.d.ts +19 -0
- package/lib/stores/CubeDataProductWarehouse.d.ts.map +1 -0
- package/lib/stores/CubeDataProductWarehouse.js +25 -0
- package/lib/stores/CubeDataProductWarehouse.js.map +1 -0
- package/lib/stores/CubeDevSettingsState.d.ts +47 -0
- package/lib/stores/CubeDevSettingsState.d.ts.map +1 -0
- package/lib/stores/CubeDevSettingsState.js +99 -0
- package/lib/stores/CubeDevSettingsState.js.map +1 -0
- package/lib/stores/CubeEditorState.d.ts +242 -28
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +751 -66
- package/lib/stores/CubeEditorState.js.map +1 -1
- package/lib/stores/CubeEngineChecks.d.ts +59 -0
- package/lib/stores/CubeEngineChecks.d.ts.map +1 -0
- package/lib/stores/CubeEngineChecks.js +100 -0
- package/lib/stores/CubeEngineChecks.js.map +1 -0
- package/lib/stores/CubeEntrySource.d.ts +78 -0
- package/lib/stores/CubeEntrySource.d.ts.map +1 -0
- package/lib/stores/CubeEntrySource.js +200 -0
- package/lib/stores/CubeEntrySource.js.map +1 -0
- package/lib/stores/CubeExamples.d.ts +43 -0
- package/lib/stores/CubeExamples.d.ts.map +1 -0
- package/lib/stores/CubeExamples.js +333 -0
- package/lib/stores/CubeExamples.js.map +1 -0
- package/lib/stores/CubeExamplesState.d.ts +45 -0
- package/lib/stores/CubeExamplesState.d.ts.map +1 -0
- package/lib/stores/CubeExamplesState.js +81 -0
- package/lib/stores/CubeExamplesState.js.map +1 -0
- package/lib/stores/CubeExecutionState.d.ts +6 -2
- package/lib/stores/CubeExecutionState.d.ts.map +1 -1
- package/lib/stores/CubeExecutionState.js +39 -38
- package/lib/stores/CubeExecutionState.js.map +1 -1
- package/lib/stores/CubeExportState.d.ts +41 -0
- package/lib/stores/CubeExportState.d.ts.map +1 -0
- package/lib/stores/CubeExportState.js +134 -0
- package/lib/stores/CubeExportState.js.map +1 -0
- package/lib/stores/CubeExpressionFilterCheck.d.ts +51 -0
- package/lib/stores/CubeExpressionFilterCheck.d.ts.map +1 -0
- package/lib/stores/CubeExpressionFilterCheck.js +134 -0
- package/lib/stores/CubeExpressionFilterCheck.js.map +1 -0
- package/lib/stores/CubeExtendTyping.d.ts +64 -0
- package/lib/stores/CubeExtendTyping.d.ts.map +1 -0
- package/lib/stores/CubeExtendTyping.js +149 -0
- package/lib/stores/CubeExtendTyping.js.map +1 -0
- package/lib/stores/CubeFunctionRecheck.d.ts +30 -0
- package/lib/stores/CubeFunctionRecheck.d.ts.map +1 -0
- package/lib/stores/CubeFunctionRecheck.js +67 -0
- package/lib/stores/CubeFunctionRecheck.js.map +1 -0
- package/lib/stores/CubeGridFetcher.d.ts +75 -0
- package/lib/stores/CubeGridFetcher.d.ts.map +1 -0
- package/lib/stores/CubeGridFetcher.js +197 -0
- package/lib/stores/CubeGridFetcher.js.map +1 -0
- package/lib/stores/CubeGridQuickActions.d.ts +27 -7
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
- package/lib/stores/CubeGridQuickActions.js +79 -21
- package/lib/stores/CubeGridQuickActions.js.map +1 -1
- package/lib/stores/CubeGridState.d.ts +136 -0
- package/lib/stores/CubeGridState.d.ts.map +1 -0
- package/lib/stores/CubeGridState.js +317 -0
- package/lib/stores/CubeGridState.js.map +1 -0
- package/lib/stores/CubeHost.d.ts +74 -1
- package/lib/stores/CubeHost.d.ts.map +1 -1
- package/lib/stores/CubeHost.js +25 -1
- package/lib/stores/CubeHost.js.map +1 -1
- package/lib/stores/CubeIngestRecheck.d.ts +26 -0
- package/lib/stores/CubeIngestRecheck.d.ts.map +1 -0
- package/lib/stores/CubeIngestRecheck.js +53 -0
- package/lib/stores/CubeIngestRecheck.js.map +1 -0
- package/lib/stores/CubeLambdaImportState.d.ts +118 -0
- package/lib/stores/CubeLambdaImportState.d.ts.map +1 -0
- package/lib/stores/CubeLambdaImportState.js +302 -0
- package/lib/stores/CubeLambdaImportState.js.map +1 -0
- package/lib/stores/CubeLambdaSources.d.ts +45 -0
- package/lib/stores/CubeLambdaSources.d.ts.map +1 -0
- package/lib/stores/CubeLambdaSources.js +261 -0
- package/lib/stores/CubeLambdaSources.js.map +1 -0
- package/lib/stores/CubeNodeEditorState.d.ts +101 -5
- package/lib/stores/CubeNodeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeNodeEditorState.js +221 -10
- package/lib/stores/CubeNodeEditorState.js.map +1 -1
- package/lib/stores/CubeQueryRun.d.ts +59 -0
- package/lib/stores/CubeQueryRun.d.ts.map +1 -0
- package/lib/stores/CubeQueryRun.js +101 -0
- package/lib/stores/CubeQueryRun.js.map +1 -0
- package/lib/stores/CubeRunStatsState.d.ts +61 -0
- package/lib/stores/CubeRunStatsState.d.ts.map +1 -0
- package/lib/stores/CubeRunStatsState.js +54 -0
- package/lib/stores/CubeRunStatsState.js.map +1 -0
- package/lib/stores/CubeRunningStepLambda.d.ts +25 -0
- package/lib/stores/CubeRunningStepLambda.d.ts.map +1 -0
- package/lib/stores/CubeRunningStepLambda.js +45 -0
- package/lib/stores/CubeRunningStepLambda.js.map +1 -0
- package/lib/stores/CubeServiceRecheck.d.ts +29 -0
- package/lib/stores/CubeServiceRecheck.d.ts.map +1 -0
- package/lib/stores/CubeServiceRecheck.js +33 -0
- package/lib/stores/CubeServiceRecheck.js.map +1 -0
- package/lib/stores/CubeShowPureState.d.ts +18 -2
- package/lib/stores/CubeShowPureState.d.ts.map +1 -1
- package/lib/stores/CubeShowPureState.js +46 -13
- package/lib/stores/CubeShowPureState.js.map +1 -1
- package/lib/stores/CubeSourcePickerState.d.ts +70 -65
- package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
- package/lib/stores/CubeSourcePickerState.js +207 -267
- package/lib/stores/CubeSourcePickerState.js.map +1 -1
- package/lib/stores/CubeSpecTransferState.d.ts +2 -2
- package/lib/stores/CubeSpecTransferState.js +2 -2
- package/lib/stores/LocalModelCatalog.d.ts +2 -0
- package/lib/stores/LocalModelCatalog.d.ts.map +1 -1
- package/lib/stores/LocalModelCatalog.js +19 -3
- package/lib/stores/LocalModelCatalog.js.map +1 -1
- package/lib/stores/editors/CubeAggregationRows.d.ts +80 -0
- package/lib/stores/editors/CubeAggregationRows.d.ts.map +1 -0
- package/lib/stores/editors/CubeAggregationRows.js +164 -0
- package/lib/stores/editors/CubeAggregationRows.js.map +1 -0
- package/lib/stores/editors/CubeConcatDraft.d.ts +30 -0
- package/lib/stores/editors/CubeConcatDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeConcatDraft.js +44 -0
- package/lib/stores/editors/CubeConcatDraft.js.map +1 -0
- package/lib/stores/editors/CubeDifferenceDraft.d.ts +49 -0
- package/lib/stores/editors/CubeDifferenceDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeDifferenceDraft.js +111 -0
- package/lib/stores/editors/CubeDifferenceDraft.js.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts +91 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js +254 -0
- package/lib/stores/editors/CubeExpressionFilterDraft.js.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts +110 -0
- package/lib/stores/editors/CubeExtendDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeExtendDraft.js +359 -0
- package/lib/stores/editors/CubeExtendDraft.js.map +1 -0
- package/lib/stores/editors/CubeFunctionDraft.d.ts +34 -0
- package/lib/stores/editors/CubeFunctionDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeFunctionDraft.js +69 -0
- package/lib/stores/editors/CubeFunctionDraft.js.map +1 -0
- package/lib/stores/editors/CubeGroupDraft.d.ts +61 -0
- package/lib/stores/editors/CubeGroupDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubeGroupDraft.js +106 -0
- package/lib/stores/editors/CubeGroupDraft.js.map +1 -0
- package/lib/stores/editors/CubeJoinDraft.d.ts +9 -10
- package/lib/stores/editors/CubeJoinDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeJoinDraft.js +92 -21
- package/lib/stores/editors/CubeJoinDraft.js.map +1 -1
- package/lib/stores/editors/CubeJoinKeyPairs.d.ts +38 -0
- package/lib/stores/editors/CubeJoinKeyPairs.d.ts.map +1 -0
- package/lib/stores/editors/CubeJoinKeyPairs.js +33 -0
- package/lib/stores/editors/CubeJoinKeyPairs.js.map +1 -0
- package/lib/stores/editors/CubeNodeDraft.d.ts +20 -6
- package/lib/stores/editors/CubeNodeDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraft.js +23 -5
- package/lib/stores/editors/CubeNodeDraft.js.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +4 -2
- package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +39 -3
- package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
- package/lib/stores/editors/CubePartitionDraft.d.ts +70 -0
- package/lib/stores/editors/CubePartitionDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubePartitionDraft.js +154 -0
- package/lib/stores/editors/CubePartitionDraft.js.map +1 -0
- package/lib/stores/editors/CubePivotDraft.d.ts +93 -0
- package/lib/stores/editors/CubePivotDraft.d.ts.map +1 -0
- package/lib/stores/editors/CubePivotDraft.js +267 -0
- package/lib/stores/editors/CubePivotDraft.js.map +1 -0
- package/lib/stores/editors/CubeSortDraft.d.ts +2 -10
- package/lib/stores/editors/CubeSortDraft.d.ts.map +1 -1
- package/lib/stores/editors/CubeSortDraft.js +9 -35
- package/lib/stores/editors/CubeSortDraft.js.map +1 -1
- package/lib/stores/editors/CubeSortRows.d.ts +34 -0
- package/lib/stores/editors/CubeSortRows.d.ts.map +1 -0
- package/lib/stores/editors/CubeSortRows.js +50 -0
- package/lib/stores/editors/CubeSortRows.js.map +1 -0
- package/lib/stores/fixtures/CubeNorthwindModel.d.ts +7 -0
- package/lib/stores/fixtures/CubeNorthwindModel.d.ts.map +1 -1
- package/lib/stores/fixtures/CubeNorthwindModel.js +99 -87
- package/lib/stores/fixtures/CubeNorthwindModel.js.map +1 -1
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts +26 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js +46 -0
- package/lib/stores/fixtures/CubeSalesDuckDbModel.js.map +1 -0
- package/lib/stores/fixtures/CubeSampleSql.d.ts +34 -0
- package/lib/stores/fixtures/CubeSampleSql.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSampleSql.js +64 -0
- package/lib/stores/fixtures/CubeSampleSql.js.map +1 -0
- package/lib/stores/fixtures/CubeSportsModel.d.ts +27 -0
- package/lib/stores/fixtures/CubeSportsModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeSportsModel.js +158 -0
- package/lib/stores/fixtures/CubeSportsModel.js.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts +33 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.js +227 -0
- package/lib/stores/fixtures/CubeTradesModel.js.map +1 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.d.ts +71 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.js +392 -0
- package/lib/stores/source-picker/CubeCsvSetupSql.js.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts +215 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js +766 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +163 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js +668 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts +127 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.js +510 -0
- package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +203 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js +734 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts +77 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.js +206 -0
- package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeServiceTabState.d.ts +74 -0
- package/lib/stores/source-picker/CubeServiceTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeServiceTabState.js +216 -0
- package/lib/stores/source-picker/CubeServiceTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +60 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js +45 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -0
- package/package.json +12 -7
- package/src/__lib__/LegendCubeCommand.ts +12 -0
- package/src/__lib__/LegendCubeDataProductLabels.ts +91 -0
- package/src/__lib__/LegendCubeDirectConnectionLabels.ts +111 -0
- package/src/__lib__/LegendCubeFunctionLabels.ts +41 -0
- package/src/__lib__/LegendCubeHelpText.ts +48 -2
- package/src/__lib__/LegendCubeIngestLabels.ts +40 -0
- package/src/__lib__/LegendCubeLabels.ts +327 -12
- package/src/__lib__/LegendCubeProjectLabels.ts +25 -0
- package/src/__lib__/LegendCubeProjectSourceLabels.ts +26 -0
- package/src/__lib__/LegendCubeServiceLabels.ts +41 -0
- package/src/__lib__/LegendCubeTesting.ts +8 -0
- package/src/__test-utils__/CubeCanvasTestUtils.ts +1 -1
- package/src/__test-utils__/CubeConnectionTestSupport.ts +45 -0
- package/src/__test-utils__/CubeDirectConnectionFixtures.ts +70 -0
- package/src/__test-utils__/CubeEngineTestSupport.ts +40 -1
- package/src/__test-utils__/CubeExpressionTestUtils.ts +146 -0
- package/src/__test-utils__/CubeFunctionTestOutline.ts +78 -0
- package/src/__test-utils__/CubeLambdaCorpus.ts +137 -0
- package/src/__test-utils__/CubeOperationsTestUtils.ts +93 -18
- package/src/__test-utils__/CubePageTestUtils.tsx +69 -0
- package/src/__test-utils__/CubeTestApplication.ts +46 -2
- package/src/__test-utils__/FakeCubeConnectionExplorer.ts +111 -0
- package/src/__test-utils__/FakeCubeDataProductCatalog.ts +227 -0
- package/src/__test-utils__/FakeCubeEngine.ts +52 -1
- package/src/__test-utils__/FakeCubeIngestCatalog.ts +198 -0
- package/src/__test-utils__/FakeCubeProjectCatalog.ts +89 -0
- package/src/__test-utils__/FakeCubeServiceCatalog.ts +57 -0
- package/src/components/CubeAddItems.tsx +186 -0
- package/src/components/CubeDialogTheme.ts +25 -0
- package/src/components/CubeEditor.tsx +195 -140
- package/src/components/CubeEntrySourceBanner.tsx +64 -0
- package/src/components/CubeFileMenu.tsx +127 -0
- package/src/components/CubeLambdaImportBanner.tsx +97 -0
- package/src/components/CubeNodeIcon.tsx +20 -0
- package/src/components/CubeSchemaColumnsTable.tsx +54 -0
- package/src/components/canvas/CubeCanvas.tsx +94 -20
- package/src/components/canvas/CubeCanvasContextMenu.tsx +64 -32
- package/src/components/canvas/CubeCanvasDnd.ts +16 -9
- package/src/components/canvas/CubeCanvasElements.ts +84 -5
- package/src/components/canvas/CubeCanvasLayout.ts +1 -1
- package/src/components/canvas/CubeCanvasNode.tsx +88 -43
- package/src/components/canvas/CubeCanvasNodeFocus.ts +37 -0
- package/src/components/canvas/CubeNodeEditorAnchor.ts +82 -0
- package/src/components/dev-settings/CubeDevSettings.tsx +154 -0
- package/src/components/editors/CubeAggregationRowEditor.tsx +224 -0
- package/src/components/editors/CubeColumnChecklist.tsx +136 -0
- package/src/components/editors/CubeColumnPicker.tsx +6 -3
- package/src/components/editors/CubeConcatEditor.tsx +374 -0
- package/src/components/editors/CubeDataProductSourceEditor.tsx +134 -0
- package/src/components/editors/CubeDifferenceEditor.tsx +87 -0
- package/src/components/editors/CubeExpressionFilterEditor.tsx +193 -0
- package/src/components/editors/CubeExtendEditor.tsx +271 -0
- package/src/components/editors/CubeFilterEditor.tsx +20 -1
- package/src/components/editors/CubeFunctionSourceEditor.tsx +140 -0
- package/src/components/editors/CubeGroupEditor.tsx +135 -0
- package/src/components/editors/CubeIngestSourceEditor.tsx +104 -0
- package/src/components/editors/CubeJoinEditor.tsx +34 -135
- package/src/components/editors/CubeJoinKeyRows.tsx +183 -0
- package/src/components/editors/CubeNodeEditorPanel.tsx +111 -36
- package/src/components/editors/CubeNodeEditorPopper.tsx +191 -0
- package/src/components/editors/CubeNodeEditorRegistry.ts +33 -0
- package/src/components/editors/CubePartitionEditor.tsx +208 -0
- package/src/components/editors/CubePivotEditor.tsx +277 -0
- package/src/components/editors/CubeRenameEditor.tsx +10 -5
- package/src/components/editors/CubeRestrictEditor.tsx +9 -3
- package/src/components/editors/CubeServiceSourceEditor.tsx +77 -0
- package/src/components/editors/CubeSortEditor.tsx +20 -142
- package/src/components/editors/CubeSortRowEditor.tsx +176 -0
- package/src/components/editors/CubeSourceEditor.tsx +42 -30
- package/src/components/editors/CubeWarehouseControl.tsx +113 -0
- package/src/components/editors/useCubeNodeEditorDismiss.ts +103 -0
- package/src/components/examples/CubeExamplesDialog.tsx +199 -0
- package/src/components/grid/CubeColumnFormatDialog.tsx +289 -0
- package/src/components/grid/CubeDrilldownBar.tsx +219 -0
- package/src/components/grid/CubeGridRegion.tsx +214 -60
- package/src/components/grid/CubeGridValues.ts +201 -1
- package/src/components/grid/CubeResultGrid.tsx +461 -43
- package/src/components/grid/CubeRunStatsPanel.tsx +156 -0
- package/src/components/grid/CubeServerSideGrid.tsx +200 -0
- package/src/components/grid/CubeSqlDialog.tsx +90 -0
- package/src/components/grid/CubeSqlFormat.ts +37 -0
- package/src/components/palette/CubePalette.tsx +70 -19
- package/src/components/show-pure/CubeShowPureDialog.tsx +19 -5
- package/src/components/source-picker/CubeDataProductTab.tsx +486 -0
- package/src/components/source-picker/CubeDirectConnectionTab.tsx +352 -0
- package/src/components/source-picker/CubeFunctionSteps.tsx +244 -0
- package/src/components/source-picker/CubeIngestTab.tsx +312 -0
- package/src/components/source-picker/CubeInlineModelTab.tsx +220 -0
- package/src/components/source-picker/CubePickerListItem.tsx +118 -0
- package/src/components/source-picker/CubePickerStep.tsx +49 -0
- package/src/components/source-picker/CubeProjectTab.tsx +117 -0
- package/src/components/source-picker/CubeServiceTab.tsx +151 -0
- package/src/components/source-picker/CubeSourcePicker.tsx +99 -228
- package/src/components/source-picker/CubeTablePreview.tsx +49 -0
- package/src/components/spec-transfer/CubeImportPureDialog.tsx +122 -0
- package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +22 -9
- package/src/graph-manager/CubeConnectionExplorer.ts +106 -0
- package/src/graph-manager/CubeDataProduct.ts +150 -0
- package/src/graph-manager/CubeDataProductCatalog.ts +256 -0
- package/src/graph-manager/CubeDirectConnection.ts +67 -0
- package/src/graph-manager/CubeEngine.ts +94 -2
- package/src/graph-manager/CubeEngineClientSettings.ts +64 -0
- package/src/graph-manager/CubeIngest.ts +159 -0
- package/src/graph-manager/CubeIngestCatalog.ts +202 -0
- package/src/graph-manager/CubeLakehouseEnvironment.ts +27 -0
- package/src/graph-manager/CubeLakehouseRuntime.ts +43 -0
- package/src/graph-manager/CubeProject.ts +117 -0
- package/src/graph-manager/CubeProjectCatalog.ts +40 -0
- package/src/graph-manager/CubeService.ts +29 -0
- package/src/graph-manager/CubeServiceCatalog.ts +35 -0
- package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +256 -2
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.ts +251 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +107 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.ts +339 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDirectModel.ts +151 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeEngineErrors.ts +45 -4
- package/src/graph-manager/protocol/pure/v1/V1_CubeExpression.ts +89 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeFunctionOutlineBuilder.ts +312 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestDefinition.ts +227 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +174 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.ts +141 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaReader.ts +471 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +153 -18
- package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +3 -1
- package/src/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.ts +361 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +122 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.ts +744 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +1083 -25
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.ts +459 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +152 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeServiceCatalog.ts +92 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeConnectionExplorerTestUtils.ts +61 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductFixtures.ts +337 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeDataProductSearchFixtures.ts +206 -0
- package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +48 -2
- package/src/index.ts +52 -2
- package/src/stores/CubeAddPlacement.ts +87 -0
- package/src/stores/CubeDataProductRecheck.ts +93 -0
- package/src/stores/CubeDataProductRuntimeState.ts +256 -0
- package/src/stores/CubeDataProductWarehouse.ts +40 -0
- package/src/stores/CubeDevSettingsState.ts +117 -0
- package/src/stores/CubeEditorState.ts +1030 -92
- package/src/stores/CubeEngineChecks.ts +240 -0
- package/src/stores/CubeEntrySource.ts +278 -0
- package/src/stores/CubeExamples.ts +526 -0
- package/src/stores/CubeExamplesState.ts +110 -0
- package/src/stores/CubeExecutionState.ts +50 -62
- package/src/stores/CubeExportState.ts +196 -0
- package/src/stores/CubeExpressionFilterCheck.ts +218 -0
- package/src/stores/CubeExtendTyping.ts +251 -0
- package/src/stores/CubeFunctionRecheck.ts +97 -0
- package/src/stores/CubeGridFetcher.ts +302 -0
- package/src/stores/CubeGridQuickActions.ts +97 -20
- package/src/stores/CubeGridState.ts +450 -0
- package/src/stores/CubeHost.ts +119 -1
- package/src/stores/CubeIngestRecheck.ts +92 -0
- package/src/stores/CubeLambdaImportState.ts +434 -0
- package/src/stores/CubeLambdaSources.ts +390 -0
- package/src/stores/CubeNodeEditorState.ts +278 -9
- package/src/stores/CubeQueryRun.ts +169 -0
- package/src/stores/CubeRunStatsState.ts +91 -0
- package/src/stores/CubeRunningStepLambda.ts +62 -0
- package/src/stores/CubeServiceRecheck.ts +53 -0
- package/src/stores/CubeShowPureState.ts +57 -15
- package/src/stores/CubeSourcePickerState.ts +231 -325
- package/src/stores/CubeSpecTransferState.ts +2 -2
- package/src/stores/LocalModelCatalog.ts +27 -3
- package/src/stores/editors/CubeAggregationRows.ts +299 -0
- package/src/stores/editors/CubeConcatDraft.ts +49 -0
- package/src/stores/editors/CubeDifferenceDraft.ts +147 -0
- package/src/stores/editors/CubeExpressionFilterDraft.ts +385 -0
- package/src/stores/editors/CubeExtendDraft.ts +532 -0
- package/src/stores/editors/CubeFunctionDraft.ts +92 -0
- package/src/stores/editors/CubeGroupDraft.ts +145 -0
- package/src/stores/editors/CubeJoinDraft.ts +130 -41
- package/src/stores/editors/CubeJoinKeyPairs.ts +68 -0
- package/src/stores/editors/CubeNodeDraft.ts +26 -6
- package/src/stores/editors/CubeNodeDraftRegistry.ts +52 -2
- package/src/stores/editors/CubePartitionDraft.ts +214 -0
- package/src/stores/editors/CubePivotDraft.ts +355 -0
- package/src/stores/editors/CubeSortDraft.ts +17 -54
- package/src/stores/editors/CubeSortRows.ts +84 -0
- package/src/stores/fixtures/CubeNorthwindModel.ts +103 -88
- package/src/stores/fixtures/CubeSalesDuckDbModel.ts +54 -0
- package/src/stores/fixtures/CubeSampleSql.ts +85 -0
- package/src/stores/fixtures/CubeSportsModel.ts +182 -0
- package/src/stores/fixtures/CubeTradesModel.ts +276 -0
- package/src/stores/source-picker/CubeCsvSetupSql.ts +444 -0
- package/src/stores/source-picker/CubeDataProductTabState.ts +966 -0
- package/src/stores/source-picker/CubeDirectConnectionTabState.ts +846 -0
- package/src/stores/source-picker/CubeIngestTabState.ts +625 -0
- package/src/stores/source-picker/CubeInlineModelTabState.ts +928 -0
- package/src/stores/source-picker/CubeProjectTabState.ts +250 -0
- package/src/stores/source-picker/CubeServiceTabState.ts +288 -0
- package/src/stores/source-picker/CubeSourcePickerTab.ts +79 -0
- package/tsconfig.json +139 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { Schema } from '@finos/legend-cube';
|
|
18
|
+
import type { PlainObject } from '@finos/legend-shared';
|
|
19
|
+
import {
|
|
20
|
+
type CubeDataProductEnvironmentType,
|
|
21
|
+
type CubeDataProductProject,
|
|
22
|
+
isCubeSnapshotVersion,
|
|
23
|
+
} from './CubeDataProduct.js';
|
|
24
|
+
import type { CubeEngineError, CubeResultValue, NodeId } from './CubeEngine.js';
|
|
25
|
+
|
|
26
|
+
// The deployed data products a cube can read (PLAN §6.8), in Cube's own
|
|
27
|
+
// terms: what the catalog lists, what a product's deployed artifact says of
|
|
28
|
+
// its access points, and the schemas of saved sources. The host's
|
|
29
|
+
// implementation reads the marketplace or the lakehouse's lists, the depot
|
|
30
|
+
// and the artifacts; nothing here names their wire classes
|
|
31
|
+
|
|
32
|
+
/** A deployed data product the catalog lists, at the version it was deployed from */
|
|
33
|
+
export class CubeDataProductCandidate {
|
|
34
|
+
/** The catalog's id for the product, which its links use */
|
|
35
|
+
readonly id: string;
|
|
36
|
+
/** The deployment, as text */
|
|
37
|
+
readonly deploymentId: string;
|
|
38
|
+
/** The path of its DataProduct element */
|
|
39
|
+
readonly dataProductPath: string;
|
|
40
|
+
readonly title: string;
|
|
41
|
+
readonly description: string | undefined;
|
|
42
|
+
readonly groupId: string;
|
|
43
|
+
readonly artifactId: string;
|
|
44
|
+
/** The version it was deployed from, as the catalog gave it, snapshots included */
|
|
45
|
+
readonly versionId: string;
|
|
46
|
+
readonly environmentType: CubeDataProductEnvironmentType;
|
|
47
|
+
/** The producer's environment, for display */
|
|
48
|
+
readonly producerEnvironmentName: string | undefined;
|
|
49
|
+
|
|
50
|
+
constructor(fields: {
|
|
51
|
+
id: string;
|
|
52
|
+
deploymentId: string;
|
|
53
|
+
dataProductPath: string;
|
|
54
|
+
title: string;
|
|
55
|
+
description?: string | undefined;
|
|
56
|
+
groupId: string;
|
|
57
|
+
artifactId: string;
|
|
58
|
+
versionId: string;
|
|
59
|
+
environmentType: CubeDataProductEnvironmentType;
|
|
60
|
+
producerEnvironmentName?: string | undefined;
|
|
61
|
+
}) {
|
|
62
|
+
this.id = fields.id;
|
|
63
|
+
this.deploymentId = fields.deploymentId;
|
|
64
|
+
this.dataProductPath = fields.dataProductPath;
|
|
65
|
+
this.title = fields.title;
|
|
66
|
+
this.description = fields.description;
|
|
67
|
+
this.groupId = fields.groupId;
|
|
68
|
+
this.artifactId = fields.artifactId;
|
|
69
|
+
this.versionId = fields.versionId;
|
|
70
|
+
this.environmentType = fields.environmentType;
|
|
71
|
+
this.producerEnvironmentName = fields.producerEnvironmentName;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** Whether it was deployed from a moving version, whose data may change under a cube */
|
|
75
|
+
get isSnapshot(): boolean {
|
|
76
|
+
return isCubeSnapshotVersion(this.versionId);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** An access point of a deployed product, as its artifact describes it */
|
|
81
|
+
export class CubeAccessPoint {
|
|
82
|
+
readonly id: string;
|
|
83
|
+
readonly title: string | undefined;
|
|
84
|
+
readonly description: string | undefined;
|
|
85
|
+
/** Its columns, as the artifact types them; none when it can't be read */
|
|
86
|
+
readonly schema: Schema | undefined;
|
|
87
|
+
/** Why it can't be picked, e.g. it takes parameters; none when it can */
|
|
88
|
+
readonly disabledReason: string | undefined;
|
|
89
|
+
/** A few rows the artifact holds, by the schema's columns */
|
|
90
|
+
readonly sampleRows: readonly (readonly CubeResultValue[])[];
|
|
91
|
+
|
|
92
|
+
constructor(fields: {
|
|
93
|
+
id: string;
|
|
94
|
+
title?: string | undefined;
|
|
95
|
+
description?: string | undefined;
|
|
96
|
+
schema?: Schema | undefined;
|
|
97
|
+
disabledReason?: string | undefined;
|
|
98
|
+
sampleRows?: readonly (readonly CubeResultValue[])[];
|
|
99
|
+
}) {
|
|
100
|
+
this.id = fields.id;
|
|
101
|
+
this.title = fields.title;
|
|
102
|
+
this.description = fields.description;
|
|
103
|
+
this.schema = fields.schema;
|
|
104
|
+
this.disabledReason = fields.disabledReason;
|
|
105
|
+
this.sampleRows = fields.sampleRows ?? [];
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
get isPickable(): boolean {
|
|
109
|
+
return this.disabledReason === undefined && this.schema !== undefined;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export class CubeAccessPointGroup {
|
|
114
|
+
readonly id: string;
|
|
115
|
+
readonly title: string | undefined;
|
|
116
|
+
readonly accessPoints: readonly CubeAccessPoint[];
|
|
117
|
+
/** Open to everyone in the organization, as the host's marketplace marks such groups */
|
|
118
|
+
readonly isEnterprise: boolean;
|
|
119
|
+
|
|
120
|
+
constructor(fields: {
|
|
121
|
+
id: string;
|
|
122
|
+
title?: string | undefined;
|
|
123
|
+
accessPoints: readonly CubeAccessPoint[];
|
|
124
|
+
isEnterprise?: boolean | undefined;
|
|
125
|
+
}) {
|
|
126
|
+
this.id = fields.id;
|
|
127
|
+
this.title = fields.title;
|
|
128
|
+
this.accessPoints = fields.accessPoints;
|
|
129
|
+
this.isEnterprise = fields.isEnterprise ?? false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* The viewer's access to an access point group, as the marketplace shows
|
|
135
|
+
* it: open to everyone, granted, on its way through approval, refused, or
|
|
136
|
+
* never asked for
|
|
137
|
+
*/
|
|
138
|
+
export enum CubeAccessPointGroupAccess {
|
|
139
|
+
ENTERPRISE = 'ENTERPRISE',
|
|
140
|
+
APPROVED = 'APPROVED',
|
|
141
|
+
SUBMITTED_FOR_APPROVALS = 'SUBMITTED_FOR_APPROVALS',
|
|
142
|
+
PENDING_MANAGER_APPROVAL = 'PENDING_MANAGER_APPROVAL',
|
|
143
|
+
PENDING_DATA_OWNER_APPROVAL = 'PENDING_DATA_OWNER_APPROVAL',
|
|
144
|
+
DENIED = 'DENIED',
|
|
145
|
+
NO_ACCESS = 'NO_ACCESS',
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/** A deployed product's access points, by group */
|
|
149
|
+
export class CubeDataProductDescription {
|
|
150
|
+
readonly candidate: CubeDataProductCandidate;
|
|
151
|
+
readonly groups: readonly CubeAccessPointGroup[];
|
|
152
|
+
|
|
153
|
+
constructor(
|
|
154
|
+
candidate: CubeDataProductCandidate,
|
|
155
|
+
groups: readonly CubeAccessPointGroup[],
|
|
156
|
+
) {
|
|
157
|
+
this.candidate = candidate;
|
|
158
|
+
this.groups = groups;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/** Where a saved source's access point is */
|
|
163
|
+
export interface CubeAccessPointLocation {
|
|
164
|
+
readonly dataProduct: string;
|
|
165
|
+
readonly accessPointGroup: string;
|
|
166
|
+
readonly accessPoint: string;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/** What a marketplace link points at */
|
|
170
|
+
export interface CubeMarketplaceLinkTarget {
|
|
171
|
+
readonly dataProductId: string;
|
|
172
|
+
readonly deploymentId: string;
|
|
173
|
+
readonly environmentType: CubeDataProductEnvironmentType;
|
|
174
|
+
readonly accessPointGroup?: string | undefined;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* The deployed data products, for the source dialog and for re-checking
|
|
179
|
+
* saved sources: its own port, beside the `CubeEngine`, so hosts without
|
|
180
|
+
* data products need neither. Calls fail with a `CubeEngineError`: with no
|
|
181
|
+
* node for listing and describing, with the node's id for schemas
|
|
182
|
+
*/
|
|
183
|
+
export interface CubeDataProductCatalog {
|
|
184
|
+
/** The deployment classes the host lists, the default first */
|
|
185
|
+
readonly environmentTypes: readonly CubeDataProductEnvironmentType[];
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Whether `search` matches and ranks the text on a server. Otherwise the
|
|
189
|
+
* text is matched on the client, over the class's whole list
|
|
190
|
+
*/
|
|
191
|
+
readonly searchesOnServer?: boolean | undefined;
|
|
192
|
+
|
|
193
|
+
/** The most products one server search gives: an answer this long may be cut short */
|
|
194
|
+
readonly searchLimit?: number | undefined;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Whether an answer `search` gave leaves out matches the server has, as
|
|
198
|
+
* its page says, counting rows the catalog dropped. Without it, an answer
|
|
199
|
+
* as long as `searchLimit` is taken to be cut short
|
|
200
|
+
*/
|
|
201
|
+
readonly isCutShort?:
|
|
202
|
+
| ((answer: readonly CubeDataProductCandidate[]) => boolean)
|
|
203
|
+
| undefined;
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* The deployed products of a class whose title, id or description holds
|
|
207
|
+
* the text, or, searching on a server, the ones it matches, in its order
|
|
208
|
+
*/
|
|
209
|
+
search(
|
|
210
|
+
search: {
|
|
211
|
+
text: string;
|
|
212
|
+
environmentType: CubeDataProductEnvironmentType;
|
|
213
|
+
},
|
|
214
|
+
signal?: AbortSignal,
|
|
215
|
+
): Promise<readonly CubeDataProductCandidate[]>;
|
|
216
|
+
|
|
217
|
+
/** A product's access points, read from its artifact at the version it was deployed from */
|
|
218
|
+
describe(
|
|
219
|
+
candidate: CubeDataProductCandidate,
|
|
220
|
+
signal?: AbortSignal,
|
|
221
|
+
): Promise<CubeDataProductDescription>;
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* The schema of each saved source, from the artifact at the cube's
|
|
225
|
+
* version: one entry per key, failures included. `fresh` reads the
|
|
226
|
+
* artifact again rather than what this page visit read, e.g. on Refresh
|
|
227
|
+
*/
|
|
228
|
+
resolveSchemas(
|
|
229
|
+
project: CubeDataProductProject,
|
|
230
|
+
sources: ReadonlyMap<NodeId, CubeAccessPointLocation>,
|
|
231
|
+
options?: { readonly fresh?: boolean | undefined },
|
|
232
|
+
): Promise<Map<NodeId, Schema | CubeEngineError>>;
|
|
233
|
+
|
|
234
|
+
/** The product's page in the marketplace, or none when the host has no marketplace */
|
|
235
|
+
getMarketplaceLink(target: CubeMarketplaceLinkTarget): string | undefined;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* The viewer's access to each of the product's access point groups, by
|
|
239
|
+
* group id; a group it can't tell has no entry. Optional: a host without
|
|
240
|
+
* it shows no access
|
|
241
|
+
*/
|
|
242
|
+
getAccess?(
|
|
243
|
+
candidate: CubeDataProductCandidate,
|
|
244
|
+
signal?: AbortSignal,
|
|
245
|
+
): Promise<ReadonlyMap<string, CubeAccessPointGroupAccess>>;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Where a data product cube's engine reads the project its data products
|
|
250
|
+
* are in, as protocol JSON: by default the project at the version they were
|
|
251
|
+
* deployed from (a pointer); a host's own, e.g. Studio's workspace, whose
|
|
252
|
+
* data products aren't deployed. Fails with a `CubeEngineError`
|
|
253
|
+
*/
|
|
254
|
+
export interface CubeDataProductModelSource {
|
|
255
|
+
getProjectModel(project: CubeDataProductProject): Promise<PlainObject>;
|
|
256
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { ModelContext } from '@finos/legend-cube';
|
|
18
|
+
import type {
|
|
19
|
+
CubeDirectConnection,
|
|
20
|
+
CubeExploredTable,
|
|
21
|
+
} from './CubeConnectionExplorer.js';
|
|
22
|
+
|
|
23
|
+
// A direct-connection cube (PLAN §6.8) saves its connection once, as its
|
|
24
|
+
// model, and its tables stay ordinary relational sources of one generated
|
|
25
|
+
// Database. The engine's implementation builds that Database, its connection
|
|
26
|
+
// and its runtime for each call, from the tables the call needs; their paths
|
|
27
|
+
// are fixed, so saved tables and the saved runtime always name them
|
|
28
|
+
|
|
29
|
+
/** The kind of a direct-connection cube's model: Cube's own, never an engine model kind */
|
|
30
|
+
export const CUBE_DIRECT_MODEL_TYPE = 'cubeDirectConnection';
|
|
31
|
+
|
|
32
|
+
/** The Database every table of a direct-connection cube belongs to */
|
|
33
|
+
export const CUBE_DIRECT_DATABASE_PATH = 'cube::direct::Database';
|
|
34
|
+
export const CUBE_DIRECT_CONNECTION_PATH = 'cube::direct::Connection';
|
|
35
|
+
/** The runtime a direct-connection cube runs with */
|
|
36
|
+
export const CUBE_DIRECT_RUNTIME_PATH = 'cube::direct::Runtime';
|
|
37
|
+
|
|
38
|
+
/** The model of a direct-connection cube */
|
|
39
|
+
export const createCubeDirectModel = (
|
|
40
|
+
connection: CubeDirectConnection,
|
|
41
|
+
): ModelContext =>
|
|
42
|
+
// the connection is protocol JSON, so plain JSON
|
|
43
|
+
({ _type: CUBE_DIRECT_MODEL_TYPE, connection }) as unknown as ModelContext;
|
|
44
|
+
|
|
45
|
+
/** The connection of a direct-connection cube's model; undefined for any other model */
|
|
46
|
+
export const getCubeDirectConnection = (
|
|
47
|
+
model: ModelContext,
|
|
48
|
+
): CubeDirectConnection | undefined =>
|
|
49
|
+
model._type === CUBE_DIRECT_MODEL_TYPE &&
|
|
50
|
+
model.connection &&
|
|
51
|
+
typeof model.connection === 'object' &&
|
|
52
|
+
!Array.isArray(model.connection)
|
|
53
|
+
? (model.connection as CubeDirectConnection)
|
|
54
|
+
: undefined;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* The coordinates of a table read from the connection's database, every name
|
|
58
|
+
* quoted as the built Database stores it
|
|
59
|
+
*/
|
|
60
|
+
export const getCubeDirectTableCoordinates = (
|
|
61
|
+
schema: string,
|
|
62
|
+
table: CubeExploredTable,
|
|
63
|
+
): { database: string; schema: string; table: string } => ({
|
|
64
|
+
database: CUBE_DIRECT_DATABASE_PATH,
|
|
65
|
+
schema: `"${schema}"`,
|
|
66
|
+
table: table.storedName,
|
|
67
|
+
});
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import type { IR, ModelContext, Schema } from '@finos/legend-cube';
|
|
17
|
+
import type { IR, JsonObject, ModelContext, Schema } from '@finos/legend-cube';
|
|
18
18
|
|
|
19
19
|
// The engine port (PLAN §8.7): what Cube asks of an engine, in Cube's own
|
|
20
20
|
// terms. Only its Legend implementation, under `protocol/pure/v1/`, knows the
|
|
@@ -84,10 +84,45 @@ export interface CubeOutlineRuntime {
|
|
|
84
84
|
readonly connections?: readonly CubeOutlineConnection[];
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
/**
|
|
87
|
+
/** A parameter of a function, as its signature declares it */
|
|
88
|
+
export interface CubeOutlineFunctionParameter {
|
|
89
|
+
readonly name: string;
|
|
90
|
+
/** Its type's path, as written, e.g. `Float` */
|
|
91
|
+
readonly type: string;
|
|
92
|
+
/** Its multiplicity, as written, e.g. `[1]`, `[0..1]` or `[*]` */
|
|
93
|
+
readonly multiplicity: string;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/** A column a function declares it returns, e.g. `ID:Integer` */
|
|
97
|
+
export interface CubeOutlineFunctionColumn {
|
|
98
|
+
readonly name: string;
|
|
99
|
+
readonly type: string;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/** A function of a model that returns a relation (PLAN §6.5), as plain data */
|
|
103
|
+
export interface CubeOutlineFunction {
|
|
104
|
+
/** The path the lambda calls it by, e.g. `sales::ordersAbove` */
|
|
105
|
+
readonly path: string;
|
|
106
|
+
/** The engine's full name, e.g. `sales::ordersAbove_Float_1__Relation_1_` */
|
|
107
|
+
readonly signature: string;
|
|
108
|
+
readonly parameters: readonly CubeOutlineFunctionParameter[];
|
|
109
|
+
readonly columns: readonly CubeOutlineFunctionColumn[];
|
|
110
|
+
/**
|
|
111
|
+
* The runtime it reads through, as its body's `from()` names it, directly
|
|
112
|
+
* or through a function it calls; none when it leaves the runtime to its
|
|
113
|
+
* caller
|
|
114
|
+
*/
|
|
115
|
+
readonly runtime?: string | undefined;
|
|
116
|
+
/** Why it can't be added, e.g. a parameter Cube can't take a value for */
|
|
117
|
+
readonly problem?: string | undefined;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/** What a model offers the source picker: its databases, runtimes and functions, as plain data */
|
|
88
121
|
export interface CubeModelOutline {
|
|
89
122
|
readonly databases: readonly CubeOutlineDatabase[];
|
|
90
123
|
readonly runtimes: readonly CubeOutlineRuntime[];
|
|
124
|
+
/** Its functions that return a relation; optional, as an outline from before them has none */
|
|
125
|
+
readonly functions?: readonly CubeOutlineFunction[] | undefined;
|
|
91
126
|
}
|
|
92
127
|
|
|
93
128
|
export enum CubeEngineErrorKind {
|
|
@@ -101,6 +136,30 @@ export enum CubeEngineErrorKind {
|
|
|
101
136
|
NETWORK = 'network',
|
|
102
137
|
}
|
|
103
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Where in a text the engine places a problem: the source id the text was
|
|
141
|
+
* parsed under, and its 1-based first and last lines and columns, the last
|
|
142
|
+
* column included (an Extend column's expression, PLAN §11.7)
|
|
143
|
+
*/
|
|
144
|
+
export interface CubeSourceLocation {
|
|
145
|
+
readonly sourceId: string;
|
|
146
|
+
readonly startLine: number;
|
|
147
|
+
readonly startColumn: number;
|
|
148
|
+
readonly endLine: number;
|
|
149
|
+
readonly endColumn: number;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* An expression's text as the engine's JSON (PLAN §11.7), its number
|
|
154
|
+
* literals as their digit strings: as a column stores it, with no source
|
|
155
|
+
* information, and as the engine located it in the text, so a later error
|
|
156
|
+
* can point into the text
|
|
157
|
+
*/
|
|
158
|
+
export interface CubeParsedExpression {
|
|
159
|
+
readonly lambda: JsonObject;
|
|
160
|
+
readonly located: JsonObject;
|
|
161
|
+
}
|
|
162
|
+
|
|
104
163
|
/**
|
|
105
164
|
* An engine failure, placed on the node it concerns: the node a stamp in the
|
|
106
165
|
* error points to, else the source being typed or the node being run.
|
|
@@ -114,12 +173,15 @@ export class CubeEngineError extends Error {
|
|
|
114
173
|
readonly firstLine: string;
|
|
115
174
|
/** The engine's whole message, without its Java trace, shown in the panel */
|
|
116
175
|
readonly detail: string;
|
|
176
|
+
/** Where in a text the error is, when the text was parsed with its locations */
|
|
177
|
+
readonly location: CubeSourceLocation | undefined;
|
|
117
178
|
|
|
118
179
|
constructor(
|
|
119
180
|
kind: CubeEngineErrorKind,
|
|
120
181
|
detail: string,
|
|
121
182
|
nodeId?: NodeId,
|
|
122
183
|
role?: string,
|
|
184
|
+
location?: CubeSourceLocation,
|
|
123
185
|
) {
|
|
124
186
|
const firstLine = detail.split('\n', 1)[0]?.trim() ?? '';
|
|
125
187
|
super(firstLine);
|
|
@@ -129,6 +191,7 @@ export class CubeEngineError extends Error {
|
|
|
129
191
|
this.firstLine = firstLine;
|
|
130
192
|
this.nodeId = nodeId;
|
|
131
193
|
this.role = role;
|
|
194
|
+
this.location = location;
|
|
132
195
|
}
|
|
133
196
|
}
|
|
134
197
|
|
|
@@ -164,6 +227,35 @@ export interface CubeEngine {
|
|
|
164
227
|
lambda: IR,
|
|
165
228
|
options?: { abortController?: AbortController | undefined },
|
|
166
229
|
): Promise<CubeResult>;
|
|
230
|
+
/**
|
|
231
|
+
* Runs an execution lambda and gives its rows as CSV text (PLAN §11.10):
|
|
232
|
+
* the engine's own, a header row first, every value as the engine writes
|
|
233
|
+
* it; rejects with a `CubeEngineError`
|
|
234
|
+
*/
|
|
235
|
+
exportCsv(
|
|
236
|
+
model: ModelContext,
|
|
237
|
+
lambda: IR,
|
|
238
|
+
options?: { abortController?: AbortController | undefined },
|
|
239
|
+
): Promise<string>;
|
|
167
240
|
/** The Pure text of a lambda, for display only: never parsed back */
|
|
168
241
|
renderPure(lambda: IR): Promise<string>;
|
|
242
|
+
/**
|
|
243
|
+
* A lambda as the engine receives it, pretty-printed, its numbers kept
|
|
244
|
+
* exact (PLAN §11.16): for a viewer to copy while debugging a run
|
|
245
|
+
*/
|
|
246
|
+
serializeLambda(lambda: IR): string;
|
|
247
|
+
/**
|
|
248
|
+
* An Extend column's expression as the engine's JSON (PLAN §11.7), located
|
|
249
|
+
* under the source id; rejects with a `CubeEngineError` placed in the text
|
|
250
|
+
*/
|
|
251
|
+
parseExpression(
|
|
252
|
+
code: string,
|
|
253
|
+
sourceId: string,
|
|
254
|
+
): Promise<CubeParsedExpression>;
|
|
255
|
+
/**
|
|
256
|
+
* Plans an execution lambda for its runtime's database, as a run would,
|
|
257
|
+
* without running it: some expressions type, then fail when planned (PLAN
|
|
258
|
+
* §11.7). Rejects with a `CubeEngineError`
|
|
259
|
+
*/
|
|
260
|
+
planLambda(model: ModelContext, lambda: IR): Promise<void>;
|
|
169
261
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/** What Dev Settings changes on an engine client: the engine server client's own setters */
|
|
18
|
+
export interface CubeEngineClientControls {
|
|
19
|
+
setBaseUrl(url: string | undefined): void;
|
|
20
|
+
setCompression(enabled: boolean): void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The settings every engine client of Cube shares (PLAN §11.16): the
|
|
25
|
+
* engine's URL and whether requests are compressed. The engine, the
|
|
26
|
+
* connection explorer and the catalogs each have their own client, built
|
|
27
|
+
* from the same configuration; each registers here, so Dev Settings changes
|
|
28
|
+
* them all at once. A change takes effect from the next request.
|
|
29
|
+
*/
|
|
30
|
+
export class CubeEngineClientSettings {
|
|
31
|
+
/** The URL the host configured, to go back to */
|
|
32
|
+
readonly defaultBaseUrl: string | undefined;
|
|
33
|
+
baseUrl: string | undefined;
|
|
34
|
+
requestCompression: boolean;
|
|
35
|
+
private readonly clients: CubeEngineClientControls[] = [];
|
|
36
|
+
|
|
37
|
+
constructor(config: {
|
|
38
|
+
readonly baseUrl?: string | undefined;
|
|
39
|
+
readonly enableCompression?: boolean | undefined;
|
|
40
|
+
}) {
|
|
41
|
+
this.defaultBaseUrl = config.baseUrl;
|
|
42
|
+
this.baseUrl = config.baseUrl;
|
|
43
|
+
this.requestCompression = Boolean(config.enableCompression);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Adds a client built from the same configuration, given the settings changed since */
|
|
47
|
+
register(client: CubeEngineClientControls): void {
|
|
48
|
+
this.clients.push(client);
|
|
49
|
+
if (this.baseUrl !== this.defaultBaseUrl) {
|
|
50
|
+
client.setBaseUrl(this.baseUrl);
|
|
51
|
+
}
|
|
52
|
+
client.setCompression(this.requestCompression);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
setBaseUrl(url: string | undefined): void {
|
|
56
|
+
this.baseUrl = url;
|
|
57
|
+
this.clients.forEach((client) => client.setBaseUrl(url));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
setRequestCompression(enabled: boolean): void {
|
|
61
|
+
this.requestCompression = enabled;
|
|
62
|
+
this.clients.forEach((client) => client.setCompression(enabled));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { ModelContext } from '@finos/legend-cube';
|
|
18
|
+
import { CubeDataProductEnvironmentType } from './CubeDataProduct.js';
|
|
19
|
+
|
|
20
|
+
// An ingest cube (PLAN §6.7) saves, as its model, what Data Cube's producer
|
|
21
|
+
// source picks before a definition: the class (production or production
|
|
22
|
+
// parallel), the producer deployment and, once picked, the warehouse. Its
|
|
23
|
+
// sources save each definition's URN, path and data set. The engine's
|
|
24
|
+
// implementation builds, for each call, a model of the definitions the call
|
|
25
|
+
// reads, as the ingest server serves them, and for a run a lakehouse runtime
|
|
26
|
+
// at a fixed path, which the saved runtime names
|
|
27
|
+
|
|
28
|
+
export const CUBE_INGEST_MODEL_TYPE = 'cubeIngest';
|
|
29
|
+
|
|
30
|
+
export const CUBE_INGEST_RUNTIME_PATH = 'cube::ingest::Runtime';
|
|
31
|
+
|
|
32
|
+
/** What an ingest cube runs on, as its model saves it */
|
|
33
|
+
export interface CubeIngestSettings {
|
|
34
|
+
readonly environmentType: CubeDataProductEnvironmentType;
|
|
35
|
+
/** The producer deployment whose definitions the cube reads, as text */
|
|
36
|
+
readonly producerDeploymentId: string;
|
|
37
|
+
/** The warehouse the cube runs on; none until one is picked */
|
|
38
|
+
readonly warehouse?: string | undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const ENVIRONMENT_TYPES = Object.values(
|
|
42
|
+
CubeDataProductEnvironmentType,
|
|
43
|
+
) as string[];
|
|
44
|
+
|
|
45
|
+
const isNonEmptyString = (value: unknown): value is string =>
|
|
46
|
+
typeof value === 'string' && value.length > 0;
|
|
47
|
+
|
|
48
|
+
export const createCubeIngestModel = (
|
|
49
|
+
settings: CubeIngestSettings,
|
|
50
|
+
): ModelContext =>
|
|
51
|
+
({
|
|
52
|
+
_type: CUBE_INGEST_MODEL_TYPE,
|
|
53
|
+
environmentType: settings.environmentType,
|
|
54
|
+
producerDeploymentId: settings.producerDeploymentId,
|
|
55
|
+
...(settings.warehouse !== undefined
|
|
56
|
+
? { warehouse: settings.warehouse }
|
|
57
|
+
: {}),
|
|
58
|
+
}) as ModelContext;
|
|
59
|
+
|
|
60
|
+
export const isCubeIngestModel = (model: ModelContext): boolean =>
|
|
61
|
+
model._type === CUBE_INGEST_MODEL_TYPE;
|
|
62
|
+
|
|
63
|
+
/** The same model, running on another warehouse */
|
|
64
|
+
export const withCubeIngestWarehouse = (
|
|
65
|
+
model: ModelContext,
|
|
66
|
+
warehouse: string,
|
|
67
|
+
): ModelContext => ({ ...model, warehouse });
|
|
68
|
+
|
|
69
|
+
/** What's wrong with an ingest model, e.g. one saved by a later Cube: nothing for one Cube can use */
|
|
70
|
+
export const checkCubeIngestModel = (
|
|
71
|
+
model: ModelContext,
|
|
72
|
+
): readonly string[] => {
|
|
73
|
+
const problems: string[] = [];
|
|
74
|
+
if (!ENVIRONMENT_TYPES.includes(model.environmentType as string)) {
|
|
75
|
+
problems.push(
|
|
76
|
+
`Cube doesn't know the environment type "${String(model.environmentType)}"`,
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
if (
|
|
80
|
+
typeof model.producerDeploymentId !== 'string' ||
|
|
81
|
+
!/^\d+$/u.test(model.producerDeploymentId)
|
|
82
|
+
) {
|
|
83
|
+
problems.push(`The cube's producer deployment must be a deployment id`);
|
|
84
|
+
}
|
|
85
|
+
if (model.warehouse !== undefined && !isNonEmptyString(model.warehouse)) {
|
|
86
|
+
problems.push(`The cube's warehouse must be a name`);
|
|
87
|
+
}
|
|
88
|
+
return problems;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
/** An ingest model's settings, when Cube can use it */
|
|
92
|
+
export const getCubeIngestSettings = (
|
|
93
|
+
model: ModelContext,
|
|
94
|
+
): CubeIngestSettings | undefined =>
|
|
95
|
+
isCubeIngestModel(model) && !checkCubeIngestModel(model).length
|
|
96
|
+
? {
|
|
97
|
+
environmentType:
|
|
98
|
+
model.environmentType as CubeDataProductEnvironmentType,
|
|
99
|
+
producerDeploymentId: model.producerDeploymentId as string,
|
|
100
|
+
warehouse: model.warehouse as string | undefined,
|
|
101
|
+
}
|
|
102
|
+
: undefined;
|
|
103
|
+
|
|
104
|
+
/** The class a URN's environment segment names */
|
|
105
|
+
const URN_ENVIRONMENT_TYPES: Readonly<
|
|
106
|
+
Record<string, CubeDataProductEnvironmentType>
|
|
107
|
+
> = {
|
|
108
|
+
prod: CubeDataProductEnvironmentType.PRODUCTION,
|
|
109
|
+
'prod-parallel': CubeDataProductEnvironmentType.PRODUCTION_PARALLEL,
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/** What an SDLC-deployed definition's URN names: its class, its project and its path */
|
|
113
|
+
export interface CubeIngestUrn {
|
|
114
|
+
readonly environmentType: CubeDataProductEnvironmentType;
|
|
115
|
+
readonly groupId: string;
|
|
116
|
+
readonly artifactId: string;
|
|
117
|
+
/** The IngestDefinition element's path */
|
|
118
|
+
readonly definition: string;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/** The URN's environment segment of each class */
|
|
122
|
+
const URN_ENVIRONMENTS: Readonly<
|
|
123
|
+
Record<CubeDataProductEnvironmentType, string>
|
|
124
|
+
> = {
|
|
125
|
+
[CubeDataProductEnvironmentType.PRODUCTION]: 'prod',
|
|
126
|
+
[CubeDataProductEnvironmentType.PRODUCTION_PARALLEL]: 'prod-parallel',
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* The URN of a definition deployed from SDLC, as `parseCubeIngestUrn` reads
|
|
131
|
+
* it: for a host naming definitions of its own, e.g. Studio's workspace
|
|
132
|
+
*/
|
|
133
|
+
export const formatCubeIngestUrn = (urn: CubeIngestUrn): string =>
|
|
134
|
+
`urn:lakehouse:${URN_ENVIRONMENTS[urn.environmentType]}:ingest:definition:alloy-git:${urn.groupId}~${urn.artifactId}~${urn.definition}`;
|
|
135
|
+
|
|
136
|
+
const SDLC_DEPLOYED_URN =
|
|
137
|
+
/^urn:lakehouse:(?<environment>[^:]+):ingest:definition:alloy-git:(?<groupId>[^~]+)~(?<artifactId>[^~]+)~(?<definition>.+)$/u;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* A deployed definition's URN, when it was deployed from SDLC
|
|
141
|
+
* (`urn:lakehouse:<prod|prod-parallel>:ingest:definition:alloy-git:<group>~<artifact>~<path>`);
|
|
142
|
+
* nothing for an ad hoc one (`rest-api:`), another class, or text that isn't one
|
|
143
|
+
*/
|
|
144
|
+
export const parseCubeIngestUrn = (urn: string): CubeIngestUrn | undefined => {
|
|
145
|
+
const parts = SDLC_DEPLOYED_URN.exec(urn)?.groups;
|
|
146
|
+
const environment = parts?.environment;
|
|
147
|
+
const environmentType =
|
|
148
|
+
environment && Object.hasOwn(URN_ENVIRONMENT_TYPES, environment)
|
|
149
|
+
? URN_ENVIRONMENT_TYPES[environment]
|
|
150
|
+
: undefined;
|
|
151
|
+
return parts && environmentType
|
|
152
|
+
? {
|
|
153
|
+
environmentType,
|
|
154
|
+
groupId: parts.groupId ?? '',
|
|
155
|
+
artifactId: parts.artifactId ?? '',
|
|
156
|
+
definition: parts.definition ?? '',
|
|
157
|
+
}
|
|
158
|
+
: undefined;
|
|
159
|
+
};
|