@finos/legend-graph 30.0.2 → 30.0.3

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.
@@ -18,6 +18,7 @@ import type { PackageableElement } from '../../../graph/metamodel/pure/packageab
18
18
  import type { V1_PackageableElement } from './v1/model/packageableElements/V1_PackageableElement.js';
19
19
  import type { V1_ElementBuilder } from './v1/transformation/pureGraph/to/V1_ElementBuilder.js';
20
20
  import type { V1_PureModelContextData } from './v1/model/context/V1_PureModelContextData.js';
21
+ import type { PureModel } from '../../../graph/PureModel.js';
21
22
  import type { V1_GraphTransformerContext } from './v1/transformation/pureGraph/from/V1_GraphTransformerContext.js';
22
23
  import type { V1_ValueSpecification } from './v1/model/valueSpecification/V1_ValueSpecification.js';
23
24
  import type { V1_GraphBuilderContext } from './v1/transformation/pureGraph/to/V1_GraphBuilderContext.js';
@@ -33,6 +34,9 @@ export type V1_ElementTransformer = (metamodel: PackageableElement, context: V1_
33
34
  export type V1_ElementProtocolSerializer = (protocol: V1_PackageableElement, plugins: PureProtocolProcessorPlugin[]) => PlainObject<V1_PackageableElement> | undefined;
34
35
  export type V1_ElementProtocolDeserializer = (protocol: PlainObject<V1_PackageableElement>, plugins: PureProtocolProcessorPlugin[]) => V1_PackageableElement | undefined;
35
36
  export type V1_FunctionExpressionBuilder = (functionName: string, parameters: V1_ValueSpecification[], openVariables: string[], compileContext: V1_GraphBuilderContext, processingContext: V1_ProcessingContext) => SimpleFunctionExpression | undefined;
37
+ export type V1_ExecutionInputCollector = (graph: PureModel, protocolGraph: V1_PureModelContextData) => V1_PackageableElement[];
38
+ export type V1_MappingModelCoverageAnalysisInputCollector = (graph: PureModel, protocolGraph: V1_PureModelContextData) => V1_PackageableElement[];
39
+ export type V1_MappingModelRuntimeCompatibilityAnalysisInputCollector = (graph: PureModel, protocolGraph: V1_PureModelContextData) => V1_PackageableElement[];
36
40
  export type V1_PropertyExpressionTypeInferrer = (variable: ValueSpecification | undefined) => Type | undefined;
37
41
  export type V1_ClassInstanceValueBuilder = (protocol: unknown, type: string, context: V1_GraphBuilderContext) => unknown | undefined;
38
42
  export type V1_ClassInstanceValueTransformer = (metamodel: unknown, context: V1_GraphTransformerContext) => unknown | undefined;
@@ -97,6 +101,12 @@ export declare abstract class PureProtocolProcessorPlugin extends AbstractPlugin
97
101
  * (such as while building a query), we would need this method.
98
102
  */
99
103
  V1_getExtraFunctionExpressionBuilders?(): V1_FunctionExpressionBuilder[];
104
+ /**
105
+ * Get the list of collectors of graph elements to build execution input.
106
+ *
107
+ * In particular, these collectors are used to produce the minimal graph that is needed for such execution.
108
+ */
109
+ V1_getExtraExecutionInputCollectors?(): V1_ExecutionInputCollector[];
100
110
  /**
101
111
  * Get the list of type inferrers for property expression.
102
112
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PureProtocolProcessorPlugin.d.ts","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/PureProtocolProcessorPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yEAAyE,CAAC;AAClH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AACnH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AACzG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gEAAgE,CAAC;AAC/G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wEAAwE,CAAC;AACjH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kEAAkE,CAAC;AAC7F,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,sDAAsD,CAAC;AAC9D,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,oDAAoD,CAAC;AAE5D,MAAM,MAAM,sCAAsC,GAAG,CACnD,QAAQ,EAAE,qBAAqB,KAC5B,MAAM,GAAG,SAAS,CAAC;AAExB,MAAM,MAAM,qBAAqB,GAAG,CAClC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,0BAA0B,KAChC,qBAAqB,GAAG,SAAS,CAAC;AAEvC,MAAM,MAAM,4BAA4B,GAAG,CACzC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,2BAA2B,EAAE,KACnC,WAAW,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAC;AAEpD,MAAM,MAAM,8BAA8B,GAAG,CAC3C,QAAQ,EAAE,WAAW,CAAC,qBAAqB,CAAC,EAC5C,OAAO,EAAE,2BAA2B,EAAE,KACnC,qBAAqB,GAAG,SAAS,CAAC;AAEvC,MAAM,MAAM,4BAA4B,GAAG,CACzC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,qBAAqB,EAAE,EACnC,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,sBAAsB,EACtC,iBAAiB,EAAE,oBAAoB,KACpC,wBAAwB,GAAG,SAAS,CAAC;AAE1C,MAAM,MAAM,iCAAiC,GAAG,CAC9C,QAAQ,EAAE,kBAAkB,GAAG,SAAS,KACrC,IAAI,GAAG,SAAS,CAAC;AAEtB,MAAM,MAAM,4BAA4B,GAAG,CACzC,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,KAC5B,OAAO,GAAG,SAAS,CAAC;AAEzB,MAAM,MAAM,gCAAgC,GAAG,CAC7C,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,0BAA0B,KAChC,OAAO,GAAG,SAAS,CAAC;AAEzB,MAAM,MAAM,uCAAuC,GAAG,CACpD,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,2BAA2B,EAAE,KACnC,WAAW,GAAG,SAAS,CAAC;AAE7B,MAAM,MAAM,yCAAyC,GAAG,CACtD,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,2BAA2B,EAAE,KACnC,OAAO,GAAG,SAAS,CAAC;AAEzB,MAAM,MAAM,iCAAiC,GAAG,CAC9C,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,2BAA2B,EAAE,KACnC,WAAW,CAAC,uBAAuB,CAAC,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,mCAAmC,GAAG,CAChD,IAAI,EAAE,WAAW,CAAC,uBAAuB,CAAC,EAC1C,OAAO,EAAE,2BAA2B,EAAE,KACnC,uBAAuB,GAAG,SAAS,CAAC;AAEzC,MAAM,MAAM,uCAAuC,GAAG,CACpD,IAAI,EAAE,WAAW,CAAC,2BAA2B,CAAC,EAC9C,OAAO,EAAE,2BAA2B,EAAE,KACnC,2BAA2B,GAAG,SAAS,CAAC;AAE7C,MAAM,MAAM,8BAA8B,GAAG,CAC3C,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,2BAA2B,EAAE,KACnC,oBAAoB,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,kCAAkC,GAAG,CAC/C,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,2BAA2B,EAAE,KACnC,uBAAuB,GAAG,SAAS,CAAC;AAEzC,MAAM,MAAM,kCAAkC,GAAG,CAC/C,QAAQ,EAAE,2BAA2B,EACrC,OAAO,EAAE,2BAA2B,EAAE,KACnC,wBAAwB,GAAG,SAAS,CAAC;AAE1C;;;;;;;;GAQG;AACH,8BAAsB,2BAA4B,SAAQ,cAAc;IACtE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiC;IAEpE,OAAO,CAAC,aAAa,EAAE,yBAAyB,GAAG,IAAI;IAIvD;;;;;;OAMG;IACH,uBAAuB,CAAC,IAAI,WAAW,CAAC,uBAAuB,CAAC,EAAE;IAClE;;OAEG;IACH,uCAAuC,CAAC,IAAI,sCAAsC,EAAE;IAEpF;;OAEG;IACH,0BAA0B,CAAC,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,EAAE;IAEzE;;OAEG;IACH,8BAA8B,CAAC,IAAI,qBAAqB,EAAE;IAE1D;;OAEG;IACH,qCAAqC,CAAC,IAAI,4BAA4B,EAAE;IAExE;;OAEG;IACH,uCAAuC,CAAC,IAAI,8BAA8B,EAAE;IAE5E;;;;;;;OAOG;IACH,qCAAqC,CAAC,IAAI,4BAA4B,EAAE;IAExE;;OAEG;IACH,0CAA0C,CAAC,IAAI,iCAAiC,EAAE;IAElF;;OAEG;IACH,qCAAqC,CAAC,IAAI,4BAA4B,EAAE;IAExE;;OAEG;IACH,yCAAyC,CAAC,IAAI,gCAAgC,EAAE;IAEhF;;OAEG;IACH,kDAAkD,CAAC,IAAI,yCAAyC,EAAE;IAElG;;OAEG;IACH,gDAAgD,CAAC,IAAI,uCAAuC,EAAE;IAE9F;;OAEG;IACH,kDAAkD,CAAC,IAAI,iCAAiC,EAAE;IAE1F;;OAEG;IACH,oDAAoD,CAAC,IAAI,mCAAmC,EAAE;IAE9F;;OAEG;IACH,wDAAwD,CAAC,IAAI,uCAAuC,EAAE;IAEtG;;OAEG;IACH,uCAAuC,CAAC,IAAI,8BAA8B,EAAE;IAE5E;;OAEG;IACH,2CAA2C,CAAC,IAAI,kCAAkC,EAAE;IAEpF;;OAEG;IACH,2CAA2C,CAAC,IAAI,kCAAkC,EAAE;CACrF"}
1
+ {"version":3,"file":"PureProtocolProcessorPlugin.d.ts","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/PureProtocolProcessorPlugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PureProtocolProcessorPlugin.js","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/PureProtocolProcessorPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAC;AAyGxE;;;;;;;;GAQG;AACH,MAAM,OAAgB,2BAA4B,SAAQ,cAAc;IACtE;;;OAGG;IACc,kBAAkB,CAAiC;IAEpE,OAAO,CAAC,aAAwC;QAC9C,aAAa,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;CAmGF"}
1
+ {"version":3,"file":"PureProtocolProcessorPlugin.js","sourceRoot":"","sources":["../../../../src/graph-manager/protocol/pure/PureProtocolProcessorPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAC;AAyHxE;;;;;;;;GAQG;AACH,MAAM,OAAgB,2BAA4B,SAAQ,cAAc;IACtE;;;OAGG;IACc,kBAAkB,CAAiC;IAEpE,OAAO,CAAC,aAAwC;QAC9C,aAAa,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;CA0GF"}
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { DSL_Mapping_PureProtocolProcessorPlugin_Extension, V1_ConnectionBuilder, V1_ConnectionProtocolDeserializer, V1_ConnectionProtocolSerializer, V1_ConnectionTransformer } from '../extensions/DSL_Mapping_PureProtocolProcessorPlugin_Extension.js';
17
- import { type V1_ElementProtocolClassifierPathGetter, type V1_ElementProtocolDeserializer, type V1_ElementProtocolSerializer, type V1_ElementTransformer, PureProtocolProcessorPlugin } from '../PureProtocolProcessorPlugin.js';
17
+ import { type V1_ElementProtocolClassifierPathGetter, type V1_ElementProtocolDeserializer, type V1_ElementProtocolSerializer, type V1_ElementTransformer, type V1_ExecutionInputCollector, PureProtocolProcessorPlugin } from '../PureProtocolProcessorPlugin.js';
18
18
  import type { V1_PackageableElement } from '../v1/model/packageableElements/V1_PackageableElement.js';
19
19
  import { V1_ElementBuilder } from '../v1/transformation/pureGraph/to/V1_ElementBuilder.js';
20
20
  export declare class DSL_ExternalFormat_PureProtocolProcessorPlugin extends PureProtocolProcessorPlugin implements DSL_Mapping_PureProtocolProcessorPlugin_Extension {
@@ -24,6 +24,7 @@ export declare class DSL_ExternalFormat_PureProtocolProcessorPlugin extends Pure
24
24
  V1_getExtraElementProtocolSerializers(): V1_ElementProtocolSerializer[];
25
25
  V1_getExtraElementProtocolDeserializers(): V1_ElementProtocolDeserializer[];
26
26
  V1_getExtraElementTransformers(): V1_ElementTransformer[];
27
+ V1_getExtraExecutionInputCollectors(): V1_ExecutionInputCollector[];
27
28
  V1_getExtraConnectionBuilders(): V1_ConnectionBuilder[];
28
29
  V1_getExtraConnectionTransformers(): V1_ConnectionTransformer[];
29
30
  V1_getExtraConnectionProtocolSerializers(): V1_ConnectionProtocolSerializer[];
@@ -1 +1 @@
1
- {"version":3,"file":"DSL_ExternalFormat_PureProtocolProcessorPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAyBH,OAAO,KAAK,EACV,iDAAiD,EACjD,oBAAoB,EACpB,iCAAiC,EACjC,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,oEAAoE,CAAC;AAC5E,OAAO,EACL,KAAK,sCAAsC,EAC3C,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAQ3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AAOtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAmB3F,qBAAa,8CACX,SAAQ,2BACR,YAAW,iDAAiD;;IASnD,0BAA0B,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,EAAE;IAmGxE,uCAAuC,IAAI,sCAAsC,EAAE;IAanF,qCAAqC,IAAI,4BAA4B,EAAE;IAgBvE,uCAAuC,IAAI,8BAA8B,EAAE;IAgB3E,8BAA8B,IAAI,qBAAqB,EAAE;IAkDlE,6BAA6B,IAAI,oBAAoB,EAAE;IA4CvD,iCAAiC,IAAI,wBAAwB,EAAE;IAmB/D,wCAAwC,IAAI,+BAA+B,EAAE;IAgB7E,0CAA0C,IAAI,iCAAiC,EAAE;CAYlF"}
1
+ {"version":3,"file":"DSL_ExternalFormat_PureProtocolProcessorPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0BH,OAAO,KAAK,EACV,iDAAiD,EACjD,oBAAoB,EACpB,iCAAiC,EACjC,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,oEAAoE,CAAC;AAC5E,OAAO,EACL,KAAK,sCAAsC,EAC3C,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAS3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AAOtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAmB3F,qBAAa,8CACX,SAAQ,2BACR,YAAW,iDAAiD;;IASnD,0BAA0B,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,EAAE;IAmGxE,uCAAuC,IAAI,sCAAsC,EAAE;IAanF,qCAAqC,IAAI,4BAA4B,EAAE;IAgBvE,uCAAuC,IAAI,8BAA8B,EAAE;IAgB3E,8BAA8B,IAAI,qBAAqB,EAAE;IAkDzD,mCAAmC,IAAI,0BAA0B,EAAE;IAY5E,6BAA6B,IAAI,oBAAoB,EAAE;IA4CvD,iCAAiC,IAAI,wBAAwB,EAAE;IAmB/D,wCAAwC,IAAI,+BAA+B,EAAE;IAgB7E,0CAA0C,IAAI,iCAAiC,EAAE;CAYlF"}
@@ -180,6 +180,11 @@ export class DSL_ExternalFormat_PureProtocolProcessorPlugin extends PureProtocol
180
180
  },
181
181
  ];
182
182
  }
183
+ V1_getExtraExecutionInputCollectors() {
184
+ return [
185
+ (graph, protocolGraph) => protocolGraph.elements.filter((element) => element instanceof V1_SchemaSet),
186
+ ];
187
+ }
183
188
  V1_getExtraConnectionBuilders() {
184
189
  return [
185
190
  (connection, context, store) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DSL_ExternalFormat_PureProtocolProcessorPlugin.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DSL_ExternalFormat_PureProtocolProcessorPlugin.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.ts"],"names":[],"mappings":"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"}
@@ -227,6 +227,7 @@ export declare class V1_PureGraphManager extends AbstractPureGraphManager {
227
227
  private prepareExecutionContextGraphData;
228
228
  createExecutionInput: (graph: PureModel, mapping: Mapping | undefined, lambda: RawLambda, runtime: Runtime | undefined, clientVersion: string | undefined, parameterValues?: ParameterValue[]) => V1_ExecuteInput;
229
229
  private createExecutionInputWithPureModelContext;
230
+ private buildExecutionInputGraphData;
230
231
  runQuery(lambda: RawLambda, mapping: Mapping, runtime: Runtime, graph: PureModel, options?: ExecutionOptions, _report?: GraphManagerOperationReport): Promise<ExecutionResult>;
231
232
  DEPRECATED__runLegacyMappingTests(tests: {
232
233
  test: DEPRECATED__MappingTest;
@@ -269,13 +270,15 @@ export declare class V1_PureGraphManager extends AbstractPureGraphManager {
269
270
  registerService(service: Service, graph: PureModel, groupId: string, artifactId: string, version: string | undefined, server: string, executionMode: ServiceExecutionMode, options?: ServiceRegistrationOptions): Promise<ServiceRegistrationSuccess>;
270
271
  bulkServiceRegistration(services: Service[], graph: PureModel, groupId: string, artifactId: string, version: string | undefined, server: string, executionMode: ServiceExecutionMode, options?: ServiceRegistrationOptions): Promise<ServiceRegistrationResult[]>;
271
272
  activateService(serviceUrl: string, serviceId: string): Promise<void>;
272
- private TEMPORARY__prepareGraphDataForServiceRegistration;
273
+ private pruneServicesFromGraphForRegistration;
274
+ private createServiceRegistrationInputGraphData;
273
275
  private createBulkServiceRegistrationInput;
274
276
  cancelUserExecutions(broadcastToCluster: boolean): Promise<string>;
275
277
  buildHashesIndex(entities: Entity[]): Promise<Map<string, string>>;
276
278
  elementToEntity: (element: PackageableElement, options?: {
277
279
  pruneSourceInformation?: boolean;
278
280
  }) => Entity;
281
+ private prunePureModelContextData;
279
282
  private buildPureModelSDLCPointer;
280
283
  /**
281
284
  * This method helps indexing the graph from graph and dependencies' entities
@@ -1 +1 @@
1
- {"version":3,"file":"V1_PureGraphManager.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V1_PureGraphManager.d.ts","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { GRAPH_MANAGER_EVENT } from '../../../../__lib__/GraphManagerEvent.js';
17
17
  import { CORE_PURE_PATH, PackageableElementPointerType, } from '../../../../graph/MetaModelConst.js';
18
- import { ActionState, TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertErrorThrown, promisify, StopWatch, isNonNullable, addUniqueEntry, uuid, deleteEntry, IllegalStateError, filterByType, isString, } from '@finos/legend-shared';
18
+ import { ActionState, TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertErrorThrown, promisify, StopWatch, isNonNullable, addUniqueEntry, uuid, deleteEntry, uniq, IllegalStateError, filterByType, isString, } from '@finos/legend-shared';
19
19
  import { AbstractPureGraphManager, } from '../../../../graph-manager/AbstractPureGraphManager.js';
20
20
  import { PureModel, } from '../../../../graph/PureModel.js';
21
21
  import { RawLambda } from '../../../../graph/metamodel/pure/rawValueSpecification/RawLambda.js';
@@ -103,6 +103,7 @@ import { V1_EntitlementReportAnalyticsInput, V1_StoreEntitlementAnalysisInput, V
103
103
  import { LegendSDLC, GraphEntities, } from '../../../../graph/GraphDataOrigin.js';
104
104
  import { InMemoryGraphData, GraphDataWithOrigin, } from '../../../GraphData.js';
105
105
  import { DEPRECATED__validate_MappingTest } from '../../../action/validation/DSL_Mapping_ValidationHelper.js';
106
+ import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js';
106
107
  import { V1_INTERNAL__UnknownPackageableElement } from './model/packageableElements/V1_INTERNAL__UnknownPackageableElement.js';
107
108
  import { FunctionActivatorConfiguration } from '../../../action/functionActivator/FunctionActivatorConfiguration.js';
108
109
  import { V1_FunctionActivatorInput } from './engine/functionActivator/V1_FunctionActivatorInput.js';
@@ -1059,7 +1060,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1059
1060
  // --------------------------------------------- Execution ---------------------------------------------
1060
1061
  prepareExecutionContextGraphData(graphData) {
1061
1062
  if (graphData instanceof InMemoryGraphData) {
1062
- return this.getFullGraphModelData(graphData.graph);
1063
+ return this.buildExecutionInputGraphData(graphData.graph);
1063
1064
  }
1064
1065
  else if (graphData instanceof GraphDataWithOrigin) {
1065
1066
  return this.buildPureModelSDLCPointer(graphData.origin, V1_PureGraphManager.PROD_PROTOCOL_VERSION);
@@ -1068,7 +1069,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1068
1069
  }
1069
1070
  createExecutionInput = (graph, mapping, lambda, runtime, clientVersion, parameterValues) => this.createExecutionInputWithPureModelContext(graph.origin
1070
1071
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
1071
- : this.getFullGraphModelData(graph), mapping, lambda, runtime, clientVersion, new V1_ExecuteInput(), parameterValues);
1072
+ : this.buildExecutionInputGraphData(graph), mapping, lambda, runtime, clientVersion, new V1_ExecuteInput(), parameterValues);
1072
1073
  createExecutionInputWithPureModelContext = (data, mapping, lambda, runtime, clientVersion, executeInput, parameterValues) => {
1073
1074
  // NOTE: for execution, we usually will just assume that we send the connections embedded in the runtime value, since we don't want the user to have to create
1074
1075
  // packageable runtime and connection just to play with execution.
@@ -1085,6 +1086,42 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1085
1086
  }
1086
1087
  return executeInput;
1087
1088
  };
1089
+ buildExecutionInputGraphData(graph) {
1090
+ /**
1091
+ * NOTE: to lessen network load, we might need to think of a way to only include relevant part of the pure model context data here
1092
+ *
1093
+ * Graph data models can be classified based on dependency hieararchy:
1094
+ * 1. Building blocks: models that all other models depend on: e.g. domain models, connections, etc.
1095
+ * 2. Consumers: models that depends on other models: e.g. mapping, service, etc.
1096
+ * 3. Unrelated: models that depends on nothing and vice versa: e.g. text
1097
+ *
1098
+ * It would be great if we can provide a way to walk the mapping to select only relevant part, but the problem is we cannot really walk the lambda
1099
+ * object to identify relevant classes yet. so the more economical way to to base on the classification above and the knowledge about hierarchy between
1100
+ * models (e.g. service can use mapping, runtime, connection, store, etc.) we can roughly prune the graph model data by group. Following is an example
1101
+ * for mapping used for execution, but this can generalized if we introduce hierarchy/ranking for model type
1102
+ */
1103
+ const graphData = this.getFullGraphModelData(graph);
1104
+ const prunedGraphData = this.prunePureModelContextData(graphData, (element) => element instanceof V1_Class ||
1105
+ element instanceof V1_Enumeration ||
1106
+ element instanceof V1_Profile ||
1107
+ element instanceof V1_Association ||
1108
+ element instanceof V1_ConcreteFunctionDefinition ||
1109
+ element instanceof V1_FunctionActivator ||
1110
+ element instanceof V1_Measure ||
1111
+ element instanceof V1_Store ||
1112
+ element instanceof V1_PackageableConnection ||
1113
+ element instanceof V1_PackageableRuntime ||
1114
+ element instanceof V1_Mapping, undefined);
1115
+ const extraExecutionElements = this.pluginManager
1116
+ .getPureProtocolProcessorPlugins()
1117
+ .flatMap((element) => element.V1_getExtraExecutionInputCollectors?.() ?? [])
1118
+ .flatMap((getter) => getter(graph, graphData));
1119
+ prunedGraphData.elements = uniq([
1120
+ ...prunedGraphData.elements,
1121
+ ...extraExecutionElements,
1122
+ ]);
1123
+ return prunedGraphData;
1124
+ }
1088
1125
  async runQuery(lambda, mapping, runtime, graph, options, _report) {
1089
1126
  const report = _report ?? createGraphManagerOperationReport();
1090
1127
  const stopWatch = new StopWatch();
@@ -1103,7 +1140,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1103
1140
  const stopWatch = new StopWatch();
1104
1141
  const pureModelContext = graph.origin
1105
1142
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
1106
- : this.getFullGraphModelData(graph);
1143
+ : this.buildExecutionInputGraphData(graph);
1107
1144
  stopWatch.record(GRAPH_MANAGER_EVENT.V1_ENGINE_OPERATION_INPUT__SUCCESS);
1108
1145
  await Promise.all(tests.map((t) => this.DEPRECATED__runLegacyMappingTest(t, mapping, pureModelContext, options, report)));
1109
1146
  }
