@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
|
@@ -13,10 +13,12 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { isSchemasError,
|
|
16
|
+
import { isSchemasError, } from '@finos/legend-cube';
|
|
17
17
|
import { assertErrorThrown } from '@finos/legend-shared';
|
|
18
|
-
import { action, computed, flow,
|
|
18
|
+
import { action, computed, flow, makeObservable, observable } from 'mobx';
|
|
19
19
|
import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
|
|
20
|
+
import { CUBE_RUN_LABEL } from '../__lib__/LegendCubeLabels.js';
|
|
21
|
+
import { runCubeQuery } from './CubeQueryRun.js';
|
|
20
22
|
/**
|
|
21
23
|
* The first error found walking up from the capture node, named by its node.
|
|
22
24
|
* A node that is invalid only because an input is gets passed over for that
|
|
@@ -70,11 +72,14 @@ export class CubeExecutionState {
|
|
|
70
72
|
get isRunning() {
|
|
71
73
|
return this.runController !== undefined;
|
|
72
74
|
}
|
|
73
|
-
/** The shown result no longer matches the query or the row limit; it is kept until the next run */
|
|
75
|
+
/** The shown result no longer matches the query, the context or the row limit; it is kept until the next run */
|
|
74
76
|
get isStale() {
|
|
75
77
|
return (this.result !== undefined &&
|
|
76
78
|
!this.isRunning &&
|
|
77
79
|
(this.result.query !== this.editorState.document.query ||
|
|
80
|
+
this.result.context !== this.editorState.document.context ||
|
|
81
|
+
this.result.warehouse !==
|
|
82
|
+
this.editorState.dataProductRuntime.effectiveWarehouse ||
|
|
78
83
|
this.result.rowLimit !== this.editorState.rowLimit));
|
|
79
84
|
}
|
|
80
85
|
/**
|
|
@@ -97,9 +102,11 @@ export class CubeExecutionState {
|
|
|
97
102
|
}
|
|
98
103
|
const captureId = query.selected;
|
|
99
104
|
if (captureId === undefined) {
|
|
100
|
-
reasons.push('
|
|
105
|
+
reasons.push('Pick the step to run: Run this step, from its menu or editor.');
|
|
101
106
|
}
|
|
102
|
-
else if (!emitter.canEmit(captureId)
|
|
107
|
+
else if (!emitter.canEmit(captureId) ||
|
|
108
|
+
// as the editor sees it: an Extend typed for another input waits
|
|
109
|
+
(analysis.validity.get(captureId) ?? []).length > 0) {
|
|
103
110
|
reasons.push(findUpstreamError(query, analysis.validity, captureId));
|
|
104
111
|
}
|
|
105
112
|
return reasons;
|
|
@@ -111,8 +118,9 @@ export class CubeExecutionState {
|
|
|
111
118
|
if (this.isRunning || !this.canExecute) {
|
|
112
119
|
return;
|
|
113
120
|
}
|
|
114
|
-
const { document,
|
|
121
|
+
const { document, analysis, rowLimit } = this.editorState;
|
|
115
122
|
const { query, context } = document;
|
|
123
|
+
const warehouse = this.editorState.dataProductRuntime.effectiveWarehouse;
|
|
116
124
|
// checked by canExecute
|
|
117
125
|
const captureId = query.selected;
|
|
118
126
|
const model = context?.model;
|
|
@@ -126,47 +134,33 @@ export class CubeExecutionState {
|
|
|
126
134
|
this.runController = controller;
|
|
127
135
|
this.error = undefined;
|
|
128
136
|
this.editorState.clearHostIssues();
|
|
137
|
+
// an export's failure is of the run it exported
|
|
138
|
+
this.editorState.export.clearError();
|
|
129
139
|
try {
|
|
130
|
-
//
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if (needsDatabaseType(query, captureId)) {
|
|
135
|
-
yield flowResult(this.editorState.loadModelOutline(model));
|
|
136
|
-
if (this.runController !== controller || controller.signal.aborted) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
databaseType = this.editorState.getRunDatabaseType(query, captureId, model, runtime);
|
|
140
|
-
}
|
|
141
|
-
const lambda = emitter.emitExecutionLambda({
|
|
142
|
-
rowLimit,
|
|
140
|
+
// the query, model and runtime are the ones captured
|
|
141
|
+
const run = (yield runCubeQuery(this.editorState, {
|
|
142
|
+
query,
|
|
143
|
+
model,
|
|
143
144
|
runtime,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const response = (yield host.engine.execute(model, lambda, {
|
|
145
|
+
schema,
|
|
146
|
+
rowLimit,
|
|
147
147
|
abortController: controller,
|
|
148
|
+
label: CUBE_RUN_LABEL.EXECUTE,
|
|
148
149
|
}));
|
|
149
150
|
if (this.runController !== controller) {
|
|
150
151
|
return;
|
|
151
152
|
}
|
|
152
|
-
// rows are read by position, so the engine's columns must be the query's
|
|
153
|
-
if (response.columns.length !== schema.columns.length) {
|
|
154
|
-
throw new CubeEngineError(CubeEngineErrorKind.EXECUTION, `The engine returned ${response.columns.length} columns, but the query has ${schema.columns.length}`, captureId);
|
|
155
|
-
}
|
|
156
|
-
const misplaced = schema.columns.findIndex((column, position) => response.columns[position] !== column.name);
|
|
157
|
-
if (misplaced !== -1) {
|
|
158
|
-
throw new CubeEngineError(CubeEngineErrorKind.EXECUTION, `The engine returned the column "${response.columns[misplaced]}" at position ${misplaced + 1}, but the query has "${schema.columns[misplaced]?.name}" there`, captureId);
|
|
159
|
-
}
|
|
160
|
-
const limited = response.rows.length > rowLimit;
|
|
161
153
|
this.result = {
|
|
162
154
|
id: ++this.runCount,
|
|
163
155
|
query,
|
|
156
|
+
context,
|
|
157
|
+
warehouse,
|
|
164
158
|
schema,
|
|
165
|
-
rows:
|
|
159
|
+
rows: run.rows,
|
|
166
160
|
rowLimit,
|
|
167
|
-
limited,
|
|
168
|
-
sql:
|
|
169
|
-
durationMs:
|
|
161
|
+
limited: run.limited,
|
|
162
|
+
sql: run.sql,
|
|
163
|
+
durationMs: run.durationMs,
|
|
170
164
|
};
|
|
171
165
|
}
|
|
172
166
|
catch (error) {
|
|
@@ -180,9 +174,11 @@ export class CubeExecutionState {
|
|
|
180
174
|
: new CubeEngineError(CubeEngineErrorKind.EXECUTION, error.message, captureId);
|
|
181
175
|
// the rows of an earlier run are never shown as this run's
|
|
182
176
|
this.result = undefined;
|
|
183
|
-
// an error belongs to the query it came from: one
|
|
184
|
-
// the run was in flight drops it, as an edit after
|
|
185
|
-
|
|
177
|
+
// an error belongs to the query and the context it came from: one
|
|
178
|
+
// that changed while the run was in flight drops it, as an edit after
|
|
179
|
+
// the run would
|
|
180
|
+
if (this.editorState.document.query === query &&
|
|
181
|
+
this.editorState.document.context === context) {
|
|
186
182
|
this.error = engineError;
|
|
187
183
|
this.editorState.setHostIssue(engineError.nodeId ?? captureId, engineError);
|
|
188
184
|
}
|
|
@@ -205,6 +201,11 @@ export class CubeExecutionState {
|
|
|
205
201
|
/** Stops any run and forgets the last one's rows and error, e.g. when another cube is opened */
|
|
206
202
|
reset() {
|
|
207
203
|
this.stop();
|
|
204
|
+
this.editorState.gridFetcher.purge();
|
|
205
|
+
this.editorState.export.stop();
|
|
206
|
+
// an export's failure is of the run it exported (review of M7)
|
|
207
|
+
this.editorState.export.clearError();
|
|
208
|
+
this.editorState.grid.closeSettings();
|
|
208
209
|
this.result = undefined;
|
|
209
210
|
this.error = undefined;
|
|
210
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeExecutionState.js","sourceRoot":"","sources":["../../src/stores/CubeExecutionState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"CubeExecutionState.js","sourceRoot":"","sources":["../../src/stores/CubeExecutionState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { type ColumnDirection } from '@finos/legend-cube';
|
|
17
|
+
import { type GeneratorFn } from '@finos/legend-shared';
|
|
18
|
+
import { CubeEngineError } from '../graph-manager/CubeEngine.js';
|
|
19
|
+
import type { CubeEditorState } from './CubeEditorState.js';
|
|
20
|
+
import type { CubeExecutionResult } from './CubeExecutionState.js';
|
|
21
|
+
export declare const CUBE_EXPORT_CONTEXT_CHANGED = "The cube's model, runtime or warehouse changed since this run: execute again to export it.";
|
|
22
|
+
/** A file name for a cube's export, from its name, e.g. `Largest_buys.csv` */
|
|
23
|
+
export declare const getCubeExportFileName: (name: string | undefined, extension: "csv" | "xlsx") => string;
|
|
24
|
+
/**
|
|
25
|
+
* The results' export (spec §12.5, PLAN §11.10): CSV of the whole query,
|
|
26
|
+
* run on the engine with no row limit, sorted as the grid is, saved by the
|
|
27
|
+
* browser. Only the run on screen is exported, in the context it ran in. A
|
|
28
|
+
* failure is kept for the grid region; Stop aborts the export.
|
|
29
|
+
*/
|
|
30
|
+
export declare class CubeExportState {
|
|
31
|
+
readonly editorState: CubeEditorState;
|
|
32
|
+
error: CubeEngineError | undefined;
|
|
33
|
+
private controller;
|
|
34
|
+
constructor(editorState: CubeEditorState);
|
|
35
|
+
get isExporting(): boolean;
|
|
36
|
+
/** The run's whole query as CSV, sorted as the grid is (by the run's column names) */
|
|
37
|
+
exportCsv(result: CubeExecutionResult, sorts?: readonly ColumnDirection[]): GeneratorFn<void>;
|
|
38
|
+
stop(): void;
|
|
39
|
+
clearError(): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=CubeExportState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeExportState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeExportState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,eAAe,EAKrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EACL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,eAAO,MAAM,2BAA2B,+FACsD,CAAC;AAE/F,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,GAAG,SAAS,EACxB,WAAW,KAAK,GAAG,MAAM,KACxB,MAGF,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,UAAU,CAA8B;gBAEpC,WAAW,EAAE,eAAe;IAYxC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,sFAAsF;IACrF,SAAS,CACR,MAAM,EAAE,mBAAmB,EAC3B,KAAK,GAAE,SAAS,eAAe,EAAO,GACrC,WAAW,CAAC,IAAI,CAAC;IAkGpB,IAAI,IAAI,IAAI;IAKZ,UAAU,IAAI,IAAI;CAGnB"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { checkDrilldown, deriveDrilldownLevel, needsDatabaseType, QueryEmitter, } from '@finos/legend-cube';
|
|
17
|
+
import { assertErrorThrown, ContentType, downloadFileUsingDataURI, } from '@finos/legend-shared';
|
|
18
|
+
import { action, computed, flow, flowResult, makeObservable, observable, } from 'mobx';
|
|
19
|
+
import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
|
|
20
|
+
import { CUBE_RUN_LABEL } from '../__lib__/LegendCubeLabels.js';
|
|
21
|
+
export const CUBE_EXPORT_CONTEXT_CHANGED = "The cube's model, runtime or warehouse changed since this run: execute again to export it.";
|
|
22
|
+
/** A file name for a cube's export, from its name, e.g. `Largest_buys.csv` */
|
|
23
|
+
export const getCubeExportFileName = (name, extension) => {
|
|
24
|
+
const base = name?.trim().replace(/[^\w.-]+/gu, '_') ?? '';
|
|
25
|
+
return `${base.length ? base : 'cube'}.${extension}`;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* The results' export (spec §12.5, PLAN §11.10): CSV of the whole query,
|
|
29
|
+
* run on the engine with no row limit, sorted as the grid is, saved by the
|
|
30
|
+
* browser. Only the run on screen is exported, in the context it ran in. A
|
|
31
|
+
* failure is kept for the grid region; Stop aborts the export.
|
|
32
|
+
*/
|
|
33
|
+
export class CubeExportState {
|
|
34
|
+
editorState;
|
|
35
|
+
error;
|
|
36
|
+
controller;
|
|
37
|
+
constructor(editorState) {
|
|
38
|
+
makeObservable(this, {
|
|
39
|
+
error: observable.ref,
|
|
40
|
+
controller: observable.ref,
|
|
41
|
+
isExporting: computed,
|
|
42
|
+
exportCsv: flow,
|
|
43
|
+
stop: action,
|
|
44
|
+
clearError: action,
|
|
45
|
+
});
|
|
46
|
+
this.editorState = editorState;
|
|
47
|
+
}
|
|
48
|
+
get isExporting() {
|
|
49
|
+
return this.controller !== undefined;
|
|
50
|
+
}
|
|
51
|
+
/** The run's whole query as CSV, sorted as the grid is (by the run's column names) */
|
|
52
|
+
*exportCsv(result, sorts = []) {
|
|
53
|
+
const { editorState } = this;
|
|
54
|
+
const model = result.context?.model;
|
|
55
|
+
const runtime = result.context?.runtime;
|
|
56
|
+
const captureId = result.query.selected;
|
|
57
|
+
if (this.isExporting || !model || !runtime || captureId === undefined) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.error = undefined;
|
|
61
|
+
// the warehouse is read from the page when the query runs
|
|
62
|
+
if (result.context !== editorState.document.context ||
|
|
63
|
+
result.warehouse !== editorState.dataProductRuntime.effectiveWarehouse) {
|
|
64
|
+
this.error = new CubeEngineError(CubeEngineErrorKind.EXECUTION, CUBE_EXPORT_CONTEXT_CHANGED, captureId);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const controller = new AbortController();
|
|
68
|
+
this.controller = controller;
|
|
69
|
+
const startedAt = Date.now();
|
|
70
|
+
// kept for the Runs panel, once written (PLAN §11.16)
|
|
71
|
+
let lambda;
|
|
72
|
+
try {
|
|
73
|
+
// the run's rows, sorted as the grid is: no drill-down level
|
|
74
|
+
const { query } = deriveDrilldownLevel({
|
|
75
|
+
query: result.query,
|
|
76
|
+
captureId,
|
|
77
|
+
schema: result.schema,
|
|
78
|
+
drilldown: checkDrilldown({ columns: [], aggregations: [] }, result.schema),
|
|
79
|
+
keys: [],
|
|
80
|
+
sorts,
|
|
81
|
+
});
|
|
82
|
+
const runId = query.selected;
|
|
83
|
+
let databaseType;
|
|
84
|
+
if (needsDatabaseType(query, runId)) {
|
|
85
|
+
yield flowResult(editorState.loadModelOutline(model));
|
|
86
|
+
databaseType = editorState.getRunDatabaseType(query, runId, model, runtime);
|
|
87
|
+
}
|
|
88
|
+
if (controller.signal.aborted) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
lambda = new QueryEmitter(query, editorState.registry).emitExecutionLambda({ runtime, databaseType });
|
|
92
|
+
const csv = (yield editorState.host.engine.exportCsv(model, lambda, {
|
|
93
|
+
abortController: controller,
|
|
94
|
+
}));
|
|
95
|
+
// stopped while it ran: `stop()` lets go of it
|
|
96
|
+
if (this.controller !== controller) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
downloadFileUsingDataURI(getCubeExportFileName(editorState.document.name, 'csv'), csv, ContentType.TEXT_CSV);
|
|
100
|
+
editorState.runStats.record(CUBE_RUN_LABEL.EXPORT_CSV, {
|
|
101
|
+
durationMs: Date.now() - startedAt,
|
|
102
|
+
lambda,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
if (controller.signal.aborted) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
assertErrorThrown(error);
|
|
110
|
+
this.error =
|
|
111
|
+
error instanceof CubeEngineError
|
|
112
|
+
? error
|
|
113
|
+
: new CubeEngineError(CubeEngineErrorKind.EXECUTION, error.message, captureId);
|
|
114
|
+
editorState.runStats.record(CUBE_RUN_LABEL.EXPORT_CSV, {
|
|
115
|
+
durationMs: Date.now() - startedAt,
|
|
116
|
+
lambda,
|
|
117
|
+
error: this.error.firstLine,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
if (this.controller === controller) {
|
|
122
|
+
this.controller = undefined;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
stop() {
|
|
127
|
+
this.controller?.abort();
|
|
128
|
+
this.controller = undefined;
|
|
129
|
+
}
|
|
130
|
+
clearError() {
|
|
131
|
+
this.error = undefined;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=CubeExportState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeExportState.js","sourceRoot":"","sources":["../../src/stores/CubeExportState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { type ExpressionCheck, type ExpressionFilter, type IR, type JsonObject, type NodeRegistry, type Query, Schema } from '@finos/legend-cube';
|
|
17
|
+
import { CubeEngineError, type NodeId } from '../graph-manager/CubeEngine.js';
|
|
18
|
+
/** A name for the condition typed alone that no input column has, as databases that ignore case compare names */
|
|
19
|
+
export declare const getConditionColumnName: (input: Schema) => string;
|
|
20
|
+
/**
|
|
21
|
+
* The lambdas that check a condition, by key: the input's relation filtered
|
|
22
|
+
* with it, and the input's relation extended with it under a name no input
|
|
23
|
+
* column has. A located lambda keeps its locations, so an error points into
|
|
24
|
+
* its text; a stored one is marked with the filter, so an error lands on it.
|
|
25
|
+
* The input must be valid.
|
|
26
|
+
*/
|
|
27
|
+
export declare const buildCubeConditionCheckLambdas: (query: Query, filter: ExpressionFilter, condition: JsonObject, input: Schema, registry: NodeRegistry, located: boolean) => Map<NodeId, IR>;
|
|
28
|
+
/** What checking a condition gave: the check to store, and the error the engine gave, if it failed */
|
|
29
|
+
export interface CubeConditionCheckResult {
|
|
30
|
+
readonly check: ExpressionCheck;
|
|
31
|
+
readonly error?: CubeEngineError | undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The check the engine's answers give, for this input and this condition:
|
|
35
|
+
* checked when the filter types; else failed, with the condition's type when
|
|
36
|
+
* it types alone but isn't one Boolean, and the engine's error: the
|
|
37
|
+
* condition's own when it fails alone, as it names no `filter`, else the
|
|
38
|
+
* filter's (a network failure when there is neither)
|
|
39
|
+
*/
|
|
40
|
+
export declare const readCubeConditionCheck: (answers: ReadonlyMap<NodeId, Schema | CubeEngineError>, filter: ExpressionFilter, input: Schema, upstream: string | undefined) => CubeConditionCheckResult;
|
|
41
|
+
/** The digest of what the engine was given for the input, which the check recorded */
|
|
42
|
+
export declare const getCubeConditionCheckUpstream: (check: ExpressionCheck) => string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Whether the filter's check says its condition is one Boolean for this
|
|
45
|
+
* input: checked, for this schema and this condition, and for this input as
|
|
46
|
+
* the engine is given it, or recorded without it, as when loaded
|
|
47
|
+
*/
|
|
48
|
+
export declare const isCubeConditionCheckCurrent: (filter: ExpressionFilter, input: Schema, upstream: string | undefined) => boolean;
|
|
49
|
+
/** Whether two checks say the same: the same kind, signature and input as the engine was given it, and the same failure */
|
|
50
|
+
export declare const isSameCubeConditionCheck: (a: ExpressionCheck, b: ExpressionCheck) => boolean;
|
|
51
|
+
//# sourceMappingURL=CubeExpressionFilterCheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeExpressionFilterCheck.d.ts","sourceRoot":"","sources":["../../src/stores/CubeExpressionFilterCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAIrB,KAAK,EAAE,EACP,KAAK,UAAU,EAGf,KAAK,YAAY,EAEjB,KAAK,KAAK,EAEV,MAAM,EAGP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EAEf,KAAK,MAAM,EACZ,MAAM,gCAAgC,CAAC;AAexC,iHAAiH;AACjH,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,MAOtD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,GACzC,OAAO,KAAK,EACZ,QAAQ,gBAAgB,EACxB,WAAW,UAAU,EACrB,OAAO,MAAM,EACb,UAAU,YAAY,EACtB,SAAS,OAAO,KACf,GAAG,CAAC,MAAM,EAAE,EAAE,CAgChB,CAAC;AAMF,sGAAsG;AACtG,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,EACtD,QAAQ,gBAAgB,EACxB,OAAO,MAAM,EACb,UAAU,MAAM,GAAG,SAAS,KAC3B,wBAmCF,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,6BAA6B,GACxC,OAAO,eAAe,KACrB,MAAM,GAAG,SAC8C,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,gBAAgB,EACxB,OAAO,MAAM,EACb,UAAU,MAAM,GAAG,SAAS,KAC3B,OAQF,CAAC;AAEF,2HAA2H;AAC3H,eAAO,MAAM,wBAAwB,GACnC,GAAG,eAAe,EAClB,GAAG,eAAe,KACjB,OAeF,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { colSpec, colSpecArray, EmitRole, foldColumnName, func, getExpressionFilterSignature, lambda, lambdaJson, originOf, QueryEmitter, Schema, TypeFamily, } from '@finos/legend-cube';
|
|
17
|
+
import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
|
|
18
|
+
import { withoutEngineContext } from './CubeExtendTyping.js';
|
|
19
|
+
// Checking a Filter by Expression's condition with the engine (PLAN §11.11):
|
|
20
|
+
// its input's relation, as Cube types any node, then `filter` with the
|
|
21
|
+
// condition. A condition that isn't one Boolean fails there with no location
|
|
22
|
+
// and the whole relation type, so the same call types the condition alone,
|
|
23
|
+
// as an extend column, which gives its type for Cube's own message.
|
|
24
|
+
/** The key of the lambda that filters the input with the condition */
|
|
25
|
+
const filterKeyOf = (filterId) => `${filterId}#filter`;
|
|
26
|
+
/** The key of the lambda that types the condition alone, as an extend column */
|
|
27
|
+
const conditionKeyOf = (filterId) => `${filterId}#condition`;
|
|
28
|
+
/** A name for the condition typed alone that no input column has, as databases that ignore case compare names */
|
|
29
|
+
export const getConditionColumnName = (input) => {
|
|
30
|
+
const taken = new Set(input.names().map(foldColumnName));
|
|
31
|
+
let name = 'cube_condition';
|
|
32
|
+
for (let suffix = 2; taken.has(foldColumnName(name)); suffix += 1) {
|
|
33
|
+
name = `cube_condition_${suffix}`;
|
|
34
|
+
}
|
|
35
|
+
return name;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* The lambdas that check a condition, by key: the input's relation filtered
|
|
39
|
+
* with it, and the input's relation extended with it under a name no input
|
|
40
|
+
* column has. A located lambda keeps its locations, so an error points into
|
|
41
|
+
* its text; a stored one is marked with the filter, so an error lands on it.
|
|
42
|
+
* The input must be valid.
|
|
43
|
+
*/
|
|
44
|
+
export const buildCubeConditionCheckLambdas = (query, filter, condition, input, registry, located) => {
|
|
45
|
+
const [inputId] = query.getInputIds(filter.id);
|
|
46
|
+
if (inputId === undefined) {
|
|
47
|
+
throw new Error(`Filter by expression "${filter.id}" has no input to check it on`);
|
|
48
|
+
}
|
|
49
|
+
const relation = new QueryEmitter(query, registry).emitRelation(inputId);
|
|
50
|
+
const origin = located ? undefined : originOf(filter.id, EmitRole.EXPRESSION);
|
|
51
|
+
return new Map([
|
|
52
|
+
[
|
|
53
|
+
filterKeyOf(filter.id),
|
|
54
|
+
lambda([], [func('filter', [relation, lambdaJson(condition, origin)])]),
|
|
55
|
+
],
|
|
56
|
+
[
|
|
57
|
+
conditionKeyOf(filter.id),
|
|
58
|
+
lambda([], [
|
|
59
|
+
func('extend', [
|
|
60
|
+
relation,
|
|
61
|
+
colSpecArray([
|
|
62
|
+
colSpec(getConditionColumnName(input), lambdaJson(condition, origin)),
|
|
63
|
+
]),
|
|
64
|
+
]),
|
|
65
|
+
]),
|
|
66
|
+
],
|
|
67
|
+
]);
|
|
68
|
+
};
|
|
69
|
+
/** A condition's type as the message names it: `Integer`, `Boolean[0..1]` */
|
|
70
|
+
const describeConditionType = (column) => `${column.type.displayName}${column.nullable ? '[0..1]' : ''}`;
|
|
71
|
+
/**
|
|
72
|
+
* The check the engine's answers give, for this input and this condition:
|
|
73
|
+
* checked when the filter types; else failed, with the condition's type when
|
|
74
|
+
* it types alone but isn't one Boolean, and the engine's error: the
|
|
75
|
+
* condition's own when it fails alone, as it names no `filter`, else the
|
|
76
|
+
* filter's (a network failure when there is neither)
|
|
77
|
+
*/
|
|
78
|
+
export const readCubeConditionCheck = (answers, filter, input, upstream) => {
|
|
79
|
+
const signature = getExpressionFilterSignature(input, filter.lambda);
|
|
80
|
+
const filtered = answers.get(filterKeyOf(filter.id));
|
|
81
|
+
if (filtered instanceof Schema) {
|
|
82
|
+
return { check: { kind: 'checked', signature, upstream } };
|
|
83
|
+
}
|
|
84
|
+
const alone = answers.get(conditionKeyOf(filter.id));
|
|
85
|
+
const conditionColumn = alone instanceof Schema ? alone.columns.at(-1) : undefined;
|
|
86
|
+
const resultType = conditionColumn &&
|
|
87
|
+
!(conditionColumn.type.family === TypeFamily.BOOLEAN &&
|
|
88
|
+
!conditionColumn.nullable)
|
|
89
|
+
? describeConditionType(conditionColumn)
|
|
90
|
+
: undefined;
|
|
91
|
+
const error = (alone instanceof CubeEngineError ? alone : undefined) ??
|
|
92
|
+
filtered ??
|
|
93
|
+
new CubeEngineError(CubeEngineErrorKind.NETWORK, 'The engine gave no answer for this condition', filter.id);
|
|
94
|
+
return {
|
|
95
|
+
check: {
|
|
96
|
+
kind: 'failed',
|
|
97
|
+
signature,
|
|
98
|
+
message: withoutEngineContext(error.detail),
|
|
99
|
+
resultType,
|
|
100
|
+
upstream,
|
|
101
|
+
},
|
|
102
|
+
error,
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
/** The digest of what the engine was given for the input, which the check recorded */
|
|
106
|
+
export const getCubeConditionCheckUpstream = (check) => check.kind === 'unresolved' ? undefined : check.upstream;
|
|
107
|
+
/**
|
|
108
|
+
* Whether the filter's check says its condition is one Boolean for this
|
|
109
|
+
* input: checked, for this schema and this condition, and for this input as
|
|
110
|
+
* the engine is given it, or recorded without it, as when loaded
|
|
111
|
+
*/
|
|
112
|
+
export const isCubeConditionCheckCurrent = (filter, input, upstream) => {
|
|
113
|
+
const { check } = filter;
|
|
114
|
+
const recorded = getCubeConditionCheckUpstream(check);
|
|
115
|
+
return (check.kind === 'checked' &&
|
|
116
|
+
filter.currentCheck(input) === check &&
|
|
117
|
+
(recorded === undefined || recorded === upstream));
|
|
118
|
+
};
|
|
119
|
+
/** Whether two checks say the same: the same kind, signature and input as the engine was given it, and the same failure */
|
|
120
|
+
export const isSameCubeConditionCheck = (a, b) => {
|
|
121
|
+
if (getCubeConditionCheckUpstream(a) !== getCubeConditionCheckUpstream(b)) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
if (a.kind === 'checked' && b.kind === 'checked') {
|
|
125
|
+
return a.signature === b.signature;
|
|
126
|
+
}
|
|
127
|
+
if (a.kind === 'failed' && b.kind === 'failed') {
|
|
128
|
+
return (a.signature === b.signature &&
|
|
129
|
+
a.message === b.message &&
|
|
130
|
+
a.resultType === b.resultType);
|
|
131
|
+
}
|
|
132
|
+
return a.kind === 'unresolved' && b.kind === 'unresolved';
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=CubeExpressionFilterCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeExpressionFilterCheck.js","sourceRoot":"","sources":["../../src/stores/CubeExpressionFilterCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
+
import { type Extend, type ExtendTyping, type IR, type JsonObject, type ModelContext, type NodeRegistry, type Query, QueryEmitter, type Schema } from '@finos/legend-cube';
|
|
17
|
+
import { CubeEngineError, type NodeId } from '../graph-manager/CubeEngine.js';
|
|
18
|
+
/** An engine message without the compiler's ` - Context:[…]` trail, which repeats what it was doing */
|
|
19
|
+
export declare const withoutEngineContext: (message: string) => string;
|
|
20
|
+
/** A column to type: its name, and its lambda, located in its text or not */
|
|
21
|
+
export interface CubeExtendTypingColumn {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly lambda: JsonObject;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The lambdas that type an Extend's columns, by key: the input's relation
|
|
27
|
+
* then the first k columns, for every k. A located lambda keeps its
|
|
28
|
+
* locations, so an error points into its text; a stored one is marked with
|
|
29
|
+
* the Extend, so an error lands on it. The input must be valid.
|
|
30
|
+
*/
|
|
31
|
+
export declare const buildCubeExtendTypingLambdas: (query: Query, extend: Extend, columns: readonly CubeExtendTypingColumn[], registry: NodeRegistry, located: boolean) => Map<NodeId, IR>;
|
|
32
|
+
/**
|
|
33
|
+
* What the engine is given for a node's input when it types an Extend or
|
|
34
|
+
* checks a Filter by Expression, digested (PLAN §11.7, §11.11): the input's
|
|
35
|
+
* relation as emitted, and the model. A typing or a check records it
|
|
36
|
+
* (`upstream`), since the engine sees more than Cube's schema does;
|
|
37
|
+
* `undefined` when the input can't be emitted, e.g. it is invalid.
|
|
38
|
+
*/
|
|
39
|
+
export declare const getCubeExtendUpstream: (emitter: QueryEmitter, extendId: string, model: ModelContext) => string | undefined;
|
|
40
|
+
/** The digest of what the engine was given for the input, which the typing recorded */
|
|
41
|
+
export declare const getCubeExtendTypingUpstream: (typing: ExtendTyping) => string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the Extend's typing gives its types for this input: typed, for
|
|
44
|
+
* this schema and these columns, and for this input as the engine is given
|
|
45
|
+
* it, or recorded without it, as when loaded
|
|
46
|
+
*/
|
|
47
|
+
export declare const isCubeExtendTypingCurrent: (extend: Extend, input: Schema, upstream: string | undefined) => boolean;
|
|
48
|
+
/** What typing an Extend gave: the typing to store, and the error the engine gave, if it failed */
|
|
49
|
+
export interface CubeExtendTypingResult {
|
|
50
|
+
readonly typing: ExtendTyping;
|
|
51
|
+
readonly error?: CubeEngineError | undefined;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The typing the engine's answers give, for this input and these columns:
|
|
55
|
+
* every column's type, from the whole chain, else the first column whose
|
|
56
|
+
* chain fails, with the engine's error (a network failure on none)
|
|
57
|
+
*/
|
|
58
|
+
export declare const readCubeExtendTyping: (answers: ReadonlyMap<NodeId, Schema | CubeEngineError>, extend: Extend, input: Schema, columns: readonly CubeExtendTypingColumn[], upstream: string | undefined) => CubeExtendTypingResult;
|
|
59
|
+
/**
|
|
60
|
+
* Whether two typings say the same: the same kind, signature and input as
|
|
61
|
+
* the engine was given it, and the same types, or the same failure
|
|
62
|
+
*/
|
|
63
|
+
export declare const isSameCubeExtendTyping: (a: ExtendTyping, b: ExtendTyping) => boolean;
|
|
64
|
+
//# sourceMappingURL=CubeExtendTyping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CubeExtendTyping.d.ts","sourceRoot":"","sources":["../../src/stores/CubeExtendTyping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,KAAK,MAAM,EACX,KAAK,YAAY,EAIjB,KAAK,EAAE,EACP,KAAK,UAAU,EAGf,KAAK,YAAY,EACjB,KAAK,YAAY,EAGjB,KAAK,KAAK,EACV,YAAY,EACZ,KAAK,MAAM,EAEZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EAEf,KAAK,MAAM,EACZ,MAAM,gCAAgC,CAAC;AAOxC,uGAAuG;AACvG,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,MACT,CAAC;AAE/C,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAMD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,OAAO,KAAK,EACZ,QAAQ,MAAM,EACd,SAAS,SAAS,sBAAsB,EAAE,EAC1C,UAAU,YAAY,EACtB,SAAS,OAAO,KACf,GAAG,CAAC,MAAM,EAAE,EAAE,CAwBhB,CAAC;AAcF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,YAAY,EACrB,UAAU,MAAM,EAChB,OAAO,YAAY,KAClB,MAAM,GAAG,SAQX,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,GACtC,QAAQ,YAAY,KACnB,MAAM,GAAG,SACgD,CAAC;AAI7D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,UAAU,MAAM,GAAG,SAAS,KAC3B,OAQF,CAAC;AAEF,mGAAmG;AACnG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CAC9C;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,EACtD,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,SAAS,SAAS,sBAAsB,EAAE,EAC1C,UAAU,MAAM,GAAG,SAAS,KAC3B,sBAyCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,GAAG,YAAY,EACf,GAAG,YAAY,KACd,OAsBF,CAAC"}
|