@finos/legend-graph 32.3.39 → 32.4.0

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.
Files changed (50) hide show
  1. package/lib/graph/metamodel/pure/dataProduct/DataProduct.d.ts +5 -0
  2. package/lib/graph/metamodel/pure/dataProduct/DataProduct.d.ts.map +1 -1
  3. package/lib/graph/metamodel/pure/dataProduct/DataProduct.js +6 -0
  4. package/lib/graph/metamodel/pure/dataProduct/DataProduct.js.map +1 -1
  5. package/lib/graph-manager/AbstractPureGraphManager.d.ts +13 -1
  6. package/lib/graph-manager/AbstractPureGraphManager.d.ts.map +1 -1
  7. package/lib/graph-manager/AbstractPureGraphManager.js.map +1 -1
  8. package/lib/graph-manager/action/analytics/data-product/DataProductAnalysis.d.ts +30 -0
  9. package/lib/graph-manager/action/analytics/data-product/DataProductAnalysis.d.ts.map +1 -0
  10. package/lib/graph-manager/action/analytics/data-product/DataProductAnalysis.js +32 -0
  11. package/lib/graph-manager/action/analytics/data-product/DataProductAnalysis.js.map +1 -0
  12. package/lib/graph-manager/action/query/Query.d.ts +12 -3
  13. package/lib/graph-manager/action/query/Query.d.ts.map +1 -1
  14. package/lib/graph-manager/action/query/Query.js +9 -0
  15. package/lib/graph-manager/action/query/Query.js.map +1 -1
  16. package/lib/graph-manager/helpers/DataProductHelper.d.ts.map +1 -1
  17. package/lib/graph-manager/helpers/DataProductHelper.js +2 -1
  18. package/lib/graph-manager/helpers/DataProductHelper.js.map +1 -1
  19. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts +12 -4
  20. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  21. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js +128 -11
  22. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
  23. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineHelper.d.ts.map +1 -1
  24. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineHelper.js +34 -4
  25. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineHelper.js.map +1 -1
  26. package/lib/graph-manager/protocol/pure/v1/engine/query/V1_Query.d.ts +11 -4
  27. package/lib/graph-manager/protocol/pure/v1/engine/query/V1_Query.d.ts.map +1 -1
  28. package/lib/graph-manager/protocol/pure/v1/engine/query/V1_Query.js +26 -8
  29. package/lib/graph-manager/protocol/pure/v1/engine/query/V1_Query.js.map +1 -1
  30. package/lib/graph-manager/protocol/pure/v1/lakehouse/deploy/V1_DataProductArtifact.d.ts +2 -0
  31. package/lib/graph-manager/protocol/pure/v1/lakehouse/deploy/V1_DataProductArtifact.d.ts.map +1 -1
  32. package/lib/graph-manager/protocol/pure/v1/lakehouse/deploy/V1_DataProductArtifact.js +3 -0
  33. package/lib/graph-manager/protocol/pure/v1/lakehouse/deploy/V1_DataProductArtifact.js.map +1 -1
  34. package/lib/index.d.ts +2 -1
  35. package/lib/index.d.ts.map +1 -1
  36. package/lib/index.js +2 -1
  37. package/lib/index.js.map +1 -1
  38. package/lib/package.json +1 -1
  39. package/package.json +1 -1
  40. package/src/graph/metamodel/pure/dataProduct/DataProduct.ts +6 -0
  41. package/src/graph-manager/AbstractPureGraphManager.ts +35 -1
  42. package/src/graph-manager/action/analytics/data-product/DataProductAnalysis.ts +47 -0
  43. package/src/graph-manager/action/query/Query.ts +15 -3
  44. package/src/graph-manager/helpers/DataProductHelper.ts +2 -1
  45. package/src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts +236 -16
  46. package/src/graph-manager/protocol/pure/v1/engine/V1_EngineHelper.ts +41 -4
  47. package/src/graph-manager/protocol/pure/v1/engine/query/V1_Query.ts +41 -10
  48. package/src/graph-manager/protocol/pure/v1/lakehouse/deploy/V1_DataProductArtifact.ts +5 -0
  49. package/src/index.ts +5 -0
  50. package/tsconfig.json +1 -0
