@finos/legend-cube-builder 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -19
- package/docs/adding-an-operation.md +102 -13
- package/docs/hosting.md +82 -4
- package/docs/testing.md +114 -9
- package/lib/__lib__/LegendCubeCommand.d.ts +2 -1
- package/lib/__lib__/LegendCubeCommand.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeCommand.js +5 -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__/LegendCubeHelpText.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeHelpText.js +12 -2
- 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 +76 -3
- package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeLabels.js +102 -4
- 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__/LegendCubeTesting.d.ts +1 -0
- package/lib/__lib__/LegendCubeTesting.d.ts.map +1 -1
- package/lib/__lib__/LegendCubeTesting.js +1 -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 +12 -0
- package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
- package/lib/__test-utils__/CubeEngineTestSupport.js +21 -0
- package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts +37 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.d.ts.map +1 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.js +83 -0
- package/lib/__test-utils__/CubeExpressionTestUtils.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 +12 -0
- package/lib/__test-utils__/CubePageTestUtils.d.ts.map +1 -1
- package/lib/__test-utils__/CubePageTestUtils.js +25 -1
- package/lib/__test-utils__/CubePageTestUtils.js.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts +5 -1
- package/lib/__test-utils__/CubeTestApplication.d.ts.map +1 -1
- package/lib/__test-utils__/CubeTestApplication.js +9 -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 +2 -0
- package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
- package/lib/__test-utils__/FakeCubeEngine.js +14 -1
- package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts +35 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.d.ts.map +1 -0
- package/lib/__test-utils__/FakeCubeIngestCatalog.js +107 -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/components/CubeAddItems.d.ts +35 -0
- package/lib/components/CubeAddItems.d.ts.map +1 -0
- package/lib/components/CubeAddItems.js +82 -0
- package/lib/components/CubeAddItems.js.map +1 -0
- package/lib/components/CubeEditor.d.ts +5 -1
- package/lib/components/CubeEditor.d.ts.map +1 -1
- package/lib/components/CubeEditor.js +33 -13
- 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/CubeNodeIcon.d.ts.map +1 -1
- package/lib/components/CubeNodeIcon.js +8 -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 +31 -12
- 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 +19 -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.map +1 -1
- package/lib/components/canvas/CubeCanvasElements.js +6 -3
- package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
- package/lib/components/canvas/CubeCanvasNode.js +30 -20
- 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/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/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/CubeExtendEditor.d.ts +25 -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 +3 -3
- package/lib/components/editors/CubeFilterEditor.js.map +1 -1
- 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 +7 -37
- 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 +51 -13
- package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
- package/lib/components/editors/CubeNodeEditorPopper.d.ts +40 -0
- package/lib/components/editors/CubeNodeEditorPopper.d.ts.map +1 -0
- package/lib/components/editors/CubeNodeEditorPopper.js +125 -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 +15 -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/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.js +1 -1
- package/lib/components/editors/CubeRestrictEditor.js.map +1 -1
- 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/CubeGridRegion.d.ts.map +1 -1
- package/lib/components/grid/CubeGridRegion.js +19 -8
- package/lib/components/grid/CubeGridRegion.js.map +1 -1
- package/lib/components/grid/CubeGridValues.d.ts +16 -0
- package/lib/components/grid/CubeGridValues.d.ts.map +1 -1
- package/lib/components/grid/CubeGridValues.js +44 -0
- package/lib/components/grid/CubeGridValues.js.map +1 -1
- package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
- package/lib/components/grid/CubeResultGrid.js +14 -2
- package/lib/components/grid/CubeResultGrid.js.map +1 -1
- package/lib/components/palette/CubePalette.d.ts.map +1 -1
- package/lib/components/palette/CubePalette.js +23 -12
- package/lib/components/palette/CubePalette.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 +102 -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 +87 -0
- package/lib/components/source-picker/CubeDirectConnectionTab.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 +66 -0
- package/lib/components/source-picker/CubeIngestTab.js.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts +37 -0
- package/lib/components/source-picker/CubeInlineModelTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeInlineModelTab.js +71 -0
- package/lib/components/source-picker/CubeInlineModelTab.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 +27 -0
- package/lib/components/source-picker/CubeProjectTab.d.ts.map +1 -0
- package/lib/components/source-picker/CubeProjectTab.js +50 -0
- package/lib/components/source-picker/CubeProjectTab.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 +20 -58
- package/lib/components/source-picker/CubeSourcePicker.js.map +1 -1
- package/lib/components/spec-transfer/CubeSpecTransferDialog.js +1 -1
- 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 +167 -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 +37 -2
- 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/CubeIngest.d.ts +50 -0
- package/lib/graph-manager/CubeIngest.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngest.js +88 -0
- package/lib/graph-manager/CubeIngest.js.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts +116 -0
- package/lib/graph-manager/CubeIngestCatalog.d.ts.map +1 -0
- package/lib/graph-manager/CubeIngestCatalog.js +80 -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/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/protocol/pure/CubeEngineBuilder.d.ts +63 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/CubeEngineBuilder.js +50 -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 +29 -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 +84 -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_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 +140 -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 +62 -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 +119 -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_CubeLambdaSerializer.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.js +63 -4
- package/lib/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.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 +34 -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 +64 -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 +97 -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 +585 -20
- 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 +91 -0
- package/lib/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.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 +27 -1
- 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 +11 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -1
- package/lib/index.js.map +1 -1
- package/lib/stores/CubeAddPlacement.d.ts +32 -0
- package/lib/stores/CubeAddPlacement.d.ts.map +1 -0
- package/lib/stores/CubeAddPlacement.js +40 -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/CubeEditorState.d.ts +100 -16
- package/lib/stores/CubeEditorState.d.ts.map +1 -1
- package/lib/stores/CubeEditorState.js +347 -47
- package/lib/stores/CubeEditorState.js.map +1 -1
- 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 +296 -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 +15 -5
- package/lib/stores/CubeExecutionState.js.map +1 -1
- package/lib/stores/CubeExtendTyping.d.ts +72 -0
- package/lib/stores/CubeExtendTyping.d.ts.map +1 -0
- package/lib/stores/CubeExtendTyping.js +176 -0
- package/lib/stores/CubeExtendTyping.js.map +1 -0
- package/lib/stores/CubeGridQuickActions.d.ts +14 -6
- package/lib/stores/CubeGridQuickActions.d.ts.map +1 -1
- package/lib/stores/CubeGridQuickActions.js +53 -15
- package/lib/stores/CubeGridQuickActions.js.map +1 -1
- package/lib/stores/CubeHost.d.ts +32 -1
- package/lib/stores/CubeHost.d.ts.map +1 -1
- package/lib/stores/CubeHost.js +21 -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/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/CubeShowPureState.d.ts +5 -2
- package/lib/stores/CubeShowPureState.d.ts.map +1 -1
- package/lib/stores/CubeShowPureState.js +7 -4
- package/lib/stores/CubeShowPureState.js.map +1 -1
- package/lib/stores/CubeSourcePickerState.d.ts +54 -65
- package/lib/stores/CubeSourcePickerState.d.ts.map +1 -1
- package/lib/stores/CubeSourcePickerState.js +155 -276
- 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 +17 -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/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/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.map +1 -1
- package/lib/stores/editors/CubeNodeDraftRegistry.js +20 -1
- 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/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/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 +29 -0
- package/lib/stores/fixtures/CubeTradesModel.d.ts.map +1 -0
- package/lib/stores/fixtures/CubeTradesModel.js +197 -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 +186 -0
- package/lib/stores/source-picker/CubeDataProductTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js +681 -0
- package/lib/stores/source-picker/CubeDataProductTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts +140 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js +516 -0
- package/lib/stores/source-picker/CubeDirectConnectionTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts +114 -0
- package/lib/stores/source-picker/CubeIngestTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeIngestTabState.js +455 -0
- package/lib/stores/source-picker/CubeIngestTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts +107 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js +347 -0
- package/lib/stores/source-picker/CubeInlineModelTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts +62 -0
- package/lib/stores/source-picker/CubeProjectTabState.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeProjectTabState.js +181 -0
- package/lib/stores/source-picker/CubeProjectTabState.js.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts +48 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.d.ts.map +1 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js +24 -0
- package/lib/stores/source-picker/CubeSourcePickerTab.js.map +1 -0
- package/package.json +10 -6
- package/src/__lib__/LegendCubeCommand.ts +5 -0
- package/src/__lib__/LegendCubeDataProductLabels.ts +91 -0
- package/src/__lib__/LegendCubeDirectConnectionLabels.ts +111 -0
- package/src/__lib__/LegendCubeHelpText.ts +25 -1
- package/src/__lib__/LegendCubeIngestLabels.ts +40 -0
- package/src/__lib__/LegendCubeLabels.ts +162 -4
- package/src/__lib__/LegendCubeProjectLabels.ts +25 -0
- package/src/__lib__/LegendCubeTesting.ts +1 -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 +38 -0
- package/src/__test-utils__/CubeExpressionTestUtils.ts +119 -0
- package/src/__test-utils__/CubeOperationsTestUtils.ts +93 -18
- package/src/__test-utils__/CubePageTestUtils.tsx +35 -0
- package/src/__test-utils__/CubeTestApplication.ts +21 -2
- package/src/__test-utils__/FakeCubeConnectionExplorer.ts +111 -0
- package/src/__test-utils__/FakeCubeDataProductCatalog.ts +227 -0
- package/src/__test-utils__/FakeCubeEngine.ts +25 -1
- package/src/__test-utils__/FakeCubeIngestCatalog.ts +180 -0
- package/src/__test-utils__/FakeCubeProjectCatalog.ts +89 -0
- package/src/components/CubeAddItems.tsx +179 -0
- package/src/components/CubeEditor.tsx +73 -44
- package/src/components/CubeEntrySourceBanner.tsx +64 -0
- package/src/components/CubeNodeIcon.tsx +13 -0
- package/src/components/CubeSchemaColumnsTable.tsx +49 -0
- package/src/components/canvas/CubeCanvas.tsx +49 -14
- package/src/components/canvas/CubeCanvasContextMenu.tsx +31 -30
- package/src/components/canvas/CubeCanvasDnd.ts +16 -9
- package/src/components/canvas/CubeCanvasElements.ts +8 -2
- package/src/components/canvas/CubeCanvasNode.tsx +61 -43
- package/src/components/canvas/CubeCanvasNodeFocus.ts +37 -0
- package/src/components/canvas/CubeNodeEditorAnchor.ts +82 -0
- package/src/components/editors/CubeAggregationRowEditor.tsx +224 -0
- package/src/components/editors/CubeColumnChecklist.tsx +130 -0
- 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/CubeExtendEditor.tsx +271 -0
- package/src/components/editors/CubeFilterEditor.tsx +7 -0
- package/src/components/editors/CubeGroupEditor.tsx +135 -0
- package/src/components/editors/CubeIngestSourceEditor.tsx +104 -0
- package/src/components/editors/CubeJoinEditor.tsx +12 -132
- package/src/components/editors/CubeJoinKeyRows.tsx +183 -0
- package/src/components/editors/CubeNodeEditorPanel.tsx +91 -28
- package/src/components/editors/CubeNodeEditorPopper.tsx +183 -0
- package/src/components/editors/CubeNodeEditorRegistry.ts +21 -0
- package/src/components/editors/CubePartitionEditor.tsx +208 -0
- package/src/components/editors/CubeRenameEditor.tsx +10 -5
- package/src/components/editors/CubeRestrictEditor.tsx +1 -1
- 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/CubeGridRegion.tsx +48 -10
- package/src/components/grid/CubeGridValues.ts +55 -0
- package/src/components/grid/CubeResultGrid.tsx +24 -8
- package/src/components/palette/CubePalette.tsx +33 -15
- package/src/components/source-picker/CubeDataProductTab.tsx +392 -0
- package/src/components/source-picker/CubeDirectConnectionTab.tsx +340 -0
- package/src/components/source-picker/CubeIngestTab.tsx +232 -0
- package/src/components/source-picker/CubeInlineModelTab.tsx +191 -0
- package/src/components/source-picker/CubePickerStep.tsx +49 -0
- package/src/components/source-picker/CubeProjectTab.tsx +114 -0
- package/src/components/source-picker/CubeSourcePicker.tsx +62 -227
- package/src/components/spec-transfer/CubeSpecTransferDialog.tsx +1 -1
- package/src/graph-manager/CubeConnectionExplorer.ts +106 -0
- package/src/graph-manager/CubeDataProduct.ts +150 -0
- package/src/graph-manager/CubeDataProductCatalog.ts +245 -0
- package/src/graph-manager/CubeDirectConnection.ts +67 -0
- package/src/graph-manager/CubeEngine.ts +43 -1
- package/src/graph-manager/CubeIngest.ts +144 -0
- package/src/graph-manager/CubeIngestCatalog.ts +169 -0
- package/src/graph-manager/CubeLakehouseEnvironment.ts +27 -0
- package/src/graph-manager/CubeProject.ts +117 -0
- package/src/graph-manager/CubeProjectCatalog.ts +40 -0
- package/src/graph-manager/protocol/pure/CubeEngineBuilder.ts +145 -1
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.ts +251 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts +101 -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_CubeIngestDefinition.ts +201 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeIngestModel.ts +183 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLakehouseEnvironmentResolver.ts +141 -0
- package/src/graph-manager/protocol/pure/v1/V1_CubeLambdaSerializer.ts +84 -4
- package/src/graph-manager/protocol/pure/v1/V1_CubeSchemaExploration.ts +361 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeConnectionExplorer.ts +116 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeDataProductCatalog.ts +744 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeEngine.ts +967 -24
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeIngestCatalog.ts +459 -0
- package/src/graph-manager/protocol/pure/v1/V1_LegendCubeProjectCatalog.ts +147 -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 +42 -1
- package/src/index.ts +20 -0
- package/src/stores/CubeAddPlacement.ts +67 -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/CubeEditorState.ts +511 -63
- package/src/stores/CubeEntrySource.ts +278 -0
- package/src/stores/CubeExamples.ts +457 -0
- package/src/stores/CubeExamplesState.ts +108 -0
- package/src/stores/CubeExecutionState.ts +24 -5
- package/src/stores/CubeExtendTyping.ts +291 -0
- package/src/stores/CubeGridQuickActions.ts +69 -14
- package/src/stores/CubeHost.ts +71 -1
- package/src/stores/CubeIngestRecheck.ts +92 -0
- package/src/stores/CubeNodeEditorState.ts +278 -9
- package/src/stores/CubeShowPureState.ts +7 -4
- package/src/stores/CubeSourcePickerState.ts +160 -330
- package/src/stores/CubeSpecTransferState.ts +2 -2
- package/src/stores/LocalModelCatalog.ts +22 -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/CubeExtendDraft.ts +532 -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 +25 -0
- package/src/stores/editors/CubePartitionDraft.ts +214 -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/CubeSampleSql.ts +85 -0
- package/src/stores/fixtures/CubeSportsModel.ts +182 -0
- package/src/stores/fixtures/CubeTradesModel.ts +241 -0
- package/src/stores/source-picker/CubeCsvSetupSql.ts +444 -0
- package/src/stores/source-picker/CubeDataProductTabState.ts +839 -0
- package/src/stores/source-picker/CubeDirectConnectionTabState.ts +647 -0
- package/src/stores/source-picker/CubeIngestTabState.ts +551 -0
- package/src/stores/source-picker/CubeInlineModelTabState.ts +448 -0
- package/src/stores/source-picker/CubeProjectTabState.ts +218 -0
- package/src/stores/source-picker/CubeSourcePickerTab.ts +50 -0
- package/tsconfig.json +89 -0
|
@@ -13,10 +13,59 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import { V1_EngineServerClient } from '@finos/legend-graph';
|
|
17
|
+
import { V1_CubeLakehouseEnvironmentResolver } from './v1/V1_CubeLakehouseEnvironmentResolver.js';
|
|
18
|
+
import { V1_LegendCubeConnectionExplorer } from './v1/V1_LegendCubeConnectionExplorer.js';
|
|
19
|
+
import { V1_LegendCubeDataProductCatalog } from './v1/V1_LegendCubeDataProductCatalog.js';
|
|
20
|
+
import { V1_LegendCubeIngestCatalog } from './v1/V1_LegendCubeIngestCatalog.js';
|
|
21
|
+
import { V1_LegendCubeProjectCatalog } from './v1/V1_LegendCubeProjectCatalog.js';
|
|
16
22
|
import { V1_LegendCubeEngine, } from './v1/V1_LegendCubeEngine.js';
|
|
17
23
|
/**
|
|
18
24
|
* The Cube engine of a host (PLAN §3.2): the only place that builds the
|
|
19
25
|
* Legend implementation, so hosts never name a V1_* symbol
|
|
20
26
|
*/
|
|
21
|
-
export const buildCubeEngine = (config, tracerService) => new V1_LegendCubeEngine(config, tracerService
|
|
27
|
+
export const buildCubeEngine = (config, tracerService, options) => new V1_LegendCubeEngine(config, tracerService, {
|
|
28
|
+
lakehouseEnvironment: options?.lakehouseEnvironment,
|
|
29
|
+
getRememberedWarehouse: options?.getRememberedWarehouse,
|
|
30
|
+
// the catalog reads the definitions the engine types and runs on
|
|
31
|
+
ingestDefinitions: options?.ingestCatalog instanceof V1_LegendCubeIngestCatalog
|
|
32
|
+
? options.ingestCatalog
|
|
33
|
+
: undefined,
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* The connection explorer of a host that offers direct connections (PLAN
|
|
37
|
+
* §6.8), over the same engine as its Cube engine
|
|
38
|
+
*/
|
|
39
|
+
export const buildCubeConnectionExplorer = (config, tracerService) => new V1_LegendCubeConnectionExplorer(config, tracerService);
|
|
40
|
+
/** The deployed data products of a host with a lakehouse and a depot */
|
|
41
|
+
export const buildCubeDataProductCatalog = (services) => new V1_LegendCubeDataProductCatalog(services.contractServerClient, services.depotServerClient, services.getAccessToken, {
|
|
42
|
+
marketplaceServerClient: services.marketplaceServerClient,
|
|
43
|
+
marketplaceLink: services.getMarketplaceLink,
|
|
44
|
+
getCurrentUser: services.getCurrentUser,
|
|
45
|
+
enterpriseStereotype: services.enterpriseStereotype,
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* The published projects a cube reads Databases from (PLAN §6.3), through
|
|
49
|
+
* the host's depot. It reads nothing until the source dialog's Project tab
|
|
50
|
+
* asks
|
|
51
|
+
*/
|
|
52
|
+
export const buildCubeProjectCatalog = (depotServerClient) => new V1_LegendCubeProjectCatalog(depotServerClient);
|
|
53
|
+
/** The viewer's lakehouse environment, which the engine needs to run data product cubes */
|
|
54
|
+
export const buildCubeLakehouseEnvironment = (services) => new V1_CubeLakehouseEnvironmentResolver(services.contractServerClient, services.getAccessToken, services.getCurrentUser, services.getPreferredEnvironment);
|
|
55
|
+
/**
|
|
56
|
+
* The deployed ingest definitions of a host with a lakehouse platform (PLAN
|
|
57
|
+
* §6.7), or none without one. It parses definitions with the engine Cube
|
|
58
|
+
* uses; pass it to `buildCubeEngine` too, so ingest cubes run
|
|
59
|
+
*/
|
|
60
|
+
export const buildCubeIngestCatalog = (config, tracerService, services) => {
|
|
61
|
+
const { platformServerClient, ingestServerClient } = services;
|
|
62
|
+
if (!platformServerClient || !ingestServerClient) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
const engineClient = new V1_EngineServerClient(config);
|
|
66
|
+
// every call throws without one
|
|
67
|
+
engineClient.setTracerService(tracerService);
|
|
68
|
+
const environment = new V1_CubeLakehouseEnvironmentResolver(services.contractServerClient, services.getAccessToken, services.getCurrentUser, services.getPreferredEnvironment);
|
|
69
|
+
return new V1_LegendCubeIngestCatalog(platformServerClient, ingestServerClient, () => environment.resolveBaseEnvironment(), (code) => engineClient.grammarToJSON_model(code), services.getAccessToken);
|
|
70
|
+
};
|
|
22
71
|
//# sourceMappingURL=CubeEngineBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubeEngineBuilder.js","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/CubeEngineBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"CubeEngineBuilder.js","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/CubeEngineBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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 { Schema } from '@finos/legend-cube';
|
|
17
|
+
import { type CubeAccessPointLocation, type CubeDataProductCandidate, CubeDataProductDescription } from '../../../CubeDataProductCatalog.js';
|
|
18
|
+
/** How many sample rows the preview shows */
|
|
19
|
+
export declare const V1_CUBE_SAMPLE_ROW_LIMIT = 5;
|
|
20
|
+
/** Why an access point can't be picked */
|
|
21
|
+
export declare const V1_CUBE_ACCESS_POINT_REASON: {
|
|
22
|
+
readonly MODEL_GROUP: "Model access point groups are not supported yet";
|
|
23
|
+
readonly NOT_LAKEHOUSE: "Only Lakehouse access points can be added for now";
|
|
24
|
+
readonly PARAMETERS: "It takes parameters, which Cube does not support yet";
|
|
25
|
+
readonly NOT_DEPLOYED: "It is not in the deployed artifact";
|
|
26
|
+
readonly NO_DEFINITION: "Cube couldn't read the data product's definition";
|
|
27
|
+
readonly NO_RELATION: "Its result is not a relation";
|
|
28
|
+
readonly NO_TYPE: "Its columns are not in the deployed artifact";
|
|
29
|
+
readonly BAD_MULTIPLICITY: (column: string) => string;
|
|
30
|
+
};
|
|
31
|
+
/** The stereotype a host's marketplace marks groups open to everyone with */
|
|
32
|
+
export interface V1_CubeEnterpriseStereotype {
|
|
33
|
+
readonly profile: string;
|
|
34
|
+
readonly value: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A product's access points by group, as its definition lists them. One is
|
|
38
|
+
* pickable when it is a Lakehouse access point without parameters, outside
|
|
39
|
+
* a model group, deployed with a relation of columns Cube can read
|
|
40
|
+
*/
|
|
41
|
+
export declare const V1_readCubeDataProductDescription: (candidate: CubeDataProductCandidate, artifact: unknown, definition: unknown, enterpriseStereotype?: V1_CubeEnterpriseStereotype | undefined) => CubeDataProductDescription;
|
|
42
|
+
/** A saved source's schema, from the product's description, or why it has none */
|
|
43
|
+
export declare const V1_findCubeAccessPointSchema: (description: CubeDataProductDescription, location: CubeAccessPointLocation) => Schema | string;
|
|
44
|
+
//# sourceMappingURL=V1_CubeDataProductArtifact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V1_CubeDataProductArtifact.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,0BAA0B,EAC3B,MAAM,oCAAoC,CAAC;AAW5C,6CAA6C;AAC7C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAM1C,0CAA0C;AAC1C,eAAO,MAAM,2BAA2B;;;;;;;;wCAQX,MAAM,KAAG,MAAM;CAElC,CAAC;AA4FX,6EAA6E;AAC7E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAeD;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAC5C,WAAW,wBAAwB,EACnC,UAAU,OAAO,EACjB,YAAY,OAAO,EACnB,uBAAuB,2BAA2B,GAAG,SAAS,KAC7D,0BA4DF,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,4BAA4B,GACvC,aAAa,0BAA0B,EACvC,UAAU,uBAAuB,KAChC,MAAM,GAAG,MAUX,CAAC"}
|
|
@@ -0,0 +1,192 @@
|
|
|
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 { CubeAccessPoint, CubeAccessPointGroup, CubeDataProductDescription, } from '../../../CubeDataProductCatalog.js';
|
|
17
|
+
import { V1_buildCubeSchema } from './V1_CubeRelationTypeAdapter.js';
|
|
18
|
+
// A deployed data product's access points (PLAN §6.8), read from two
|
|
19
|
+
// documents: the product's definition at its deployed version (titles, kinds
|
|
20
|
+
// and parameters) and its deployed artifact (each access point's columns, as
|
|
21
|
+
// the engine typed them when it deployed, and sample rows). Both are read
|
|
22
|
+
// tolerantly: what Cube doesn't know is skipped, and a problem stays on its
|
|
23
|
+
// access point, which is listed but can't be picked. No engine call
|
|
24
|
+
/** How many sample rows the preview shows */
|
|
25
|
+
export const V1_CUBE_SAMPLE_ROW_LIMIT = 5;
|
|
26
|
+
const LAKEHOUSE_ACCESS_POINT_TYPE = 'lakehouseAccessPoint';
|
|
27
|
+
const MODEL_ACCESS_POINT_GROUP_TYPE = 'modelAccessPointGroup';
|
|
28
|
+
const RELATION_TYPE = 'relationType';
|
|
29
|
+
/** Why an access point can't be picked */
|
|
30
|
+
export const V1_CUBE_ACCESS_POINT_REASON = {
|
|
31
|
+
MODEL_GROUP: 'Model access point groups are not supported yet',
|
|
32
|
+
NOT_LAKEHOUSE: 'Only Lakehouse access points can be added for now',
|
|
33
|
+
PARAMETERS: 'It takes parameters, which Cube does not support yet',
|
|
34
|
+
NOT_DEPLOYED: 'It is not in the deployed artifact',
|
|
35
|
+
NO_DEFINITION: "Cube couldn't read the data product's definition",
|
|
36
|
+
NO_RELATION: 'Its result is not a relation',
|
|
37
|
+
NO_TYPE: 'Its columns are not in the deployed artifact',
|
|
38
|
+
BAD_MULTIPLICITY: (column) => `Column "${column}" holds more than one value, which Cube can't show`,
|
|
39
|
+
};
|
|
40
|
+
const asObject = (value) => value && typeof value === 'object' && !Array.isArray(value)
|
|
41
|
+
? value
|
|
42
|
+
: {};
|
|
43
|
+
const asList = (value) => Array.isArray(value) ? value : [];
|
|
44
|
+
const asString = (value) => typeof value === 'string' && value.length ? value : undefined;
|
|
45
|
+
/** A pair's key: an access point is known by its group and its own id */
|
|
46
|
+
const keyOf = (groupId, accessPointId) => JSON.stringify([groupId, accessPointId]);
|
|
47
|
+
/** The artifact's access point implementations, by group and id */
|
|
48
|
+
const readImplementations = (artifact) => {
|
|
49
|
+
const implementations = new Map();
|
|
50
|
+
asList(asObject(artifact).accessPointGroups).forEach((group) => {
|
|
51
|
+
const groupId = asString(asObject(group).id);
|
|
52
|
+
if (!groupId) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
asList(asObject(group).accessPointImplementations).forEach((value) => {
|
|
56
|
+
const implementation = asObject(value);
|
|
57
|
+
const id = asString(implementation.id);
|
|
58
|
+
if (id) {
|
|
59
|
+
implementations.set(keyOf(groupId, id), implementation);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
return implementations;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* An access point's columns, from its implementation's lambdaGenericType:
|
|
67
|
+
* the first relation type among its type arguments, whatever the outer type
|
|
68
|
+
* (a relation, or an ingest relation accessor)
|
|
69
|
+
*/
|
|
70
|
+
const readSchema = (implementation) => {
|
|
71
|
+
const genericType = asObject(implementation.lambdaGenericType);
|
|
72
|
+
if (!Object.keys(genericType).length) {
|
|
73
|
+
return { reason: V1_CUBE_ACCESS_POINT_REASON.NO_TYPE };
|
|
74
|
+
}
|
|
75
|
+
const relationType = asList(genericType.typeArguments)
|
|
76
|
+
.map((argument) => asObject(asObject(argument).rawType))
|
|
77
|
+
.find((rawType) => rawType._type === RELATION_TYPE);
|
|
78
|
+
if (!relationType) {
|
|
79
|
+
return { reason: V1_CUBE_ACCESS_POINT_REASON.NO_RELATION };
|
|
80
|
+
}
|
|
81
|
+
for (const column of asList(relationType.columns).map(asObject)) {
|
|
82
|
+
const multiplicity = asObject(column.multiplicity);
|
|
83
|
+
if (Object.keys(multiplicity).length && multiplicity.upperBound !== 1) {
|
|
84
|
+
return {
|
|
85
|
+
reason: V1_CUBE_ACCESS_POINT_REASON.BAD_MULTIPLICITY(String(column.name)),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
return { schema: V1_buildCubeSchema(relationType) };
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
return { reason: error instanceof Error ? error.message : String(error) };
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
/** Up to the preview's limit of rows, by the schema's columns; the artifact holds them as text */
|
|
97
|
+
const readSampleRows = (implementation, schema) => {
|
|
98
|
+
const element = asObject(implementation.relationElement);
|
|
99
|
+
const columns = asList(element.columns).map(String);
|
|
100
|
+
const positions = schema.columns.map((column) => columns.indexOf(column.name));
|
|
101
|
+
return asList(element.rows)
|
|
102
|
+
.slice(0, V1_CUBE_SAMPLE_ROW_LIMIT)
|
|
103
|
+
.map((row) => {
|
|
104
|
+
const values = asList(asObject(row).values);
|
|
105
|
+
return positions.map((position) => {
|
|
106
|
+
const value = position < 0 ? undefined : values[position];
|
|
107
|
+
return value === undefined || value === null ? null : String(value);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
/** Whether a group's definition carries the host's enterprise stereotype */
|
|
112
|
+
const isEnterpriseGroup = (group, stereotype) => stereotype !== undefined &&
|
|
113
|
+
asList(group.stereotypes)
|
|
114
|
+
.map(asObject)
|
|
115
|
+
.some((each) => each.profile === stereotype.profile && each.value === stereotype.value);
|
|
116
|
+
/**
|
|
117
|
+
* A product's access points by group, as its definition lists them. One is
|
|
118
|
+
* pickable when it is a Lakehouse access point without parameters, outside
|
|
119
|
+
* a model group, deployed with a relation of columns Cube can read
|
|
120
|
+
*/
|
|
121
|
+
export const V1_readCubeDataProductDescription = (candidate, artifact, definition, enterpriseStereotype) => {
|
|
122
|
+
const implementations = readImplementations(artifact);
|
|
123
|
+
const hasDefinition = Boolean(asObject(definition).accessPointGroups);
|
|
124
|
+
// without a definition, the artifact's groups are listed, unpickable
|
|
125
|
+
const groupsJson = hasDefinition
|
|
126
|
+
? asList(asObject(definition).accessPointGroups)
|
|
127
|
+
: asList(asObject(artifact).accessPointGroups).map((group) => ({
|
|
128
|
+
...asObject(group),
|
|
129
|
+
accessPoints: asList(asObject(group).accessPointImplementations),
|
|
130
|
+
}));
|
|
131
|
+
const groups = groupsJson
|
|
132
|
+
.map(asObject)
|
|
133
|
+
.filter((group) => asString(group.id))
|
|
134
|
+
.map((group) => {
|
|
135
|
+
const groupId = group.id;
|
|
136
|
+
const isModelGroup = group._type === MODEL_ACCESS_POINT_GROUP_TYPE;
|
|
137
|
+
return new CubeAccessPointGroup({
|
|
138
|
+
id: groupId,
|
|
139
|
+
title: asString(group.title),
|
|
140
|
+
isEnterprise: isEnterpriseGroup(group, enterpriseStereotype),
|
|
141
|
+
accessPoints: asList(group.accessPoints)
|
|
142
|
+
.map(asObject)
|
|
143
|
+
.filter((point) => asString(point.id))
|
|
144
|
+
.map((point) => {
|
|
145
|
+
const id = point.id;
|
|
146
|
+
const implementation = implementations.get(keyOf(groupId, id));
|
|
147
|
+
const read = implementation
|
|
148
|
+
? readSchema(implementation)
|
|
149
|
+
: undefined;
|
|
150
|
+
const schema = read && 'schema' in read ? read.schema : undefined;
|
|
151
|
+
const disabledReason = !hasDefinition
|
|
152
|
+
? V1_CUBE_ACCESS_POINT_REASON.NO_DEFINITION
|
|
153
|
+
: isModelGroup
|
|
154
|
+
? V1_CUBE_ACCESS_POINT_REASON.MODEL_GROUP
|
|
155
|
+
: point._type !== LAKEHOUSE_ACCESS_POINT_TYPE
|
|
156
|
+
? V1_CUBE_ACCESS_POINT_REASON.NOT_LAKEHOUSE
|
|
157
|
+
: asList(asObject(point.func).parameters).length
|
|
158
|
+
? V1_CUBE_ACCESS_POINT_REASON.PARAMETERS
|
|
159
|
+
: !implementation
|
|
160
|
+
? V1_CUBE_ACCESS_POINT_REASON.NOT_DEPLOYED
|
|
161
|
+
: read && 'reason' in read
|
|
162
|
+
? read.reason
|
|
163
|
+
: undefined;
|
|
164
|
+
return new CubeAccessPoint({
|
|
165
|
+
id,
|
|
166
|
+
title: asString(point.title),
|
|
167
|
+
description: asString(point.description) ??
|
|
168
|
+
asString(implementation?.description),
|
|
169
|
+
schema,
|
|
170
|
+
disabledReason,
|
|
171
|
+
sampleRows: implementation && schema
|
|
172
|
+
? readSampleRows(implementation, schema)
|
|
173
|
+
: [],
|
|
174
|
+
});
|
|
175
|
+
}),
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
return new CubeDataProductDescription(candidate, groups);
|
|
179
|
+
};
|
|
180
|
+
/** A saved source's schema, from the product's description, or why it has none */
|
|
181
|
+
export const V1_findCubeAccessPointSchema = (description, location) => {
|
|
182
|
+
const accessPoint = description.groups
|
|
183
|
+
.find((group) => group.id === location.accessPointGroup)
|
|
184
|
+
?.accessPoints.find((point) => point.id === location.accessPoint);
|
|
185
|
+
if (!accessPoint) {
|
|
186
|
+
return `The data product has no access point "${location.accessPoint}" in group "${location.accessPointGroup}"`;
|
|
187
|
+
}
|
|
188
|
+
return accessPoint.isPickable
|
|
189
|
+
? accessPoint.schema
|
|
190
|
+
: (accessPoint.disabledReason ?? V1_CUBE_ACCESS_POINT_REASON.NO_TYPE);
|
|
191
|
+
};
|
|
192
|
+
//# sourceMappingURL=V1_CubeDataProductArtifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V1_CubeDataProductArtifact.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDataProductArtifact.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import type { IR } from '@finos/legend-cube';
|
|
17
|
+
import type { PlainObject } from '@finos/legend-shared';
|
|
18
|
+
import { type CubeDataProductProject } from '../../../CubeDataProduct.js';
|
|
19
|
+
/** Whether a lambda reads a data product's access point, anywhere in it */
|
|
20
|
+
export declare const V1_hasCubeDataProductAccessor: (ir: IR) => boolean;
|
|
21
|
+
/** The model typing runs on: the project alone, with no runtime */
|
|
22
|
+
export declare const V1_buildCubeDataProductTypingContext: (project: CubeDataProductProject) => PlainObject;
|
|
23
|
+
/**
|
|
24
|
+
* The model a run runs on: the project, then a model holding only the
|
|
25
|
+
* lakehouse runtime at Cube's fixed path, with the viewer's environment and
|
|
26
|
+
* the warehouse, always given
|
|
27
|
+
*/
|
|
28
|
+
export declare const V1_buildCubeDataProductExecutionContext: (project: CubeDataProductProject, environment: string, warehouse: string) => PlainObject;
|
|
29
|
+
//# sourceMappingURL=V1_CubeDataProductModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V1_CubeDataProductModel.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AAyBrC,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,GAAI,IAAI,EAAE,KAAG,OAetD,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,oCAAoC,GAC/C,SAAS,sBAAsB,KAC9B,WAAiC,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,GAClD,SAAS,sBAAsB,EAC/B,aAAa,MAAM,EACnB,WAAW,MAAM,KAChB,WAsBD,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { CUBE_DATA_PRODUCT_RUNTIME_PATH, } from '../../../CubeDataProduct.js';
|
|
17
|
+
// The models a data product cube's engine calls run on (PLAN §6.8), built for
|
|
18
|
+
// each call and never saved: the project at its saved version, and for a run
|
|
19
|
+
// a lakehouse runtime at Cube's fixed path, whose environment and warehouse
|
|
20
|
+
// are resolved for the viewer
|
|
21
|
+
const splitPath = (path) => {
|
|
22
|
+
const index = path.lastIndexOf('::');
|
|
23
|
+
return { package: path.slice(0, index), name: path.slice(index + 2) };
|
|
24
|
+
};
|
|
25
|
+
/** The project at the version its data products were deployed from: never a moving alias */
|
|
26
|
+
const pointerOf = (project) => ({
|
|
27
|
+
_type: 'pointer',
|
|
28
|
+
sdlcInfo: {
|
|
29
|
+
_type: 'alloy',
|
|
30
|
+
baseVersion: 'latest',
|
|
31
|
+
version: project.versionId,
|
|
32
|
+
packageableElementPointers: [],
|
|
33
|
+
groupId: project.groupId,
|
|
34
|
+
artifactId: project.artifactId,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
/** Whether a lambda reads a data product's access point, anywhere in it */
|
|
38
|
+
export const V1_hasCubeDataProductAccessor = (ir) => {
|
|
39
|
+
const visit = (value) => {
|
|
40
|
+
if (Array.isArray(value)) {
|
|
41
|
+
return value.some(visit);
|
|
42
|
+
}
|
|
43
|
+
if (!value || typeof value !== 'object') {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
const node = value;
|
|
47
|
+
if (node.k === 'dataProductAccessor') {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return node.k !== 'raw' && Object.values(node).some(visit);
|
|
51
|
+
};
|
|
52
|
+
return visit(ir);
|
|
53
|
+
};
|
|
54
|
+
/** The model typing runs on: the project alone, with no runtime */
|
|
55
|
+
export const V1_buildCubeDataProductTypingContext = (project) => pointerOf(project);
|
|
56
|
+
/**
|
|
57
|
+
* The model a run runs on: the project, then a model holding only the
|
|
58
|
+
* lakehouse runtime at Cube's fixed path, with the viewer's environment and
|
|
59
|
+
* the warehouse, always given
|
|
60
|
+
*/
|
|
61
|
+
export const V1_buildCubeDataProductExecutionContext = (project, environment, warehouse) => ({
|
|
62
|
+
_type: 'combination',
|
|
63
|
+
contexts: [
|
|
64
|
+
pointerOf(project),
|
|
65
|
+
{
|
|
66
|
+
_type: 'data',
|
|
67
|
+
elements: [
|
|
68
|
+
{
|
|
69
|
+
_type: 'runtime',
|
|
70
|
+
...splitPath(CUBE_DATA_PRODUCT_RUNTIME_PATH),
|
|
71
|
+
runtimeValue: {
|
|
72
|
+
_type: 'LakehouseRuntime',
|
|
73
|
+
connectionStores: [],
|
|
74
|
+
connections: [],
|
|
75
|
+
mappings: [],
|
|
76
|
+
environment,
|
|
77
|
+
warehouse,
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=V1_CubeDataProductModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V1_CubeDataProductModel.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDataProductModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,8BAA8B,GAE/B,MAAM,6BAA6B,CAAC;AAErC,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,8BAA8B;AAE9B,MAAM,SAAS,GAAG,CAAC,IAAY,EAAqC,EAAE;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF,4FAA4F;AAC5F,MAAM,SAAS,GAAG,CAAC,OAA+B,EAAe,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,0BAA0B,EAAE,EAAE;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B;CACF,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAAM,EAAW,EAAE;IAC/D,MAAM,KAAK,GAAG,CAAC,KAAc,EAAW,EAAE;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,KAAoB,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC;IACF,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,OAA+B,EAClB,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CACrD,OAA+B,EAC/B,WAAmB,EACnB,SAAiB,EACJ,EAAE,CAAC,CAAC;IACjB,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE;QACR,SAAS,CAAC,OAAO,CAAC;QAClB;YACE,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE;gBACR;oBACE,KAAK,EAAE,SAAS;oBAChB,GAAG,SAAS,CAAC,8BAA8B,CAAC;oBAC5C,YAAY,EAAE;wBACZ,KAAK,EAAE,kBAAkB;wBACzB,gBAAgB,EAAE,EAAE;wBACpB,WAAW,EAAE,EAAE;wBACf,QAAQ,EAAE,EAAE;wBACZ,WAAW;wBACX,SAAS;qBACV;iBACF;aACF;SACF;KACF;CACF,CAAC,CAAC"}
|
|
@@ -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 { PlainObject } from '@finos/legend-shared';
|
|
17
|
+
import { type CubeConnectionDraft, type CubeConnectionSummary } from '../../../CubeConnectionExplorer.js';
|
|
18
|
+
/**
|
|
19
|
+
* What keeps Cube from using a connection, in words a user can act on: none
|
|
20
|
+
* when the connection is one Cube supports. Values are never repeated, only
|
|
21
|
+
* the names of properties, since a property Cube doesn't know could hold a
|
|
22
|
+
* secret
|
|
23
|
+
*/
|
|
24
|
+
export declare const V1_checkCubeDirectConnection: (connection: unknown) => readonly string[];
|
|
25
|
+
/**
|
|
26
|
+
* The connection the form describes, as the engine reads it. It names no
|
|
27
|
+
* store: each call binds it to the Database built for that call
|
|
28
|
+
*/
|
|
29
|
+
export declare const V1_buildCubeDirectConnection: (draft: CubeConnectionDraft) => PlainObject;
|
|
30
|
+
/**
|
|
31
|
+
* What the page shows of a connection Cube supports (see
|
|
32
|
+
* `V1_checkCubeDirectConnection`): never its setup SQL
|
|
33
|
+
*/
|
|
34
|
+
export declare const V1_summarizeCubeDirectConnection: (connection: PlainObject) => CubeConnectionSummary;
|
|
35
|
+
/**
|
|
36
|
+
* A connection as text that two connections share exactly when they reach the
|
|
37
|
+
* same database the same way: key order, the bound store and source
|
|
38
|
+
* positions don't count. Used to compare connections and to key caches
|
|
39
|
+
*/
|
|
40
|
+
export declare const V1_canonicalCubeDirectConnection: (connection: PlainObject) => string;
|
|
41
|
+
//# sourceMappingURL=V1_CubeDirectConnection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V1_CubeDirectConnection.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_CubeDirectConnection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AA+K5C;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,YAAY,OAAO,KAClB,SAAS,MAAM,EA+CjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,OAAO,mBAAmB,KACzB,WAwBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,GAC3C,YAAY,WAAW,KACtB,qBAmBF,CAAC;AAoBF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC3C,YAAY,WAAW,KACtB,MAAoD,CAAC"}
|