/** * Copyright (c) 2020-present, Goldman Sachs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type ContentType, type LogService, type PlainObject, type ServerClientConfig, ActionState, TracerService } from '@finos/legend-shared'; import type { TEMPORARY__AbstractEngineConfig } from '../../../../graph-manager/action/TEMPORARY__AbstractEngineConfig.js'; import { AbstractPureGraphManager, type TEMPORARY__EngineSetupConfig, type GraphBuilderOptions, type ExecutionOptions, type ServiceRegistrationOptions } from '../../../../graph-manager/AbstractPureGraphManager.js'; import { Mapping } from '../../../../graph/metamodel/pure/packageableElements/mapping/Mapping.js'; import type { Runtime } from '../../../../graph/metamodel/pure/packageableElements/runtime/Runtime.js'; import type { PackageableElement } from '../../../../graph/metamodel/pure/packageableElements/PackageableElement.js'; import { type SystemModel, type CoreModel, PureModel, type GraphTextInputOption } from '../../../../graph/PureModel.js'; import type { BasicModel } from '../../../../graph/BasicModel.js'; import type { DependencyManager } from '../../../../graph/DependencyManager.js'; import type { Class } from '../../../../graph/metamodel/pure/packageableElements/domain/Class.js'; import { RawLambda } from '../../../../graph/metamodel/pure/rawValueSpecification/RawLambda.js'; import type { RawValueSpecification } from '../../../../graph/metamodel/pure/rawValueSpecification/RawValueSpecification.js'; import type { FileGenerationSpecification } from '../../../../graph/metamodel/pure/packageableElements/fileGeneration/FileGenerationSpecification.js'; import type { GenerationConfigurationDescription, GenerationMode } from '../../../../graph-manager/action/generation/GenerationConfigurationDescription.js'; import { type ServiceRegistrationResult, ServiceRegistrationSuccess } from '../../../../graph-manager/action/service/ServiceRegistrationResult.js'; import type { GenerationOutput } from '../../../../graph-manager/action/generation/GenerationOutput.js'; import type { ValueSpecification } from '../../../../graph/metamodel/pure/valueSpecification/ValueSpecification.js'; import { ServiceExecutionMode } from '../../../../graph-manager/action/service/ServiceExecutionMode.js'; import { V1_PureModelContextData } from './model/context/V1_PureModelContextData.js'; import { type V1_PackageableElement } from './model/packageableElements/V1_PackageableElement.js'; import { V1_ExecuteInput } from './engine/execution/V1_ExecuteInput.js'; import { V1_Profile } from './model/packageableElements/domain/V1_Profile.js'; import { V1_Class } from './model/packageableElements/domain/V1_Class.js'; import { V1_Enumeration } from './model/packageableElements/domain/V1_Enumeration.js'; import { V1_Association } from './model/packageableElements/domain/V1_Association.js'; import { V1_Measure } from './model/packageableElements/domain/V1_Measure.js'; import { V1_Store } from './model/packageableElements/store/V1_Store.js'; import { V1_Service } from './model/packageableElements/service/V1_Service.js'; import { V1_PackageableRuntime } from './model/packageableElements/runtime/V1_PackageableRuntime.js'; import { V1_PackageableConnection } from './model/packageableElements/connection/V1_PackageableConnection.js'; import { V1_FileGenerationSpecification } from './model/packageableElements/fileGeneration/V1_FileGenerationSpecification.js'; import { V1_SectionIndex } from './model/packageableElements/section/V1_SectionIndex.js'; import { V1_GenerationSpecification } from './model/packageableElements/generationSpecification/V1_GenerationSpecification.js'; import { V1_Mapping } from './model/packageableElements/mapping/V1_Mapping.js'; import { V1_ConcreteFunctionDefinition } from './model/packageableElements/function/V1_ConcreteFunctionDefinition.js'; import type { V1_PureModelContext } from './model/context/V1_PureModelContext.js'; import type { V1_ElementBuilder } from './transformation/pureGraph/to/V1_ElementBuilder.js'; import { V1_GraphBuilderExtensions } from './transformation/pureGraph/to/V1_GraphBuilderExtensions.js'; import type { DatabaseBuilderInput } from '../../../../graph-manager/action/generation/DatabaseBuilderInput.js'; import type { RawRelationalOperationElement } from '../../../../graph/metamodel/pure/packageableElements/store/relational/model/RawRelationalOperationElement.js'; import type { ExecutionPlan, RawExecutionPlan } from '../../../../graph/metamodel/pure/executionPlan/ExecutionPlan.js'; import type { V1_ExecutionNode } from './model/executionPlan/nodes/V1_ExecutionNode.js'; import type { ExecutionNode } from '../../../../graph/metamodel/pure/executionPlan/nodes/ExecutionNode.js'; import type { V1_ExecutionPlan } from './model/executionPlan/V1_ExecutionPlan.js'; import { type LightQuery, type Query, type QueryInfo } from '../../../../graph-manager/action/query/Query.js'; import { type Entity, type EntitiesWithOrigin, type ProjectGAVCoordinates } from '@finos/legend-storage'; import { PureClientVersion } from '../../../../graph-manager/GraphManagerUtils.js'; import type { GraphManagerPluginManager } from '../../../GraphManagerPluginManager.js'; import type { QuerySearchSpecification } from '../../../../graph-manager/action/query/QuerySearchSpecification.js'; import type { ExternalFormatDescription } from '../../../../graph-manager/action/externalFormat/ExternalFormatDescription.js'; import type { ConfigurationProperty } from '../../../../graph/metamodel/pure/packageableElements/fileGeneration/ConfigurationProperty.js'; import { type GraphManagerOperationReport } from '../../../GraphManagerStatistics.js'; import { V1_DataElement } from './model/packageableElements/data/V1_DataElement.js'; import type { RunTestsTestableInput } from '../../../../graph/metamodel/pure/test/result/RunTestsTestableInput.js'; import { type TestResult } from '../../../../graph/metamodel/pure/test/result/TestResult.js'; import type { MappingModelCoverageAnalysisResult, RawMappingModelCoverageAnalysisResult } from '../../../../graph-manager/action/analytics/MappingModelCoverageAnalysis.js'; import { SchemaSet } from '../../../../graph/metamodel/pure/packageableElements/externalFormat/schemaSet/DSL_ExternalFormat_SchemaSet.js'; import type { CompilationResult, TextCompilationResult } from '../../../action/compilation/CompilationResult.js'; import type { ModelUnit } from '../../../../graph/metamodel/pure/packageableElements/externalFormat/store/DSL_ExternalFormat_ModelUnit.js'; import type { ParameterValue } from '../../../../graph/metamodel/pure/packageableElements/service/ParameterValue.js'; import type { Service } from '../../../../graph/metamodel/pure/packageableElements/service/Service.js'; import { V1_ExecutionEnvironmentInstance } from './model/packageableElements/service/V1_ExecutionEnvironmentInstance.js'; import { V1_StoreEntitlementAnalysisInput } from './engine/analytics/V1_StoreEntitlementAnalysis.js'; import type { DatasetEntitlementReport, DatasetSpecification } from '../../../action/analytics/StoreEntitlementAnalysis.js'; import { type GraphDataOrigin } from '../../../../graph/GraphDataOrigin.js'; import { type GraphData } from '../../../GraphData.js'; import type { DEPRECATED__MappingTest } from '../../../../graph/metamodel/pure/packageableElements/mapping/DEPRECATED__MappingTest.js'; import { V1_INTERNAL__UnknownPackageableElement } from './model/packageableElements/V1_INTERNAL__UnknownPackageableElement.js'; import type { SourceInformation } from '../../../action/SourceInformation.js'; import type { FunctionActivator } from '../../../../graph/metamodel/pure/packageableElements/function/FunctionActivator.js'; import { FunctionActivatorConfiguration } from '../../../action/functionActivator/FunctionActivatorConfiguration.js'; import { V1_FunctionActivator } from './model/packageableElements/function/V1_FunctionActivator.js'; import { type RelationalDatabaseConnection } from '../../../../STO_Relational_Exports.js'; import type { ArtifactGenerationExtensionResult } from '../../../action/generation/ArtifactGenerationExtensionResult.js'; import type { TestDataGenerationResult } from '../../../../graph/metamodel/pure/packageableElements/service/TestGenerationResult.js'; import { RelationalDatabaseTypeConfiguration } from '../../../action/relational/RelationalDatabaseTypeConfiguration.js'; import type { TableRowIdentifiers } from '../../../../graph/metamodel/pure/packageableElements/service/TableRowIdentifiers.js'; import { EngineError } from '../../../action/EngineError.js'; import type { ExecutionResult, ExecutionResultWithMetadata } from '../../../action/execution/ExecutionResult.js'; import { V1_INTERNAL__UnknownElement } from './model/packageableElements/V1_INTERNAL__UnknownElement.js'; import type { PostValidationAssertionResult } from '../../../../DSL_Service_Exports.js'; import type { TestDebug } from '../../../../graph/metamodel/pure/test/result/DebugTestsResult.js'; import type { V1_GraphManagerEngine } from './engine/V1_GraphManagerEngine.js'; import type { RelationTypeMetadata } from '../../../action/relation/RelationTypeMetadata.js'; import type { CodeCompletionResult } from '../../../action/compilation/Completion.js'; import type { DeploymentResult } from '../../../action/DeploymentResult.js'; import type { LightPersistentDataCube, PersistentDataCube } from '../../../action/query/PersistentDataCube.js'; import { V1_DataProduct } from './model/packageableElements/dataProduct/V1_DataProduct.js'; import { V1_DataProductArtifact } from './lakehouse/deploy/V1_DataProductArtifact.js'; import { DataProductAnalysisQueryResult } from '../../../action/analytics/data-product/DataProductAnalysis.js'; import { DataProductAccessType } from '../../../../graph/metamodel/pure/dataProduct/DataProduct.js'; import { LineageModel } from '../../../../graph/metamodel/pure/lineage/LineageModel.js'; import { V1_LineageInput, type V1_RawLineageModel } from './model/lineage/V1_Lineage.js'; import type { DeployProjectResponse } from '../../../action/dev-metadata/DeployProjectResponse.js'; import type { MetadataRequestOptions } from '../../../action/dev-metadata/MetadataRequestOptions.js'; import type { Accessor } from '../../../../graph/metamodel/pure/packageableElements/relation/Accessor.js'; declare class V1_PureModelContextDataIndex { elements: V1_PackageableElement[]; nativeElements: V1_PackageableElement[]; associations: V1_Association[]; classes: V1_Class[]; enumerations: V1_Enumeration[]; functions: V1_ConcreteFunctionDefinition[]; functionActivators: V1_FunctionActivator[]; profiles: V1_Profile[]; measures: V1_Measure[]; stores: V1_Store[]; mappings: V1_Mapping[]; connections: V1_PackageableConnection[]; runtimes: V1_PackageableRuntime[]; sectionIndices: V1_SectionIndex[]; fileGenerations: V1_FileGenerationSpecification[]; generationSpecifications: V1_GenerationSpecification[]; dataElements: V1_DataElement[]; services: V1_Service[]; executionEnvironments: V1_ExecutionEnvironmentInstance[]; products: V1_DataProduct[]; INTERNAL__UnknownElement: V1_INTERNAL__UnknownElement[]; INTERNAL__unknownElements: V1_INTERNAL__UnknownPackageableElement[]; otherElementsByBuilder: Map, V1_PackageableElement[]>; } export declare const V1_indexPureModelContextData: (report: GraphManagerOperationReport, data: V1_PureModelContextData, extensions: V1_GraphBuilderExtensions) => V1_PureModelContextDataIndex; interface V1_PureGraphBuilderInput { model: BasicModel; data: V1_PureModelContextDataIndex; origin?: GraphDataOrigin | undefined; } export interface V1_EngineSetupConfig { env: string; tabSize: number; clientConfig: ServerClientConfig; } export declare class V1_PureGraphManager extends AbstractPureGraphManager { private readonly elementClassifierPathMap; private readonly subtypeInfo; static readonly PURE_PROTOCOL_NAME = "pure"; static readonly DEV_PROTOCOL_VERSION = PureClientVersion.VX_X_X; static readonly PROD_PROTOCOL_VERSION: undefined; engine: V1_GraphManagerEngine; readonly graphBuilderExtensions: V1_GraphBuilderExtensions; constructor(pluginManager: GraphManagerPluginManager, logService: LogService, engine?: V1_GraphManagerEngine); TEMPORARY__getEngineConfig(): TEMPORARY__AbstractEngineConfig; initialize(config: TEMPORARY__EngineSetupConfig, options?: { tracerService?: TracerService | undefined; disableGraphConfiguration?: boolean | undefined; engine?: V1_GraphManagerEngine; }): Promise; private configureElementClassifierPathMap; private configureSubtypeInfoMap; getSupportedProtocolVersion(): string; getElementEntities(entities: Entity[]): Entity[]; buildSystem(coreModel: CoreModel, systemModel: SystemModel, buildState: ActionState, options?: GraphBuilderOptions, _report?: GraphManagerOperationReport): Promise; buildDependencies(coreModel: CoreModel, systemModel: SystemModel, dependencyManager: DependencyManager, dependencyEntitiesIndex: Map, buildState: ActionState, options?: GraphBuilderOptions, _report?: GraphManagerOperationReport): Promise; buildGraph(graph: PureModel, entities: Entity[], buildState: ActionState, options?: GraphBuilderOptions, _report?: GraphManagerOperationReport): Promise; buildLightGraph(graph: PureModel, entities: Entity[], buildState: ActionState, options?: GraphBuilderOptions, _report?: GraphManagerOperationReport): Promise; buildGenerations(graph: PureModel, generatedEntities: Map, buildState: ActionState, options?: GraphBuilderOptions, _report?: GraphManagerOperationReport): Promise; private buildGraphFromInputs; private buildLightGraphFromInputs; private getBuilderContext; /** * This will run the first pass builder for all elements and index them. * This process is needed so other core processes such as building the section indices * or building processes that relies on the `existence` of other elements to refer to them, * but not necessarily use them. * * NOTE: We aim to not do anything more than running the first pass and indexing the first pass. */ private initializeAndIndexElements; private buildTypes; private buildFunctionActivators; private buildStores; private buildMappings; private buildConnectionsAndRuntimes; private buildServices; private buildDataElements; private buildDataProducts; private buildFileGenerations; private buildGenerationSpecifications; private buildSectionIndices; private buildOtherElements; /** * Run a callback for each item in the array, processing items in batches * of {@link GRAPH_BUILDER_BATCH_SIZE} and yielding to the event loop between * batches to keep the UI responsive. */ private runBatchedLoop; /** * Process elements from inputs in batches, yielding to the event loop * between batches to keep the UI responsive. */ private processElementsInBatches; private visitWithGraphBuilderErrorHandling; graphToPureCode(graph: PureModel, options?: { pretty?: boolean | undefined; excludeUnknown?: boolean | undefined; }): Promise; prettyLambdaContent(lambda: string): Promise; entitiesToPureCode(entities: Entity[], options?: { pretty?: boolean | undefined; }): Promise; pureCodeToEntities(code: string, options?: { sourceInformationIndex?: Map; TEMPORARY__keepSectionIndex?: boolean; }): Promise; pureCodeToLambda(lambda: string, lambdaId?: string, options?: { pruneSourceInformation?: boolean; }): Promise; lambdaToPureCode(lambda: RawLambda, pretty?: boolean): Promise; lambdasToPureCode(lambdas: Map, pretty?: boolean): Promise>; valueSpecificationsToPureCode(lambdas: Map, pretty?: boolean | undefined): Promise>; valueSpecificationToPureCode(valSpec: PlainObject, pretty?: boolean | undefined): Promise; pureCodeToValueSpecification(valSpec: string, returnSourceInformation?: boolean): Promise>; pureCodeToValueSpecifications(lambdas: Map, graph: PureModel): Promise>; pureCodeToRelationalOperationElement(operation: string, operationId: string): Promise; relationalOperationElementToPureCode(operations: Map): Promise>; compileEntities(entities: Entity[]): Promise; compileGraph(graph: PureModel, options?: { onError?: (() => void) | undefined; keepSourceInformation?: boolean | undefined; } | undefined, _report?: GraphManagerOperationReport): Promise; compileText(graphGrammar: string, graph: PureModel, options?: { onError?: () => void; }, _report?: GraphManagerOperationReport): Promise; getLambdaReturnType(lambda: RawLambda, graph: PureModel, options?: { keepSourceInformation?: boolean; }): Promise; getLambdaRelationType(lambda: RawLambda, graph: PureModel, options?: { keepSourceInformation?: boolean; }): Promise; getCodeComplete(codeBlock: string, graph: PureModel, offset: number | undefined, options?: { ignoreElements: string[] | undefined; }): Promise; getLambdasReturnType(lambdas: Map, graph: PureModel, options?: { keepSourceInformation?: boolean; }): Promise<{ results: Map; errors: Map; }>; TEMPORARY__getLambdaReturnType(key: string, lambda: RawLambda, plainGraph: PlainObject, finalResult: { results: Map; errors: Map; }, options?: { keepSourceInformation?: boolean; }): Promise; createAccessorFromPackageableElement(element: PackageableElement, graph: PureModel, options?: { schemaName?: string | undefined; tableName?: string | undefined; }): Accessor | undefined; private buildLambdaReturnTypeInput; private buildV1RawLambda; getAvailableGenerationConfigurationDescriptions(): Promise; private buildPMCDWithOptions; generateArtifacts(graph: PureModel, graphOptions?: GraphTextInputOption, elementPaths?: string[]): Promise; generateFile(fileGeneration: FileGenerationSpecification, generationMode: GenerationMode, graph: PureModel, graphOptions?: GraphTextInputOption): Promise; generateModel(generationElement: PackageableElement, graph: PureModel, graphOptions?: GraphTextInputOption): Promise; generateTestData(query: RawLambda, mapping: string, runtime: string, graph: PureModel): Promise; runTests(inputs: RunTestsTestableInput[], graph: PureModel): Promise; debugTests(inputs: RunTestsTestableInput[], graph: PureModel): Promise; buildValueSpecification(json: PlainObject, graph: PureModel): ValueSpecification; serializeValueSpecification(valueSpecification: ValueSpecification): PlainObject; transformValueSpecToRawValueSpec(valueSpecification: ValueSpecification, graph: PureModel): RawValueSpecification; buildRawValueSpecification(json: object, graph: PureModel): RawValueSpecification; serializeRawValueSpecification(metamodel: RawValueSpecification): PlainObject; createGetAllRawLambda(_class: Class): RawLambda; createDefaultBasicRawLambda(options?: { addDummyParameter?: boolean; }): RawLambda; getAvailableExternalFormatsDescriptions(): Promise; generateModelFromExternalFormat(schemaSet: SchemaSet, targetBinding: string | undefined, configurationProperties: ConfigurationProperty[], graph: PureModel): Promise; generateSchemaFromExternalFormatConfig(modelUnit: ModelUnit, targetBinding: string | undefined, configurationProperties: ConfigurationProperty[], currentGraph: PureModel): Promise; getExamplePureProtocolText(): string; getExampleExternalFormatImportText(): string; entitiesToPureProtocolText(entities: Entity[]): Promise; pureProtocolTextToEntities: (protocol: string) => Entity[]; private prepareExecutionContextGraphData; createExecutionInput: (graph: PureModel, mapping: Mapping | undefined, lambda: RawLambda, runtime: Runtime | undefined, clientVersion: string | undefined, options?: ExecutionOptions) => Promise; createLineageInput: (graph: PureModel, mapping: Mapping | undefined, lambda: RawLambda, runtime: Runtime | undefined, clientVersion: string | undefined) => Promise; private createExecutionInputWithPureModelContext; __fromExpression: (mapping: string | undefined, runtime: string, body: object) => object; private createExecutionInputWithPureModelContextWithV1; runQueryWithUncompiledGraph(lambda: RawLambda | string, mapping: string | undefined, runtime: string | undefined, graph: PureModel, options?: ExecutionOptions, _report?: GraphManagerOperationReport): Promise; runQuery(lambda: RawLambda, mapping: Mapping, runtime: Runtime, graph: PureModel, options?: ExecutionOptions, _report?: GraphManagerOperationReport): Promise; _runQuery(createV1ExecuteInputFunc: () => V1_ExecuteInput | Promise, options?: ExecutionOptions, _report?: GraphManagerOperationReport): Promise; exportData(lambda: RawLambda, mapping: Mapping, runtime: Runtime, graph: PureModel, options?: ExecutionOptions | undefined, _report?: GraphManagerOperationReport | undefined, contentType?: ContentType | undefined): Promise; DEPRECATED__runLegacyMappingTests(tests: { test: DEPRECATED__MappingTest; runtime: Runtime; handleResult: (val: ExecutionResult) => void; handleError: (message: Error) => void; }[], mapping: Mapping, graph: PureModel, options?: ExecutionOptions, _report?: GraphManagerOperationReport): Promise; private DEPRECATED__runLegacyMappingTest; generateExecutionPlan(lambda: RawLambda, mapping: Mapping | undefined, runtime: Runtime | undefined, graph: PureModel, options?: ExecutionOptions, _report?: GraphManagerOperationReport): Promise; debugExecutionPlanGeneration(lambda: RawLambda, mapping: Mapping | undefined, runtime: Runtime | undefined, graph: PureModel, options?: ExecutionOptions, _report?: GraphManagerOperationReport): Promise<{ plan: RawExecutionPlan; debug: string; }>; generateExecuteTestData(lambda: RawLambda, parameters: (string | number | boolean)[], mapping: Mapping, runtime: Runtime, graph: PureModel, options?: { anonymizeGeneratedData?: boolean; parameterValues?: ParameterValue[]; }, _report?: GraphManagerOperationReport): Promise; generateExecuteTestDataWithSeedData(lambda: RawLambda, tableRowIdentifiers: TableRowIdentifiers[], mapping: Mapping, runtime: Runtime, graph: PureModel, options?: { anonymizeGeneratedData?: boolean; parameterValues?: ParameterValue[]; }, _report?: GraphManagerOperationReport): Promise; buildExecutionPlan(executionPlanJson: PlainObject, graph: PureModel): ExecutionPlan; buildLineage(lineageJSON: PlainObject): LineageModel; serializeExecutionPlan(executionPlan: ExecutionPlan): PlainObject; serializeExecutionNode(executionNode: ExecutionNode): PlainObject; cancelUserExecutions(broadcastToCluster: boolean): Promise; analyzeExecuteInput(data: PlainObject, executablePath: string): Promise<{ origin: GraphDataOrigin; entities: Entity[]; }>; searchQueries(searchSpecification: QuerySearchSpecification): Promise; getQueries(queryIds: string[]): Promise; getLightQuery(queryId: string): Promise; getQuery(queryId: string, graph: PureModel): Promise; getQueryInfo(queryId: string): Promise; createQuery(query: Query, graph: PureModel): Promise; updateQuery(query: Query, graph: PureModel): Promise; patchQuery(query: Partial, graph: PureModel): Promise; renameQuery(queryId: string, queryName: string): Promise; deleteQuery(queryId: string): Promise; productionizeQueryToServiceEntity(query: QueryInfo, serviceConfig: { name: string; packageName: string; pattern: string; serviceOwners: string[]; title?: string | undefined; }, graph: Entity[]): Promise; resolveQueryInfoExecutionContext(query: QueryInfo, graphLoader: () => Promise[]>): Promise<{ mapping: string | undefined; runtime: string; }>; searchDataCubes(searchSpecification: QuerySearchSpecification): Promise; getDataCubes(ids: string[]): Promise; getDataCube(id: string): Promise; createDataCube(dataCube: PersistentDataCube): Promise; updateDataCube(dataCube: PersistentDataCube): Promise; deleteDataCube(id: string): Promise; analyzeMappingModelCoverage(mapping: Mapping, graph: PureModel): Promise; buildMappingModelCoverageAnalysisResult(input: RawMappingModelCoverageAnalysisResult, mapping: Mapping): MappingModelCoverageAnalysisResult; generateStoreEntitlementAnalysisInput(mapping: string, runtime: string, query: RawLambda | undefined, graphData: GraphData): V1_StoreEntitlementAnalysisInput; surveyDatasets(mapping: string, runtime: string, query: RawLambda | undefined, graphData: GraphData): Promise; checkDatasetEntitlements(datasets: DatasetSpecification[], mapping: string, runtime: string, query: RawLambda | undefined, graphData: GraphData): Promise; analyzeDataProductAndBuildMinimalGraph(dataProductPath: string, cacheRetriever: () => Promise, pureGraph: PureModel, accessPointId: string, dataProductAccessType: DataProductAccessType, projectInfo: ProjectGAVCoordinates, functionEntitiesRetriever?: () => Promise<[ PlainObject[], PlainObject[] ]>, graphReport?: GraphManagerOperationReport): Promise; private resolveArtifactElements; buildDataProductAnalysis(artifact: V1_DataProductArtifact, dataProductPath: string, pureGraph: PureModel, accessPointId: string, dataProductAccessType: DataProductAccessType, projectInfo: ProjectGAVCoordinates, graphReport?: GraphManagerOperationReport): Promise; private buildModelAccessDataProductAnalysis; private buildNativeAccessDataProductAnalysis; private buildLakehouseAccessDataProductAnalysis; /** * Shared core logic for building data product analysis after the access type * specific resolution has been performed. */ private buildDataProductAnalysisCore; buildDatabase(input: DatabaseBuilderInput): Promise; executeRawSQL(connection: RelationalDatabaseConnection, sql: string): Promise; getAvailableFunctionActivatorConfigurations(coreModel: CoreModel, systemModel: SystemModel): Promise; validateFunctionActivator(functionActivator: FunctionActivator, graphData: GraphData): Promise; renderFunctionActivatorArtifact(functionActivator: FunctionActivator, graphData: GraphData): Promise; publishFunctionActivatorToSandbox(functionActivator: FunctionActivator, graphData: GraphData): Promise; generateModelsFromDatabaseSpecification(databasePath: string, targetPackage: undefined | string, graph: PureModel): Promise; getAvailableRelationalDatabaseTypeConfigurations(): Promise; registerService(service: Service, graph: PureModel, groupId: string, artifactId: string, version: string | undefined, server: string, executionMode: ServiceExecutionMode, options?: ServiceRegistrationOptions): Promise; bulkServiceRegistration(services: Service[], graph: PureModel, groupId: string, artifactId: string, version: string | undefined, server: string, executionMode: ServiceExecutionMode, options?: ServiceRegistrationOptions): Promise; activateService(serviceUrl: string, serviceId: string): Promise; checkServiceRegisteredByPattern(serviceServerUrl: string, servicePattern: string): Promise; runServicePostValidations(service: Service, graph: PureModel, assertionId: string): Promise; createSandboxProject(): Promise<{ projectId: string; webUrl: string | undefined; owner: string; }>; userHasPrototypeProjectAccess(userId: string): Promise; pushToDevMetadata(groupId: string, artiactId: string, versionId: string, options: MetadataRequestOptions | undefined, graph: PureModel): Promise; buildHashesIndex(entities: Entity[]): Promise>; elementToEntity: (element: PackageableElement, options?: { pruneSourceInformation?: boolean; }) => Entity; elementsToPureCode(elements: PackageableElement[], options?: { pruneSourceInformation?: boolean; pretty?: boolean; }): Promise; private prunePureModelContextData; private buildPureModelSDLCPointer; /** * This method helps indexing the graph from graph and dependencies' entities * This will produce a _light_ graph with empty unprocesed elements, they are just indexed in the graph * and the Pure model context data which can be used to further build the graph * * There are a few simple analytics we want to do on the graph which does not necessarily * require us to build the full-graph, in fact, doing so would be too costly. In those scenarios, * we need to build the _light_ graph, hence the existence of this utility method * * TODO?: do we need to account for system elements? */ indexLightGraph(graph: PureModel, entities: Entity[], dependencyEntitiesIndex: Map, entityFilterFn?: ((entity: Entity) => boolean) | undefined, entityProcessorFn?: ((entity: Entity) => Entity) | undefined): Promise; private getFullGraphModelContext; getFullGraphModelData(graph: PureModel, options?: { keepSourceInformation?: boolean | undefined; } | undefined): V1_PureModelContextData; elementProtocolToEntity: (elementProtocol: V1_PackageableElement) => Entity; pureModelContextDataToEntities: (graphProtocol: V1_PureModelContextData) => Entity[]; private entitiesToPureModelContextData; elementToProtocol: (element: PackageableElement, options?: { keepSourceInformation?: boolean | undefined; } | undefined) => T; private getElementPath; private getElementClassiferPath; private graphToPureModelContextData; private getGraphCompileContext; generateLineage(lambda: RawLambda, mapping: Mapping | undefined, runtime: Runtime | undefined, graph: PureModel, _report?: GraphManagerOperationReport): Promise; } export {}; //# sourceMappingURL=V1_PureGraphManager.d.ts.map