@@ -32,7 +32,10 @@ import {
32
32
  type QueryExecutionContextInfo,
33
33
  QueryExplicitExecutionContextInfo,
34
34
  QueryDataSpaceExecutionContextInfo,
35
- QueryDataProductExecutionContext,
35
+ QueryDataProductNativeExecutionContext,
36
+ QueryDataProductModelAccessExecutionContext,
37
+ QueryDataProductNativeExecutionContextInfo,
38
+ QueryDataProductModelAccessExecutionContextInfo,
36
39
  } from '../../../../../graph-manager/action/query/Query.js';
37
40
  import {
38
41
  type V1_LightQuery,
@@ -41,7 +44,8 @@ import {
41
44
  V1_QueryExplicitExecutionContext,
42
45
  V1_QueryDataSpaceExecutionContext,
43
46
  type V1_QueryExecutionContext,
44
- V1_QueryDataProductExecutionContext,
47
+ V1_DataProductNativeExecutionContext,
48
+ V1_DataProductModelAccessExecutionContext,
45
49
  } from './query/V1_Query.js';
46
50
  import type { PureModel } from '../../../../../graph/PureModel.js';
47
51
  import { DEPRECATED__ServiceTestResult } from '../../../../../graph-manager/action/service/DEPRECATED__ServiceTestResult.js';
@@ -202,6 +206,20 @@ export const V1_buildExecutionContext = (
202
206
  exec.dataSpacePath = protocolExecContext.dataSpacePath;
203
207
  exec.executionKey = protocolExecContext.executionKey;
204
208
  return exec;
209
+ } else if (
210
+ protocolExecContext instanceof V1_DataProductNativeExecutionContext
211
+ ) {
212
+ const exec = new QueryDataProductNativeExecutionContext();
213
+ exec.dataProductPath = protocolExecContext.dataProductPath;
214
+ exec.executionKey = protocolExecContext.executionKey;
215
+ return exec;
216
+ } else if (
217
+ protocolExecContext instanceof V1_DataProductModelAccessExecutionContext
218
+ ) {
219
+ const exec = new QueryDataProductModelAccessExecutionContext();
220
+ exec.dataProductPath = protocolExecContext.dataProductPath;
221
+ exec.accessPointGroupId = protocolExecContext.accessPointGroupId;
222
+ return exec;
205
223
  }
206
224
  throw new UnsupportedOperationError('Unsupported query execution context');
207
225
  };
@@ -233,6 +251,18 @@ export const V1_buildExecutionContextInfo = (
233
251
  exec.dataSpacePath = v1_execContext.dataSpacePath;
234
252
  exec.executionKey = v1_execContext.executionKey;
235
253
  return exec;
254
+ } else if (v1_execContext instanceof V1_DataProductNativeExecutionContext) {
255
+ const exec = new QueryDataProductNativeExecutionContextInfo();
256
+ exec.dataProductPath = v1_execContext.dataProductPath;
257
+ exec.executionKey = v1_execContext.executionKey;
258
+ return exec;
259
+ } else if (
260
+ v1_execContext instanceof V1_DataProductModelAccessExecutionContext
261
+ ) {
262
+ const exec = new QueryDataProductModelAccessExecutionContextInfo();
263
+ exec.dataProductPath = v1_execContext.dataProductPath;
264
+ exec.accessPointGroupId = v1_execContext.accessPointGroupId;
265
+ return exec;
236
266
  }
237
267
  throw new UnsupportedOperationError('Unsupported query execution context');
238
268
  };
@@ -340,11 +370,18 @@ export const V1_transformQueryExecutionContext = (
340
370
  protocol.dataSpacePath = execContext.dataSpacePath;
341
371
  protocol.executionKey = execContext.executionKey;
342
372
  return protocol;
343
- } else if (execContext instanceof QueryDataProductExecutionContext) {
344
- const protocol = new V1_QueryDataProductExecutionContext();
373
+ } else if (execContext instanceof QueryDataProductNativeExecutionContext) {
374
+ const protocol = new V1_DataProductNativeExecutionContext();
345
375
  protocol.dataProductPath = execContext.dataProductPath;
346
376
  protocol.executionKey = execContext.executionKey;
347
377
  return protocol;
378
+ } else if (
379
+ execContext instanceof QueryDataProductModelAccessExecutionContext
380
+ ) {
381
+ const protocol = new V1_DataProductModelAccessExecutionContext();
382
+ protocol.dataProductPath = execContext.dataProductPath;
383
+ protocol.accessPointGroupId = execContext.accessPointGroupId;
384
+ return protocol;
348
385
  }