@@ -1162,7 +1199,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1162
1199
  const testDataGenerationExecuteInput = new V1_TestDataGenerationExecutionInput();
1163
1200
  this.createExecutionInputWithPureModelContext(graph.origin
1164
1201
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
1165
- : this.getFullGraphModelData(graph), mapping, lambda, runtime, V1_PureGraphManager.DEV_PROTOCOL_VERSION, testDataGenerationExecuteInput, options?.parameterValues);
1202
+ : this.buildExecutionInputGraphData(graph), mapping, lambda, runtime, V1_PureGraphManager.DEV_PROTOCOL_VERSION, testDataGenerationExecuteInput, options?.parameterValues);
1166
1203
  testDataGenerationExecuteInput.parameters = parameters;
1167
1204
  testDataGenerationExecuteInput.hashStrings = Boolean(options?.anonymizeGeneratedData);
1168
1205
  stopWatch.record(GRAPH_MANAGER_EVENT.V1_ENGINE_OPERATION_INPUT__SUCCESS);
@@ -1230,7 +1267,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1230
1267
  input.mapping = mapping.path;
1231
1268
  input.model = graph.origin
1232
1269
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
1233
- : this.getFullGraphModelData(graph);
1270
+ : this.buildExecutionInputGraphData(graph);
1234
1271
  return V1_buildModelCoverageAnalysisResult(await this.engine.analyzeMappingModelCoverage(input), mapping);
