@finos/legend-graph 32.1.52 → 32.1.54

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 (62) hide show
  1. package/lib/__lib__/GraphManagerEvent.d.ts +2 -1
  2. package/lib/__lib__/GraphManagerEvent.d.ts.map +1 -1
  3. package/lib/__lib__/GraphManagerEvent.js +1 -0
  4. package/lib/__lib__/GraphManagerEvent.js.map +1 -1
  5. package/lib/graph/metamodel/pure/lineage/LineageModel.d.ts +85 -0
  6. package/lib/graph/metamodel/pure/lineage/LineageModel.d.ts.map +1 -0
  7. package/lib/graph/metamodel/pure/lineage/LineageModel.js +154 -0
  8. package/lib/graph/metamodel/pure/lineage/LineageModel.js.map +1 -0
  9. package/lib/graph-manager/AbstractPureGraphManager.d.ts +3 -0
  10. package/lib/graph-manager/AbstractPureGraphManager.d.ts.map +1 -1
  11. package/lib/graph-manager/AbstractPureGraphManager.js.map +1 -1
  12. package/lib/graph-manager/action/changeDetection/DataProductObserveHelper.d.ts.map +1 -1
  13. package/lib/graph-manager/action/changeDetection/DataProductObserveHelper.js +1 -0
  14. package/lib/graph-manager/action/changeDetection/DataProductObserveHelper.js.map +1 -1
  15. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts +5 -0
  16. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  17. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js +28 -0
  18. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
  19. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts +2 -0
  20. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  21. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js +2 -0
  22. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  23. package/lib/graph-manager/protocol/pure/v1/engine/V1_GraphManagerEngine.d.ts +2 -0
  24. package/lib/graph-manager/protocol/pure/v1/engine/V1_GraphManagerEngine.d.ts.map +1 -1
  25. package/lib/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.d.ts +2 -0
  26. package/lib/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.d.ts.map +1 -1
  27. package/lib/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.js +4 -0
  28. package/lib/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.js.map +1 -1
  29. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.d.ts +8 -0
  30. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.d.ts.map +1 -1
  31. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.js +9 -0
  32. package/lib/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.js.map +1 -1
  33. package/lib/graph-manager/protocol/pure/v1/model/lineage/V1_Lineage.d.ts +34 -0
  34. package/lib/graph-manager/protocol/pure/v1/model/lineage/V1_Lineage.d.ts.map +1 -0
  35. package/lib/graph-manager/protocol/pure/v1/model/lineage/V1_Lineage.js +40 -0
  36. package/lib/graph-manager/protocol/pure/v1/model/lineage/V1_Lineage.js.map +1 -0
  37. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DataProductTransformer.d.ts.map +1 -1
  38. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DataProductTransformer.js +1 -0
  39. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DataProductTransformer.js.map +1 -1
  40. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.d.ts.map +1 -1
  41. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.js +1 -0
  42. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.js.map +1 -1
  43. package/lib/index.d.ts +3 -1
  44. package/lib/index.d.ts.map +1 -1
  45. package/lib/index.js +3 -1
  46. package/lib/index.js.map +1 -1
  47. package/lib/package.json +1 -1
  48. package/package.json +1 -1
  49. package/src/__lib__/GraphManagerEvent.ts +1 -0
  50. package/src/graph/metamodel/pure/lineage/LineageModel.ts +186 -0
  51. package/src/graph-manager/AbstractPureGraphManager.ts +14 -0
  52. package/src/graph-manager/action/changeDetection/DataProductObserveHelper.ts +1 -0
  53. package/src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts +65 -0
  54. package/src/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.ts +15 -1
  55. package/src/graph-manager/protocol/pure/v1/engine/V1_GraphManagerEngine.ts +8 -0
  56. package/src/graph-manager/protocol/pure/v1/engine/V1_RemoteEngine.ts +12 -0
  57. package/src/graph-manager/protocol/pure/v1/lakehouse/entitlements/V1_ConsumerEntitlements.ts +9 -0
  58. package/src/graph-manager/protocol/pure/v1/model/lineage/V1_Lineage.ts +60 -0
  59. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DataProductTransformer.ts +1 -0
  60. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DataProductSerializationHelper.ts +1 -0
  61. package/src/index.ts +3 -1
  62. package/tsconfig.json +2 -0