349
386
  throw new UnsupportedOperationError('Unsupported query execution context');
350
387
  };
@@ -65,7 +65,8 @@ export class V1_QueryExecutionContext {}
65
65
  export enum V1_QueryExecutionContextType {
66
66
  QUERY_EXPLICIT_EXECUTION_CONTEXT = 'explicitExecutionContext',
67
67
  QUERY_DATASAPCE_EXECUTION_CONTEXT = 'dataSpaceExecutionContext',
68
- QUERY_DATAPRODUCT_EXECUTION_CONTEXT = 'dataProductExecutionContext',
68
+ QUERY_DATAPRODUCT_NATIVE_EXECUTION_CONTEXT = 'dataProductNativeExecutionContext',
69
+ QUERY_DATAPRODUCT_MODEL_ACCESS_EXECUTION_CONTEXT = 'dataProductModelAccessExecutionContext',
69
70
  }
70
71
 
71
72
  export class V1_QueryExplicitExecutionContext extends V1_QueryExecutionContext {
@@ -104,17 +105,37 @@ export class V1_QueryDataSpaceExecutionContext extends V1_QueryExecutionContext
104
105
  );
105
106
  }
106
107
 
107
- export class V1_QueryDataProductExecutionContext extends V1_QueryExecutionContext {
108
+ export abstract class V1_QueryDataProductExecutionContext extends V1_QueryExecutionContext {
108
109
  dataProductPath!: string;
109
- executionKey: string | undefined;
110
+ }
111
+
112
+ export class V1_DataProductNativeExecutionContext extends V1_QueryDataProductExecutionContext {
113
+ executionKey!: string;
110
114
 
111
115
  static readonly serialization = new SerializationFactory(
112
- createModelSchema(V1_QueryDataProductExecutionContext, {
116
+ createModelSchema(V1_DataProductNativeExecutionContext, {
113
117
  _type: usingConstantValueSchema(
114
- V1_QueryExecutionContextType.QUERY_DATAPRODUCT_EXECUTION_CONTEXT,
118
+ V1_QueryExecutionContextType.QUERY_DATAPRODUCT_NATIVE_EXECUTION_CONTEXT,
115
119
  ),
116
120
  dataProductPath: primitive(),
117
- executionKey: optional(primitive()),
121
+ executionKey: primitive(),
122
+ }),
123
+ {
124
+ deserializeNullAsUndefined: true,
125
+ },
126
+ );
127
+ }
128
+
129
+ export class V1_DataProductModelAccessExecutionContext extends V1_QueryDataProductExecutionContext {
130
+ accessPointGroupId!: string;
131
+
132
+ static readonly serialization = new SerializationFactory(
133
+ createModelSchema(V1_DataProductModelAccessExecutionContext, {
134
+ _type: usingConstantValueSchema(
135
+ V1_QueryExecutionContextType.QUERY_DATAPRODUCT_MODEL_ACCESS_EXECUTION_CONTEXT,
136
+ ),
137
+ dataProductPath: primitive(),
138
+ accessPointGroupId: primitive(),
118
139
  }),
119
140
  {
120
141
  deserializeNullAsUndefined: true,
@@ -136,9 +157,14 @@ export const V1_deserializeQueryExecutionContext = (
136
157
  V1_QueryDataSpaceExecutionContext.serialization.schema,
137
158
  json,
138
159
  );
139
- case V1_QueryExecutionContextType.QUERY_DATAPRODUCT_EXECUTION_CONTEXT:
160
+ case V1_QueryExecutionContextType.QUERY_DATAPRODUCT_NATIVE_EXECUTION_CONTEXT:
140
161
  return deserialize(
141
- V1_QueryDataProductExecutionContext.serialization.schema,
162
+ V1_DataProductNativeExecutionContext.serialization.schema,
163
+ json,
164
+ );
165
+ case V1_QueryExecutionContextType.QUERY_DATAPRODUCT_MODEL_ACCESS_EXECUTION_CONTEXT:
166
+ return deserialize(
167
+ V1_DataProductModelAccessExecutionContext.serialization.schema,
142
168
  json,
143
169
  );
144
170
  default: {
@@ -162,9 +188,14 @@ export const V1_serializeQueryExecutionContext = (
162
188
  V1_QueryDataSpaceExecutionContext.serialization.schema,
163
189
  protocol,
164
190
  );
165
- } else if (protocol instanceof V1_QueryDataProductExecutionContext) {
191
+ } else if (protocol instanceof V1_DataProductNativeExecutionContext) {
192
+ return serialize(
193
+ V1_DataProductNativeExecutionContext.serialization.schema,
194
+ protocol,
195
+ );
196
+ } else if (protocol instanceof V1_DataProductModelAccessExecutionContext) {
166
197
  return serialize(
167
- V1_QueryDataProductExecutionContext.serialization.schema,
198
+ V1_DataProductModelAccessExecutionContext.serialization.schema,
168
199
  protocol,
169
200
  );
170
201
  }
@@ -45,6 +45,7 @@ import { V1_relationElementModelSchema } from '../../transformation/pureProtocol
45
45
  import { V1_pureModelContextDataPropSchema } from '../../transformation/pureProtocol/V1_PureProtocolSerialization.js';
46
46
  import type { V1_PureModelContextData } from '../../model/context/V1_PureModelContextData.js';
47
47
  import type { V1_Multiplicity } from '../../model/packageableElements/domain/V1_Multiplicity.js';
48
+ import { V1_MappedEntity } from '../../engine/analytics/V1_MappingModelCoverageAnalysis.js';
48
49
  import { V1_multiplicityModelSchema } from '../../transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js';
49
50
 
50
51
  export enum V1_DataProductTypeEnum {
@@ -275,11 +276,15 @@ export class V1_DiagramInfo {
275
276
  export class V1_MappingGenerationInfo {
276
277
  path!: string;
277
278
  model!: V1_PureModelContextData;
279
+ mappedEntities: V1_MappedEntity[] = [];
278
280
 
279
281
  static readonly serialization = new SerializationFactory(
280
282
  createModelSchema(V1_MappingGenerationInfo, {
281
283
  path: primitive(),
282
284
  model: V1_pureModelContextDataPropSchema,
285
+ mappedEntities: list(
286
+ usingModelSchema(V1_MappedEntity.serialization.schema),
287
+ ),
283
288
  }),
284
289
  );
285
290
  }
package/src/index.ts CHANGED
@@ -729,6 +729,7 @@ export {
729
729
  type DataProductElement,
730
730
  NativeModelAccess,
731
731
  NativeModelExecutionContext,
732
+ DataProductAccessType,
732
733
  DataProductOperationalMetadata,
733
734
  } from './graph/metamodel/pure/dataProduct/DataProduct.js';
734
735
  export * from './graph-manager/action/changeDetection/DataProductObserveHelper.js';
@@ -900,6 +901,10 @@ export {
900
901
  EntityMappedProperty,
901
902
  EnumMappedProperty,
902
903
  } from './graph-manager/action/analytics/MappingModelCoverageAnalysis.js';
904
+ export {
905
+ DataProductAnalysis,
906
+ DataProductAnalysisQueryResult,
907
+ } from './graph-manager/action/analytics/data-product/DataProductAnalysis.js';
903
908
  export {
904
909
  DatasetSpecification,
905
910
  DatasetEntitlementReport,
package/tsconfig.json CHANGED
@@ -380,6 +380,7 @@
380
380
  "./src/graph-manager/action/TEMPORARY__AbstractEngineConfig.ts",
381
381
  "./src/graph-manager/action/analytics/MappingModelCoverageAnalysis.ts",
382
382
  "./src/graph-manager/action/analytics/StoreEntitlementAnalysis.ts",
383
+ "./src/graph-manager/action/analytics/data-product/DataProductAnalysis.ts",
383
384
  "./src/graph-manager/action/changeDetection/CoreObserverHelper.ts",
384
385
  "./src/graph-manager/action/changeDetection/DSL_Data_ObserverHelper.ts",
385
386
  "./src/graph-manager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.ts",