1235
1272
  }
1236
1273
  buildMappingModelCoverageAnalysisResult(input, mapping) {
@@ -1342,7 +1379,8 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1342
1379
  const protocol = new V1_Protocol(V1_PureGraphManager.PURE_PROTOCOL_NAME, serverServiceInfo.services.dependencies.pure);
1343
1380
  switch (executionMode) {
1344
1381
  case ServiceExecutionMode.FULL_INTERACTIVE: {
1345
- const data = this.TEMPORARY__prepareGraphDataForServiceRegistration(this.getFullGraphModelData(graph), this.elementToProtocol(service));
1382
+ const data = this.createServiceRegistrationInputGraphData(graph);
1383
+ data.elements.push(this.elementToProtocol(service));
1346
1384
  data.origin = new V1_PureModelContextPointer(protocol);
1347
1385
  input = data;
1348
1386
  break;
@@ -1484,27 +1522,25 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1484
1522
  const serviceStorage = await this.engine.getServiceVersionInfo(serviceUrl, serviceId);
1485
1523
  await this.engine.activateServiceGeneration(serviceUrl, serviceStorage.getGenerationId());
1486
1524
  }
1487
- // NOTE: This is somewhat hacky: service registration the input expects only the first service in the graph data
1488
- // to be the service used for registration.
1489
- // TODO: the service registration API should be modified to accept service as a parameter outside the model
1490
- TEMPORARY__prepareGraphDataForServiceRegistration = (graphData, service) => {
1491
- graphData.elements = graphData.elements.filter((element) => element.path !== service.path);
1492
- // insert the service as the first element so it gets indexed first
1493
- graphData.elements.unshift(service);
1494
- if (graphData.INTERNAL__rawDependencyEntities) {
1495
- graphData.INTERNAL__rawDependencyEntities =
1496
- graphData.INTERNAL__rawDependencyEntities.filter((entity) => entity.path !== service.path);
1497
- }
1498
- return graphData;
1525
+ // NOTE: We almost should never be poking into dependency entities. However for service registration the input
1526
+ // expects only one service in the graph data. Perhaps, the service registration API should be modified to accept
1527
+ // service as a parameter outside the model
1528
+ pruneServicesFromGraphForRegistration = (graphData) => this.prunePureModelContextData(graphData, (element) => !(element instanceof V1_Service), (entity) => {
1529
+ const content = entity.content;
1530
+ return content._type !== V1_SERVICE_ELEMENT_PROTOCOL_TYPE;
1531
+ });
1532
+ createServiceRegistrationInputGraphData = (graph) => {
1533
+ const graphData = this.getFullGraphModelData(graph);
1534
+ const prunedGraphData = this.pruneServicesFromGraphForRegistration(graphData);
1535
+ return prunedGraphData;
1499
1536
  };
1500
1537
  createBulkServiceRegistrationInput = (graph, services) => {
1501
1538
  const graphData = this.getFullGraphModelData(graph);
1502
1539
  const results = [];
1503
1540
  services.forEach((service) => {
1504
- results.push({
1505
- service: service,
1506
- context: this.TEMPORARY__prepareGraphDataForServiceRegistration(graphData, this.elementToProtocol(service)),
1507
- });
1541
+ const prunedGraphData = this.pruneServicesFromGraphForRegistration(graphData);
1542
+ prunedGraphData.elements.push(this.elementToProtocol(service));
1543
+ results.push({ service: service, context: prunedGraphData });
1508
1544
  });
1509
1545
  return results;
1510
1546
  };
@@ -1545,6 +1581,13 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1545
1581
  }
1546
1582
  return entity;
1547
1583
  };
1584
+ prunePureModelContextData = (data, elementFilter, entityFilter) => {
1585
+ const prunedGraphData = new V1_PureModelContextData();
1586
+ prunedGraphData.elements = data.elements.filter((element) => elementFilter ? elementFilter(element) : true);
1587
+ prunedGraphData.INTERNAL__rawDependencyEntities =
1588
+ data.INTERNAL__rawDependencyEntities?.filter((entity) => entityFilter ? entityFilter(entity) : true);
1589
+ return prunedGraphData;
1590
+ };
1548
1591
  buildPureModelSDLCPointer(origin, clientVersion) {
1549
1592
  if (origin instanceof LegendSDLC) {
1550
1593
  return new V1_PureModelContextPointer(clientVersion
@@ -1 +1 @@
1
- {"version":3,"file":"V1_PureGraphManager.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"V1_PureGraphManager.js","sourceRoot":"","sources":["../../../../../src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts"],"names":[],"mappings":"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"}
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-graph",
3
- "version": "30.0.2",
3
+ "version": "30.0.3",
4
4
  "description": "Legend graph and graph manager",
5
5
  "keywords": [
6
6
  "legend",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-graph",
3
- "version": "30.0.2",
3
+ "version": "30.0.3",
4
4
  "description": "Legend graph and graph manager",
5
5
  "keywords": [
6
6
  "legend",
@@ -19,6 +19,7 @@ import type { PackageableElement } from '../../../graph/metamodel/pure/packageab
19
19
  import type { V1_PackageableElement } from './v1/model/packageableElements/V1_PackageableElement.js';
20
20
  import type { V1_ElementBuilder } from './v1/transformation/pureGraph/to/V1_ElementBuilder.js';
21
21
  import type { V1_PureModelContextData } from './v1/model/context/V1_PureModelContextData.js';
22
+ import type { PureModel } from '../../../graph/PureModel.js';
22
23
  import type { V1_GraphTransformerContext } from './v1/transformation/pureGraph/from/V1_GraphTransformerContext.js';
23
24
  import type { V1_ValueSpecification } from './v1/model/valueSpecification/V1_ValueSpecification.js';
24
25
  import type { V1_GraphBuilderContext } from './v1/transformation/pureGraph/to/V1_GraphBuilderContext.js';
@@ -63,6 +64,21 @@ export type V1_FunctionExpressionBuilder = (
63
64
  processingContext: V1_ProcessingContext,
64
65
  ) => SimpleFunctionExpression | undefined;
65
66
 
67
+ export type V1_ExecutionInputCollector = (
68
+ graph: PureModel,
69
+ protocolGraph: V1_PureModelContextData,
70
+ ) => V1_PackageableElement[];
71
+
72
+ export type V1_MappingModelCoverageAnalysisInputCollector = (
73
+ graph: PureModel,
74
+ protocolGraph: V1_PureModelContextData,
75
+ ) => V1_PackageableElement[];
76
+
77
+ export type V1_MappingModelRuntimeCompatibilityAnalysisInputCollector = (
78
+ graph: PureModel,
79
+ protocolGraph: V1_PureModelContextData,
80
+ ) => V1_PackageableElement[];
81
+
66
82
  export type V1_PropertyExpressionTypeInferrer = (
67
83
  variable: ValueSpecification | undefined,
68
84
  ) => Type | undefined;
@@ -182,6 +198,13 @@ export abstract class PureProtocolProcessorPlugin extends AbstractPlugin {
182
198
  */
183
199
  V1_getExtraFunctionExpressionBuilders?(): V1_FunctionExpressionBuilder[];
184
200
 
201
+ /**
202
+ * Get the list of collectors of graph elements to build execution input.
203
+ *
204
+ * In particular, these collectors are used to produce the minimal graph that is needed for such execution.
205
+ */
206
+ V1_getExtraExecutionInputCollectors?(): V1_ExecutionInputCollector[];
207
+
185
208
  /**
186
209
  * Get the list of type inferrers for property expression.
187
210
  */
@@ -23,6 +23,7 @@ import {
23
23
  guaranteeNonNullable,
24
24
  } from '@finos/legend-shared';
25
25
  import { deserialize, serialize } from 'serializr';
26
+ import type { PureModel } from '../../../../graph/PureModel.js';
26
27
  import {
27
28
  getOwnBinding,
28
29
  getOwnSchemaSet,
@@ -49,8 +50,10 @@ import {
49
50
  type V1_ElementProtocolDeserializer,
50
51
  type V1_ElementProtocolSerializer,
51
52
  type V1_ElementTransformer,
53
+ type V1_ExecutionInputCollector,
52
54
  PureProtocolProcessorPlugin,
53
55
  } from '../PureProtocolProcessorPlugin.js';
56
+ import type { V1_PureModelContextData } from '../v1/model/context/V1_PureModelContextData.js';
54
57
  import type { V1_Connection } from '../v1/model/packageableElements/connection/V1_Connection.js';
55
58
  import { V1_ExternalFormatConnection } from '../v1/model/packageableElements/externalFormat/connection/V1_DSL_ExternalFormat_ExternalFormatConnection.js';
56
59
  import { V1_UrlStream } from '../v1/model/packageableElements/externalFormat/connection/V1_DSL_ExternalFormat_UrlStream.js';
@@ -289,6 +292,18 @@ export class DSL_ExternalFormat_PureProtocolProcessorPlugin
289
292
  ];
290
293
  }
291
294
 
295
+ override V1_getExtraExecutionInputCollectors(): V1_ExecutionInputCollector[] {
296
+ return [
297
+ (
298
+ graph: PureModel,
299
+ protocolGraph: V1_PureModelContextData,
300
+ ): V1_PackageableElement[] =>
301
+ protocolGraph.elements.filter(
302
+ (element) => element instanceof V1_SchemaSet,
303
+ ),
304
+ ];
305
+ }
306
+
292
307
  V1_getExtraConnectionBuilders(): V1_ConnectionBuilder[] {
293
308
  return [
294
309
  (
@@ -37,6 +37,7 @@ import {
37
37
  addUniqueEntry,
38
38
  uuid,
39
39
  deleteEntry,
40
+ uniq,
40
41
  IllegalStateError,
41
42
  filterByType,
42
43
  isString,
@@ -299,6 +300,7 @@ import {
299
300
  } from '../../../GraphData.js';
300
301
  import type { DEPRECATED__MappingTest } from '../../../../graph/metamodel/pure/packageableElements/mapping/DEPRECATED__MappingTest.js';
301
302
  import { DEPRECATED__validate_MappingTest } from '../../../action/validation/DSL_Mapping_ValidationHelper.js';
303
+ import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js';
302
304
  import { V1_INTERNAL__UnknownPackageableElement } from './model/packageableElements/V1_INTERNAL__UnknownPackageableElement.js';
303
305
  import type { SourceInformation } from '../../../action/SourceInformation.js';
304
306
  import type { V1_SourceInformation } from './model/V1_SourceInformation.js';
@@ -2403,7 +2405,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2403
2405
  graphData: GraphData,
2404
2406
  ): V1_PureModelContext {
2405
2407
  if (graphData instanceof InMemoryGraphData) {
2406
- return this.getFullGraphModelData(graphData.graph);
2408
+ return this.buildExecutionInputGraphData(graphData.graph);
2407
2409
  } else if (graphData instanceof GraphDataWithOrigin) {
2408
2410
  return this.buildPureModelSDLCPointer(
2409
2411
  graphData.origin,
@@ -2427,7 +2429,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2427
2429
  this.createExecutionInputWithPureModelContext(
2428
2430
  graph.origin
2429
2431
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
2430
- : this.getFullGraphModelData(graph),
2432
+ : this.buildExecutionInputGraphData(graph),
2431
2433
  mapping,
2432
2434
  lambda,
2433
2435
  runtime,
@@ -2473,6 +2475,52 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2473
2475
  return executeInput;
2474
2476
  };
2475
2477
 
2478
+ private buildExecutionInputGraphData(
2479
+ graph: PureModel,
2480
+ ): V1_PureModelContextData {
2481
+ /**
2482
+ * NOTE: to lessen network load, we might need to think of a way to only include relevant part of the pure model context data here
2483
+ *
2484
+ * Graph data models can be classified based on dependency hieararchy:
2485
+ * 1. Building blocks: models that all other models depend on: e.g. domain models, connections, etc.
2486
+ * 2. Consumers: models that depends on other models: e.g. mapping, service, etc.
2487
+ * 3. Unrelated: models that depends on nothing and vice versa: e.g. text
2488
+ *
2489
+ * It would be great if we can provide a way to walk the mapping to select only relevant part, but the problem is we cannot really walk the lambda
2490
+ * object to identify relevant classes yet. so the more economical way to to base on the classification above and the knowledge about hierarchy between
2491
+ * models (e.g. service can use mapping, runtime, connection, store, etc.) we can roughly prune the graph model data by group. Following is an example
2492
+ * for mapping used for execution, but this can generalized if we introduce hierarchy/ranking for model type
2493
+ */
2494
+ const graphData = this.getFullGraphModelData(graph);
2495
+ const prunedGraphData = this.prunePureModelContextData(
2496
+ graphData,
2497
+ (element) =>
2498
+ element instanceof V1_Class ||
2499
+ element instanceof V1_Enumeration ||
2500
+ element instanceof V1_Profile ||
2501
+ element instanceof V1_Association ||
2502
+ element instanceof V1_ConcreteFunctionDefinition ||
2503
+ element instanceof V1_FunctionActivator ||
2504
+ element instanceof V1_Measure ||
2505
+ element instanceof V1_Store ||
2506
+ element instanceof V1_PackageableConnection ||
2507
+ element instanceof V1_PackageableRuntime ||
2508
+ element instanceof V1_Mapping,
2509
+ undefined,
2510
+ );
2511
+ const extraExecutionElements = this.pluginManager
2512
+ .getPureProtocolProcessorPlugins()
2513
+ .flatMap(
2514
+ (element) => element.V1_getExtraExecutionInputCollectors?.() ?? [],
2515
+ )
2516
+ .flatMap((getter) => getter(graph, graphData));
2517
+ prunedGraphData.elements = uniq([
2518
+ ...prunedGraphData.elements,
2519
+ ...extraExecutionElements,
2520
+ ]);
2521
+ return prunedGraphData;
2522
+ }
2523
+
2476
2524
  async runQuery(
2477
2525
  lambda: RawLambda,
2478
2526
  mapping: Mapping,
@@ -2525,7 +2573,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2525
2573
  const stopWatch = new StopWatch();
2526
2574
  const pureModelContext = graph.origin
2527
2575
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
2528
- : this.getFullGraphModelData(graph);
2576
+ : this.buildExecutionInputGraphData(graph);
2529
2577
  stopWatch.record(GRAPH_MANAGER_EVENT.V1_ENGINE_OPERATION_INPUT__SUCCESS);
2530
2578
  await Promise.all(
2531
2579
  tests.map((t) =>
@@ -2670,7 +2718,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2670
2718
  this.createExecutionInputWithPureModelContext(
2671
2719
  graph.origin
2672
2720
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
2673
- : this.getFullGraphModelData(graph),
2721
+ : this.buildExecutionInputGraphData(graph),
2674
2722
  mapping,
2675
2723
  lambda,
2676
2724
  runtime,
@@ -2832,7 +2880,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2832
2880
  input.mapping = mapping.path;
2833
2881
  input.model = graph.origin
2834
2882
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
2835
- : this.getFullGraphModelData(graph);
2883
+ : this.buildExecutionInputGraphData(graph);
2836
2884
  return V1_buildModelCoverageAnalysisResult(
2837
2885
  await this.engine.analyzeMappingModelCoverage(input),
2838
2886
  mapping,
@@ -3094,10 +3142,8 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3094
3142
  );
3095
3143
  switch (executionMode) {
3096
3144
  case ServiceExecutionMode.FULL_INTERACTIVE: {
3097
- const data = this.TEMPORARY__prepareGraphDataForServiceRegistration(
3098
- this.getFullGraphModelData(graph),
3099
- this.elementToProtocol<V1_Service>(service),
3100
- );
3145
+ const data = this.createServiceRegistrationInputGraphData(graph);
3146
+ data.elements.push(this.elementToProtocol<V1_Service>(service));
3101
3147
  data.origin = new V1_PureModelContextPointer(protocol);
3102
3148
  input = data;
3103
3149
  break;
@@ -3326,25 +3372,28 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3326
3372
  );
3327
3373
  }
3328
3374
 
3329
- // NOTE: This is somewhat hacky: service registration the input expects only the first service in the graph data
3330
- // to be the service used for registration.
3331
- // TODO: the service registration API should be modified to accept service as a parameter outside the model
3332
- private TEMPORARY__prepareGraphDataForServiceRegistration = (
3375
+ // NOTE: We almost should never be poking into dependency entities. However for service registration the input
3376
+ // expects only one service in the graph data. Perhaps, the service registration API should be modified to accept
3377
+ // service as a parameter outside the model
3378
+ private pruneServicesFromGraphForRegistration = (
3333
3379
  graphData: V1_PureModelContextData,
3334
- service: V1_Service,
3335
- ): V1_PureModelContextData => {
3336
- graphData.elements = graphData.elements.filter(
3337
- (element) => element.path !== service.path,
3380
+ ): V1_PureModelContextData =>
3381
+ this.prunePureModelContextData(
3382
+ graphData,
3383
+ (element: V1_PackageableElement) => !(element instanceof V1_Service),
3384
+ (entity: Entity) => {
3385
+ const content = entity.content as { _type: string };
3386
+ return content._type !== V1_SERVICE_ELEMENT_PROTOCOL_TYPE;
3387
+ },
3338
3388
  );
3339
- // insert the service as the first element so it gets indexed first
3340
- graphData.elements.unshift(service);
3341
- if (graphData.INTERNAL__rawDependencyEntities) {
3342
- graphData.INTERNAL__rawDependencyEntities =
3343
- graphData.INTERNAL__rawDependencyEntities.filter(
3344
- (entity) => entity.path !== service.path,
3345
- );
3346
- }
3347
- return graphData;
3389
+
3390
+ private createServiceRegistrationInputGraphData = (
3391
+ graph: PureModel,
3392
+ ): V1_PureModelContextData => {
3393
+ const graphData = this.getFullGraphModelData(graph);
3394
+ const prunedGraphData =
3395
+ this.pruneServicesFromGraphForRegistration(graphData);
3396
+ return prunedGraphData;
3348
3397
  };
3349
3398
 
3350
3399
  private createBulkServiceRegistrationInput = (
@@ -3354,13 +3403,12 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3354
3403
  const graphData = this.getFullGraphModelData(graph);
3355
3404
  const results: ServiceRegistrationInput[] = [];
3356
3405
  services.forEach((service) => {
3357
- results.push({
3358
- service: service,
3359
- context: this.TEMPORARY__prepareGraphDataForServiceRegistration(
3360
- graphData,
3361
- this.elementToProtocol<V1_Service>(service),
3362
- ),
3363
- });
3406
+ const prunedGraphData =
3407
+ this.pruneServicesFromGraphForRegistration(graphData);
3408
+ prunedGraphData.elements.push(
3409
+ this.elementToProtocol<V1_Service>(service),
3410
+ );
3411
+ results.push({ service: service, context: prunedGraphData });
3364
3412
  });
3365
3413
  return results;
3366
3414
  };
@@ -3431,6 +3479,22 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3431
3479
  return entity;
3432
3480
  };
3433
3481
 
3482
+ private prunePureModelContextData = (
3483
+ data: V1_PureModelContextData,
3484
+ elementFilter?: (val: V1_PackageableElement) => boolean,
3485
+ entityFilter?: (entity: Entity) => boolean,
3486
+ ): V1_PureModelContextData => {
3487
+ const prunedGraphData = new V1_PureModelContextData();
3488
+ prunedGraphData.elements = data.elements.filter((element) =>
3489
+ elementFilter ? elementFilter(element) : true,
3490
+ );
3491
+ prunedGraphData.INTERNAL__rawDependencyEntities =
3492
+ data.INTERNAL__rawDependencyEntities?.filter((entity) =>
3493
+ entityFilter ? entityFilter(entity) : true,
3494
+ );
3495
+ return prunedGraphData;
3496
+ };
3497
+
3434
3498
  private buildPureModelSDLCPointer(
3435
3499
  origin: GraphDataOrigin,
3436
3500
  clientVersion: string | undefined,