UNPKG

@finos/legend-graph

Version:
155 lines 13.4 kB
/** * 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 PlainObject } from '@finos/legend-shared'; import type { RawLambda } from '../../../../../graph/metamodel/pure/rawValueSpecification/RawLambda.js'; import { type GenerationMode, type GenerationConfigurationDescription } from '../../../../action/generation/GenerationConfigurationDescription.js'; import { type V1_GrammarParserBatchInputEntry } from './V1_EngineServerClient.js'; import { type V1_PureModelContextData } from '../model/context/V1_PureModelContextData.js'; import { type V1_LambdaReturnTypeInput } from './compilation/V1_LambdaReturnType.js'; import type { V1_RawLambda } from '../model/rawValueSpecification/V1_RawLambda.js'; import { type V1_GenerationOutput } from './generation/V1_GenerationOutput.js'; import type { V1_RawRelationalOperationElement } from '../model/packageableElements/store/relational/model/V1_RawRelationalOperationElement.js'; import type { RawRelationalOperationElement } from '../../../../../graph/metamodel/pure/packageableElements/store/relational/model/RawRelationalOperationElement.js'; import type { PureProtocolProcessorPlugin } from '../../PureProtocolProcessorPlugin.js'; import { type V1_LightQuery, type V1_Query } from './query/V1_Query.js'; import { type V1_DatabaseBuilderInput } from './generation/V1_DatabaseBuilderInput.js'; import { type V1_ServiceConfigurationInfo } from './service/V1_ServiceConfiguration.js'; import { type V1_ExecuteInput, type V1_TestDataGenerationExecutionInput, type V1_TestDataGenerationExecutionWithSeedInput } from './execution/V1_ExecuteInput.js'; import type { V1_ExecutionPlan } from '../model/executionPlan/V1_ExecutionPlan.js'; import { type V1_ExecutionResult } from './execution/V1_ExecutionResult.js'; import { type V1_ServiceStorage } from './service/V1_ServiceStorage.js'; import { type V1_ServiceRegistrationResult } from './service/V1_ServiceRegistrationResult.js'; import type { V1_PureModelContext } from '../model/context/V1_PureModelContext.js'; import { type V1_QuerySearchSpecification } from './query/V1_QuerySearchSpecification.js'; import type { ExecutionOptions, TEMPORARY__EngineSetupConfig } from '../../../../AbstractPureGraphManager.js'; import type { ExternalFormatDescription } from '../../../../action/externalFormat/ExternalFormatDescription.js'; import { type V1_ExternalFormatModelGenerationInput } from './externalFormat/V1_ExternalFormatModelGeneration.js'; import { type V1_RunTestsInput } from './test/V1_RunTestsInput.js'; import { type V1_RunTestsResult } from './test/V1_RunTestsResult.js'; import { type V1_MappingModelCoverageAnalysisInput, type V1_MappingModelCoverageAnalysisResult } from './analytics/V1_MappingModelCoverageAnalysis.js'; import type { ServiceExecutionMode } from '../../../../action/service/ServiceExecutionMode.js'; import type { V1_CompilationResult, V1_TextCompilationResult } from './compilation/V1_CompilationResult.js'; import { type V1_GenerateSchemaInput } from './externalFormat/V1_GenerateSchemaInput.js'; import type { GraphManagerOperationReport } from '../../../../GraphManagerStatistics.js'; import { type V1_StoreEntitlementAnalysisInput, type V1_DatasetEntitlementReport, type V1_DatasetSpecification, type V1_EntitlementReportAnalyticsInput } from './analytics/V1_StoreEntitlementAnalysis.js'; import type { V1_SourceInformation } from '../model/V1_SourceInformation.js'; import type { ClassifierPathMapping, SubtypeInfo } from '../../../../action/protocol/ProtocolInfo.js'; import { type V1_FunctionActivatorInfo } from './functionActivator/V1_FunctionActivatorInfo.js'; import { type V1_FunctionActivatorInput } from './functionActivator/V1_FunctionActivatorInput.js'; import { type V1_RawSQLExecuteInput } from './execution/V1_RawSQLExecuteInput.js'; import type { V1_ValueSpecification } from '../model/valueSpecification/V1_ValueSpecification.js'; import { type V1_ArtifactGenerationExtensionOutput, type V1_ArtifactGenerationExtensionInput } from './generation/V1_ArtifactGenerationExtensionApi.js'; import { type V1_DatabaseToModelGenerationInput } from './relational/V1_DatabaseToModelGenerationInput.js'; import { type V1_TestDataGenerationInput } from './service/V1_TestDataGenerationInput.js'; import { type V1_TestDataGenerationResult } from './service/V1_TestDataGenerationResult.js'; import { type V1_RelationalConnectionBuilder } from './relational/V1_RelationalConnectionBuilder.js'; import type { PostValidationAssertionResult } from '../../../../../DSL_Service_Exports.js'; import { type V1_DebugTestsResult } from './test/V1_DebugTestsResult.js'; import type { TEMPORARY__AbstractEngineConfig } from '../../../../action/TEMPORARY__AbstractEngineConfig.js'; import type { RelationTypeMetadata } from '../../../../action/relation/RelationTypeMetadata.js'; import type { V1_CompleteCodeInput } from './compilation/V1_CompleteCodeInput.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'; export interface V1_GraphManagerEngine { config: TEMPORARY__AbstractEngineConfig; setup: (config: TEMPORARY__EngineSetupConfig) => Promise<void>; getClassifierPathMapping: () => Promise<ClassifierPathMapping[]>; getSubtypeInfo: () => Promise<SubtypeInfo>; transformPureModelContextDataToCode: (graph: V1_PureModelContextData, pretty: boolean) => Promise<string>; transformCodeToPureModelContextData: (code: string, options?: { sourceInformationIndex?: Map<string, V1_SourceInformation> | undefined; onError?: () => void; }) => Promise<V1_PureModelContextData>; transformLambdasToCode: (input: Map<string, RawLambda>, pretty: boolean, plugins: PureProtocolProcessorPlugin[]) => Promise<Map<string, string>>; transformValueSpecificationsToCode: (input: Record<string, PlainObject<V1_ValueSpecification>>, pretty: boolean) => Promise<Map<string, string>>; transformValueSpecificationToCode: (input: PlainObject<V1_ValueSpecification>, pretty: boolean) => Promise<string>; transformCodeToValueSpecifications: (input: Record<string, V1_GrammarParserBatchInputEntry>) => Promise<Map<string, PlainObject>>; transformCodeToValueSpecification: (code: string, returnSourceInformation?: boolean) => Promise<PlainObject<V1_ValueSpecification>>; transformLambdaToCode: (lambda: RawLambda, pretty: boolean, plugins: PureProtocolProcessorPlugin[]) => Promise<string>; prettyLambdaContent: (lambda: string) => Promise<string>; transformCodeToLambda: (code: string, lambdaId?: string, options?: { pruneSourceInformation?: boolean; }) => Promise<V1_RawLambda>; transformRelationalOperationElementsToPureCode: (input: Map<string, RawRelationalOperationElement>) => Promise<Map<string, string>>; transformPureCodeToRelationalOperationElement: (code: string, operationId: string) => Promise<V1_RawRelationalOperationElement>; compilePureModelContextData: (model: V1_PureModelContext, options?: { onError?: (() => void) | undefined; } | undefined) => Promise<V1_CompilationResult>; compileText: (graphText: string, TEMPORARY__report: GraphManagerOperationReport, compileContext?: V1_PureModelContextData, options?: { onError?: () => void; getCompilationWarnings?: boolean; }) => Promise<V1_TextCompilationResult>; combineTextAndPMCD: (graphText: string, compileContext: V1_PureModelContextData) => Promise<V1_PureModelContextData>; getLambdaReturnType: (lambdaReturnInput: V1_LambdaReturnTypeInput) => Promise<string>; getLambdaReturnTypeFromRawInput: (rawInput: PlainObject<V1_LambdaReturnTypeInput>) => Promise<string>; getLambdaRelationTypeFromRawInput(rawInput: V1_LambdaReturnTypeInput): Promise<RelationTypeMetadata>; getCodeCompletion(rawInput: V1_CompleteCodeInput): Promise<CodeCompletionResult>; runQuery: (input: V1_ExecuteInput, options?: ExecutionOptions) => Promise<{ executionResult: V1_ExecutionResult; executionTraceId?: string; }>; exportData: (input: V1_ExecuteInput, options?: ExecutionOptions, contentType?: ContentType) => Promise<Response>; runQueryAndReturnMap: (input: V1_ExecuteInput, options?: ExecutionOptions) => Promise<Map<string, string>>; parseExecutionResults: (executionResultTxt: string, options: ExecutionOptions | undefined) => PlainObject<V1_ExecutionResult>; generateExecutionPlan: (input: V1_ExecuteInput) => Promise<PlainObject<V1_ExecutionPlan>>; debugExecutionPlanGeneration: (input: V1_ExecuteInput) => Promise<{ plan: PlainObject<V1_ExecutionPlan>; debug: string[]; }>; generateExecuteTestData: (input: V1_TestDataGenerationExecutionInput) => Promise<string>; generateExecuteTestDataWithSeedData: (input: V1_TestDataGenerationExecutionWithSeedInput) => Promise<string>; runTests: (input: V1_RunTestsInput) => Promise<V1_RunTestsResult>; debugTests: (input: V1_RunTestsInput) => Promise<V1_DebugTestsResult>; generateArtifacts: (input: V1_ArtifactGenerationExtensionInput) => Promise<V1_ArtifactGenerationExtensionOutput>; generateTestData: (input: V1_TestDataGenerationInput, plugins: PureProtocolProcessorPlugin[]) => Promise<V1_TestDataGenerationResult>; getAvailableGenerationConfigurationDescriptions: () => Promise<GenerationConfigurationDescription[]>; generateFile: (configs: PlainObject, type: string, generationMode: GenerationMode, model: V1_PureModelContextData) => Promise<V1_GenerationOutput[]>; getAvailableExternalFormatsDescriptions: () => Promise<ExternalFormatDescription[]>; generateModel: (input: V1_ExternalFormatModelGenerationInput) => Promise<string>; generateSchema: (input: V1_GenerateSchemaInput) => Promise<V1_PureModelContextData>; getServerServiceInfo: () => Promise<V1_ServiceConfigurationInfo>; registerService: (input: V1_PureModelContext, server: string, executionMode: ServiceExecutionMode, TEMPORARY__useStoreModel: boolean, TEMPORARY__useGenerateLineage: boolean, TEMPORARY__useGenerateOpenApi: boolean) => Promise<V1_ServiceRegistrationResult>; getServiceVersionInfo: (serviceUrl: string, serviceId: string) => Promise<V1_ServiceStorage>; activateServiceGeneration: (serviceUrl: string, generationId: string) => Promise<void>; runServicePostVal: (servicePath: string, input: V1_PureModelContext, assertionId: string) => Promise<PostValidationAssertionResult>; searchQueries: (searchSpecification: V1_QuerySearchSpecification) => Promise<V1_LightQuery[]>; getQueries: (queryIds: string[]) => Promise<V1_LightQuery[]>; getQuery: (queryId: string) => Promise<V1_Query>; createQuery: (query: V1_Query) => Promise<V1_Query>; updateQuery: (query: V1_Query) => Promise<V1_Query>; patchQuery: (query: Partial<V1_Query>) => Promise<V1_Query>; deleteQuery: (queryId: string) => Promise<void>; cancelUserExecutions: (broadcastToCluster: boolean) => Promise<string>; getCurrentUserId: () => string | undefined; searchDataCubes: (searchSpecification: V1_QuerySearchSpecification) => Promise<LightPersistentDataCube[]>; getDataCubes: (ids: string[]) => Promise<LightPersistentDataCube[]>; getDataCube: (id: string) => Promise<PersistentDataCube>; createDataCube: (dataCube: PersistentDataCube) => Promise<PersistentDataCube>; updateDataCube: (dataCube: PersistentDataCube) => Promise<PersistentDataCube>; deleteDataCube: (id: string) => Promise<void>; analyzeMappingModelCoverage: (input: V1_MappingModelCoverageAnalysisInput) => Promise<V1_MappingModelCoverageAnalysisResult>; surveyDatasets: (input: V1_StoreEntitlementAnalysisInput, plugins: PureProtocolProcessorPlugin[]) => Promise<V1_DatasetSpecification[]>; checkDatasetEntitlements: (input: V1_EntitlementReportAnalyticsInput, plugins: PureProtocolProcessorPlugin[]) => Promise<V1_DatasetEntitlementReport[]>; buildDatabase: (input: V1_DatabaseBuilderInput, plugins: PureProtocolProcessorPlugin[]) => Promise<V1_PureModelContextData>; executeRawSQL: (input: V1_RawSQLExecuteInput, plugins: PureProtocolProcessorPlugin[]) => Promise<string>; getAvailableFunctionActivators: () => Promise<V1_FunctionActivatorInfo[]>; validateFunctionActivator: (input: V1_FunctionActivatorInput) => Promise<void>; publishFunctionActivatorToSandbox: (input: V1_FunctionActivatorInput) => Promise<DeploymentResult>; generateModelsFromDatabaseSpecification: (input: V1_DatabaseToModelGenerationInput) => Promise<V1_PureModelContextData>; getAvailableRelationalDatabaseTypeConfigurations: () => Promise<V1_RelationalConnectionBuilder[]>; } //# sourceMappingURL=V1_GraphManagerEngine.d.ts.map