@@ -90,6 +90,7 @@ import type { V1_CompleteCodeInput } from './compilation/V1_CompleteCodeInput.js
90
90
  import type { DeploymentResult } from '../../../../action/DeploymentResult.js';
91
91
  import type { PersistentDataCube } from '../../../../action/query/PersistentDataCube.js';
92
92
  import { type V1_LambdaTdsToRelationInput } from './pureProtocol/V1_LambdaTdsToRelationInput.js';
93
+ import type { V1_RawLineageModel } from '../model/lineage/V1_Lineage.js';
93
94
 
94
95
  enum CORE_ENGINE_ACTIVITY_TRACE {
95
96
  GRAMMAR_TO_JSON = 'transform Pure code to protocol',
@@ -109,7 +110,7 @@ enum CORE_ENGINE_ACTIVITY_TRACE {
109
110
 
110
111
  EXECUTE = 'execute',
111
112
  GENERATE_EXECUTION_PLAN = 'generate execution plan',
112
-
113
+ GENERATE_LINEAGE = 'generate lineage',
113
114
  GENERATE_ARTIFACTS = 'generate artifacts',
114
115
 
115
116
  REGISTER_SERVICE = 'register service',
@@ -744,6 +745,19 @@ export class V1_EngineServerClient extends AbstractServerClient {
744
745
  { skipProcessing: Boolean(options?.returnAsResponse) },
745
746
  );
746
747
 
748
+ generateLineage = (
749
+ input: PlainObject<V1_ExecuteInput>,
750
+ ): Promise<PlainObject<V1_RawLineageModel>> =>
751
+ this.postWithTracing(
752
+ this.getTraceData(CORE_ENGINE_ACTIVITY_TRACE.GENERATE_LINEAGE),
753
+ `${this.baseUrl}/lineage/v1/function/fullAnalytics`,
754
+ this.debugPayload(input, CORE_ENGINE_ACTIVITY_TRACE.GENERATE_LINEAGE),
755
+ {},
756
+ undefined,
757
+ undefined,
758
+ { enableCompression: true },
759
+ );
760
+
747
761
  generatePlan = (
748
762
  input: PlainObject<V1_ExecuteInput>,
749
763
  ): Promise<PlainObject<V1_ExecutionPlan>> =>
@@ -95,6 +95,10 @@ import type {
95
95
  LightPersistentDataCube,
96
96
  PersistentDataCube,
97
97
  } from '../../../../action/query/PersistentDataCube.js';
98
+ import type {
99
+ V1_LineageInput,
100
+ V1_RawLineageModel,
101
+ } from '../model/lineage/V1_Lineage.js';
98
102
 
99
103
  export interface V1_GraphManagerEngine {
100
104
  config: TEMPORARY__AbstractEngineConfig;
@@ -237,6 +241,10 @@ export interface V1_GraphManagerEngine {
237
241
  input: V1_ExecuteInput,
238
242
  ) => Promise<PlainObject<V1_ExecutionPlan>>;
239
243
 
244
+ generateLineage: (
245
+ input: V1_LineageInput,
246
+ ) => Promise<PlainObject<V1_RawLineageModel>>;
247
+
240
248
  debugExecutionPlanGeneration: (
241
249
  input: V1_ExecuteInput,
242
250
  ) => Promise<{ plan: PlainObject<V1_ExecutionPlan>; debug: string[] }>;
@@ -168,6 +168,10 @@ import {
168
168
  } from '../../../../action/query/PersistentDataCube.js';
169
169
  import { V1_getGenericTypeFullPath } from '../helpers/V1_DomainHelper.js';
170
170
  import { V1_relationTypeModelSchema } from '../transformation/pureProtocol/serializationHelpers/V1_TypeSerializationHelper.js';
171
+ import {
172
+ type V1_RawLineageModel,
173
+ V1_LineageInput,
174
+ } from '../model/lineage/V1_Lineage.js';
171
175
 
172
176
  class V1_RemoteEngineConfig extends TEMPORARY__AbstractEngineConfig {
173
177
  private engine: V1_RemoteEngine;
@@ -910,6 +914,14 @@ export class V1_RemoteEngine implements V1_GraphManagerEngine {
910
914
  );
911
915
  }
912
916
 
917
+ generateLineage(
918
+ input: V1_LineageInput,
919
+ ): Promise<PlainObject<V1_RawLineageModel>> {
920
+ return this.engineServerClient.generateLineage(
921
+ V1_LineageInput.serialization.toJson(input),
922
+ );
923
+ }
924
+
913
925
  debugExecutionPlanGeneration(
914
926
  input: V1_ExecuteInput,
915
927
  ): Promise<{ plan: PlainObject<V1_ExecutionPlan>; debug: string[] }> {
@@ -91,6 +91,15 @@ export enum V1_UserApprovalStatus {
91
91
  CLOSED = 'CLOSED',
92
92
  }
93
93
 
94
+ export enum V1_EnrichedUserApprovalStatus {
95
+ PENDING_CONSUMER_PRIVILEGE_MANAGER_APPROVAL = 'PENDING_CONSUMER_PRIVILEGE_MANAGER_APPROVAL',
96
+ PENDING_DATA_OWNER_APPROVAL = 'PENDING_DATA_OWNER_APPROVAL',
97
+ APPROVED = 'APPROVED',
98
+ DENIED = 'DENIED',
99
+ REVOKED = 'REVOKED',
100
+ CLOSED = 'CLOSED',
101
+ }
102
+
94
103
  export enum V1_ContractState {
95
104
  DRAFT = 'DRAFT',
96
105
  PENDING_DATA_OWNER_APPROVAL = 'PENDING_DATA_OWNER_APPROVAL',
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { SerializationFactory, usingModelSchema } from '@finos/legend-shared';
18
+ import type { V1_PureModelContext } from '../context/V1_PureModelContext.js';
19
+ import type { V1_Runtime } from '../packageableElements/runtime/V1_Runtime.js';
20
+ import type { V1_RawLambda } from '../rawValueSpecification/V1_RawLambda.js';
21
+ import {
22
+ createModelSchema,
23
+ custom,
24
+ optional,
25
+ primitive,
26
+ SKIP,
27
+ } from 'serializr';
28
+ import { V1_pureModelContextPropSchema } from '../../transformation/pureProtocol/V1_PureProtocolSerialization.js';
29
+ import {
30
+ V1_deserializeRuntime,
31
+ V1_serializeRuntime,
32
+ } from '../../transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js';
33
+ import { V1_rawLambdaModelSchema } from '../../transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper.js';
34
+
35
+ export type V1_RawLineageModel = object;
36
+ export class V1_LineageInput {
37
+ clientVersion: string | undefined;
38
+ /**
39
+ * Studio does not process value specification, they are left in raw JSON form
40
+ *
41
+ * @discrepancy model
42
+ */
43
+ function!: V1_RawLambda;
44
+ mapping: string | undefined;
45
+ model!: V1_PureModelContext;
46
+ runtime: V1_Runtime | undefined;
47
+
48
+ static readonly serialization = new SerializationFactory(
49
+ createModelSchema(V1_LineageInput, {
50
+ clientVersion: optional(primitive()),
51
+ function: usingModelSchema(V1_rawLambdaModelSchema),
52
+ mapping: optional(primitive()),
53
+ model: V1_pureModelContextPropSchema,
54
+ runtime: custom(
55
+ (val) => (val ? V1_serializeRuntime(val) : SKIP),
56
+ (val) => (val ? V1_deserializeRuntime(val) : SKIP),
57
+ ),
58
+ }),
59
+ );
60
+ }
@@ -45,6 +45,7 @@ const transformAccessPoint = (
45
45
  lake.func = V1_transformRawLambda(ap.func, context);
46
46
  lake.targetEnvironment = ap.targetEnvironment;
47
47
  lake.classification = ap.classification;
48
+ lake.reproducible = ap.reproducible;
48
49
  return lake;
49
50
  } else if (ap instanceof UnknownAccessPoint) {
50
51
  const un = new V1_UnknownAccessPoint();
@@ -59,6 +59,7 @@ export const V1_lakehouseAccessPointModelSchema = createModelSchema(
59
59
  targetEnvironment: primitive(),
60
60
  classification: optional(primitive()),
61
61
  func: usingModelSchema(V1_rawLambdaModelSchema),
62
+ reproducible: optional(primitive()),
62
63
  },
63
64
  );
64
65
 
package/src/index.ts CHANGED
@@ -280,6 +280,7 @@ export {
280
280
  V1_DataContract,
281
281
  V1_DataContractApprovedUsersResponse,
282
282
  V1_DataContractsResponse,
283
+ V1_EnrichedUserApprovalStatus,
283
284
  V1_PendingTasksRespond,
284
285
  V1_ResourceType,
285
286
  V1_TaskMetadata,
@@ -340,6 +341,7 @@ export {
340
341
  V1_DataSubscriptionResponseModelSchema,
341
342
  } from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_SubscriptionSerializationHelper.js';
342
343
  export { V1_deserializeIngestEnvironment } from './graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_IngestSerializationHelper.js';
344
+ export * from './graph-manager/protocol/pure/v1/model/lineage/V1_Lineage.js';
343
345
 
344
346
  // --------------------------------------------- EXECUTION PLAN --------------------------------------------------
345
347
 
@@ -350,7 +352,7 @@ export {
350
352
  PersistentDataCube,
351
353
  LightPersistentDataCube,
352
354
  } from './graph-manager/action/query/PersistentDataCube.js';
353
-
355
+ export * from './graph/metamodel/pure/lineage/LineageModel.js';
354
356
  export * from './graph/metamodel/pure/executionPlan/ExecutionPlan.js';
355
357
  export { ExecutionNode } from './graph/metamodel/pure/executionPlan/nodes/ExecutionNode.js';
356
358
  export { FunctionParametersValidationNode } from './graph/metamodel/pure/executionPlan/nodes/FunctionParametersValidationNode.js';
package/tsconfig.json CHANGED
@@ -140,6 +140,7 @@
140
140
  "./src/graph/metamodel/pure/functionActivator/PostDeploymentProperties.ts",
141
141
  "./src/graph/metamodel/pure/functionActivator/SnowflakeAppDeploymentConfiguration.ts",
142
142
  "./src/graph/metamodel/pure/functionActivator/SnowflakeM2MUdfDeploymentConfiguration.ts",
143
+ "./src/graph/metamodel/pure/lineage/LineageModel.ts",
143
144
  "./src/graph/metamodel/pure/packageableElements/INTERNAL__UnknownElement.ts",
144
145
  "./src/graph/metamodel/pure/packageableElements/INTERNAL__UnknownPackageableElement.ts",
145
146
  "./src/graph/metamodel/pure/packageableElements/PackageableElement.ts",
@@ -565,6 +566,7 @@
565
566
  "./src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_TDSColumn.ts",
566
567
  "./src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_TDSResultType.ts",
567
568
  "./src/graph-manager/protocol/pure/v1/model/executionPlan/results/V1_VoidResultType.ts",
569
+ "./src/graph-manager/protocol/pure/v1/model/lineage/V1_Lineage.ts",
568
570
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/V1_INTERNAL__UnknownElement.ts",
569
571
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/V1_INTERNAL__UnknownPackageableElement.ts",
570
572
  "./src/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts",