@finos/legend-extension-dsl-data-space 10.4.252 → 10.4.254

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 (111) hide show
  1. package/lib/__lib__/DSL_DataSpace_LegendApplicationCommand.js +8 -8
  2. package/lib/__lib__/DSL_DataSpace_LegendApplicationCommand.js.map +1 -1
  3. package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js +2 -2
  4. package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js.map +1 -1
  5. package/lib/components/DataSpaceDataAccess.d.ts.map +1 -1
  6. package/lib/components/DataSpaceDataAccess.js +6 -2
  7. package/lib/components/DataSpaceDataAccess.js.map +1 -1
  8. package/lib/components/DataSpaceDescription.d.ts.map +1 -1
  9. package/lib/components/DataSpaceDescription.js +6 -2
  10. package/lib/components/DataSpaceDescription.js.map +1 -1
  11. package/lib/components/DataSpaceInfoPanel.js +1 -1
  12. package/lib/components/DataSpaceInfoPanel.js.map +1 -1
  13. package/lib/components/DataSpaceLegendAISchema.d.ts.map +1 -1
  14. package/lib/components/DataSpaceLegendAISchema.js +6 -1
  15. package/lib/components/DataSpaceLegendAISchema.js.map +1 -1
  16. package/lib/components/DataSpaceQuickStart.d.ts.map +1 -1
  17. package/lib/components/DataSpaceQuickStart.js +16 -7
  18. package/lib/components/DataSpaceQuickStart.js.map +1 -1
  19. package/lib/components/DataSpaceSupportPanel.d.ts.map +1 -1
  20. package/lib/components/DataSpaceSupportPanel.js +13 -1
  21. package/lib/components/DataSpaceSupportPanel.js.map +1 -1
  22. package/lib/components/DataSpaceViewer.js +2 -2
  23. package/lib/components/DataSpaceViewer.js.map +1 -1
  24. package/lib/components/DataSpaceWiki.d.ts.map +1 -1
  25. package/lib/components/DataSpaceWiki.js +2 -2
  26. package/lib/components/DataSpaceWiki.js.map +1 -1
  27. package/lib/components/query-builder/DataSpaceAdvancedSearchModal.js +2 -2
  28. package/lib/components/query-builder/DataSpaceAdvancedSearchModal.js.map +1 -1
  29. package/lib/components/query-builder/DataSpaceQueryBuilder.js +3 -3
  30. package/lib/components/query-builder/DataSpaceQueryBuilder.js.map +1 -1
  31. package/lib/graph/DSL_DataSpace_HashUtils.d.ts +4 -0
  32. package/lib/graph/DSL_DataSpace_HashUtils.d.ts.map +1 -1
  33. package/lib/graph/DSL_DataSpace_HashUtils.js +4 -0
  34. package/lib/graph/DSL_DataSpace_HashUtils.js.map +1 -1
  35. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts +26 -1
  36. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts.map +1 -1
  37. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js +55 -0
  38. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js.map +1 -1
  39. package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.d.ts +2 -0
  40. package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.d.ts.map +1 -1
  41. package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js +67 -1
  42. package/lib/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js.map +1 -1
  43. package/lib/graph-manager/index.d.ts +1 -1
  44. package/lib/graph-manager/index.d.ts.map +1 -1
  45. package/lib/graph-manager/index.js +1 -1
  46. package/lib/graph-manager/index.js.map +1 -1
  47. package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.d.ts +4 -1
  48. package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.d.ts.map +1 -1
  49. package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js +109 -13
  50. package/lib/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js.map +1 -1
  51. package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.d.ts.map +1 -1
  52. package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js +13 -9
  53. package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
  54. package/lib/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_SystemModels.json +8 -1
  55. package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js +2 -2
  56. package/lib/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js.map +1 -1
  57. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts +26 -1
  58. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts.map +1 -1
  59. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js +55 -0
  60. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js.map +1 -1
  61. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.d.ts.map +1 -1
  62. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js +36 -3
  63. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js.map +1 -1
  64. package/lib/index.css +2 -2
  65. package/lib/index.css.map +1 -1
  66. package/lib/package.json +1 -1
  67. package/lib/stores/DataSpaceLayoutState.d.ts +9 -0
  68. package/lib/stores/DataSpaceLayoutState.d.ts.map +1 -1
  69. package/lib/stores/DataSpaceLayoutState.js +36 -0
  70. package/lib/stores/DataSpaceLayoutState.js.map +1 -1
  71. package/lib/stores/DataSpaceModelsDocumentationState.d.ts.map +1 -1
  72. package/lib/stores/DataSpaceModelsDocumentationState.js +3 -1
  73. package/lib/stores/DataSpaceModelsDocumentationState.js.map +1 -1
  74. package/lib/stores/DataSpaceViewerDiagramViewerState.d.ts.map +1 -1
  75. package/lib/stores/DataSpaceViewerDiagramViewerState.js +4 -1
  76. package/lib/stores/DataSpaceViewerDiagramViewerState.js.map +1 -1
  77. package/lib/stores/DataSpaceViewerExecutableState.d.ts.map +1 -1
  78. package/lib/stores/DataSpaceViewerExecutableState.js +2 -1
  79. package/lib/stores/DataSpaceViewerExecutableState.js.map +1 -1
  80. package/lib/stores/query-builder/DataSpaceQueryBuilderState.d.ts +2 -1
  81. package/lib/stores/query-builder/DataSpaceQueryBuilderState.d.ts.map +1 -1
  82. package/lib/stores/query-builder/DataSpaceQueryBuilderState.js +12 -1
  83. package/lib/stores/query-builder/DataSpaceQueryBuilderState.js.map +1 -1
  84. package/package.json +14 -14
  85. package/src/__lib__/DSL_DataSpace_LegendApplicationCommand.ts +8 -8
  86. package/src/components/DSL_DataSpace_LegendApplicationPlugin.tsx +2 -2
  87. package/src/components/DataSpaceDataAccess.tsx +42 -11
  88. package/src/components/DataSpaceDescription.tsx +40 -14
  89. package/src/components/DataSpaceInfoPanel.tsx +4 -4
  90. package/src/components/DataSpaceLegendAISchema.ts +5 -0
  91. package/src/components/DataSpaceQuickStart.tsx +73 -15
  92. package/src/components/DataSpaceSupportPanel.tsx +125 -0
  93. package/src/components/DataSpaceViewer.tsx +2 -2
  94. package/src/components/DataSpaceWiki.tsx +0 -2
  95. package/src/components/query-builder/DataSpaceAdvancedSearchModal.tsx +4 -4
  96. package/src/components/query-builder/DataSpaceQueryBuilder.tsx +5 -5
  97. package/src/graph/DSL_DataSpace_HashUtils.ts +4 -0
  98. package/src/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.ts +67 -0
  99. package/src/graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.ts +92 -0
  100. package/src/graph-manager/index.ts +1 -0
  101. package/src/graph-manager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.ts +159 -10
  102. package/src/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.ts +16 -8
  103. package/src/graph-manager/protocol/pure/v1/V1_DSL_DataSpace_SystemModels.json +8 -1
  104. package/src/graph-manager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.ts +2 -2
  105. package/src/graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.ts +67 -0
  106. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.ts +61 -0
  107. package/src/stores/DataSpaceLayoutState.ts +41 -0
  108. package/src/stores/DataSpaceModelsDocumentationState.ts +7 -1
  109. package/src/stores/DataSpaceViewerDiagramViewerState.ts +5 -1
  110. package/src/stores/DataSpaceViewerExecutableState.ts +2 -0
  111. package/src/stores/query-builder/DataSpaceQueryBuilderState.ts +20 -0
@@ -17,6 +17,7 @@
17
17
  import {
18
18
  observe_Abstract_PackageableElement,
19
19
  observe_DataElementReference,
20
+ type OperationalMetadata,
20
21
  observe_PackageableElementReference,
21
22
  observe_RawLambda,
22
23
  observe_StereotypeReference,
@@ -32,10 +33,14 @@ import {
32
33
  type DataSpaceExecutionContext,
33
34
  type DataSpaceMappingProvider,
34
35
  type DataSpaceSupportInfo,
36
+ type DataSpaceEmail,
37
+ type DataSpaceExpertise,
38
+ type DataSpaceLink,
35
39
  DataSpaceExecutableTemplate,
36
40
  DataSpacePackageableElementExecutable,
37
41
  DataSpaceSupportCombinedInfo,
38
42
  DataSpaceSupportEmail,
43
+ DataSpaceSupportFullInfo,
39
44
  } from '../../../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
40
45
 
41
46
  export const observe_DataSpaceMappingProvider = skipObserved(
@@ -202,6 +207,75 @@ const observe_DataSpaceSupportCombinedInfo = skipObserved(
202
207
  },
203
208
  );
204
209
 
210
+ const observe_DataSpaceLink = skipObserved(
211
+ (metamodel: DataSpaceLink): DataSpaceLink => {
212
+ makeObservable(metamodel, {
213
+ label: observable,
214
+ url: observable,
215
+ hashCode: computed,
216
+ });
217
+
218
+ return metamodel;
219
+ },
220
+ );
221
+
222
+ const observe_DataSpaceEmail = skipObserved(
223
+ (metamodel: DataSpaceEmail): DataSpaceEmail => {
224
+ makeObservable(metamodel, {
225
+ title: observable,
226
+ address: observable,
227
+ hashCode: computed,
228
+ });
229
+
230
+ return metamodel;
231
+ },
232
+ );
233
+
234
+ const observe_DataSpaceExpertise = skipObserved(
235
+ (metamodel: DataSpaceExpertise): DataSpaceExpertise => {
236
+ makeObservable(metamodel, {
237
+ description: observable,
238
+ expertIds: observable,
239
+ hashCode: computed,
240
+ });
241
+
242
+ return metamodel;
243
+ },
244
+ );
245
+
246
+ const observe_DataSpaceSupportFullInfo = skipObserved(
247
+ (metamodel: DataSpaceSupportFullInfo): DataSpaceSupportFullInfo => {
248
+ observe_Abstract_DataSpaceSupportInfo(metamodel);
249
+
250
+ makeObservable(metamodel, {
251
+ documentation: observable,
252
+ website: observable,
253
+ faqUrl: observable,
254
+ supportUrl: observable,
255
+ emails: observable,
256
+ expertise: observable,
257
+ hashCode: computed,
258
+ });
259
+
260
+ if (metamodel.documentation) {
261
+ observe_DataSpaceLink(metamodel.documentation);
262
+ }
263
+ if (metamodel.website) {
264
+ observe_DataSpaceLink(metamodel.website);
265
+ }
266
+ if (metamodel.faqUrl) {
267
+ observe_DataSpaceLink(metamodel.faqUrl);
268
+ }
269
+ if (metamodel.supportUrl) {
270
+ observe_DataSpaceLink(metamodel.supportUrl);
271
+ }
272
+ metamodel.emails?.forEach(observe_DataSpaceEmail);
273
+ metamodel.expertise?.forEach(observe_DataSpaceExpertise);
274
+
275
+ return metamodel;
276
+ },
277
+ );
278
+
205
279
  export const observe_DataSpaceSupportInfo = (
206
280
  metamodel: DataSpaceSupportInfo,
207
281
  ): DataSpaceSupportInfo => {
@@ -209,10 +283,24 @@ export const observe_DataSpaceSupportInfo = (
209
283
  return observe_DataSpaceSupportEmail(metamodel);
210
284
  } else if (metamodel instanceof DataSpaceSupportCombinedInfo) {
211
285
  return observe_DataSpaceSupportCombinedInfo(metamodel);
286
+ } else if (metamodel instanceof DataSpaceSupportFullInfo) {
287
+ return observe_DataSpaceSupportFullInfo(metamodel);
212
288
  }
213
289
  return metamodel;
214
290
  };
215
291
 
292
+ export const observe_DataSpaceOperationalMetadata = skipObserved(
293
+ (metamodel: OperationalMetadata): OperationalMetadata => {
294
+ makeObservable(metamodel, {
295
+ coverageRegions: observable,
296
+ updateFrequency: observable,
297
+ hashCode: computed,
298
+ });
299
+
300
+ return metamodel;
301
+ },
302
+ );
303
+
216
304
  export const observe_DataSpace = skipObserved(
217
305
  (metamodel: DataSpace): DataSpace => {
218
306
  observe_Abstract_PackageableElement(metamodel);
@@ -226,6 +314,7 @@ export const observe_DataSpace = skipObserved(
226
314
  executables: observable,
227
315
  diagrams: observable,
228
316
  supportInfo: observable,
317
+ operationalMetadata: observable,
229
318
  _elementHashCode: override,
230
319
  });
231
320
 
@@ -248,6 +337,9 @@ export const observe_DataSpace = skipObserved(
248
337
  if (metamodel.supportInfo) {
249
338
  observe_DataSpaceSupportInfo(metamodel.supportInfo);
250
339
  }
340
+ if (metamodel.operationalMetadata) {
341
+ observe_DataSpaceOperationalMetadata(metamodel.operationalMetadata);
342
+ }
251
343
 
252
344
  return metamodel;
253
345
  },
@@ -45,6 +45,7 @@ export {
45
45
  observe_DataSpaceExecutable,
46
46
  observe_DataSpaceExecutionContext,
47
47
  observe_DataSpaceMappingProvider,
48
+ observe_DataSpaceOperationalMetadata,
48
49
  observe_DataSpaceSupportInfo,
49
50
  } from '../graph-manager/action/changeDetection/DSL_DataSpace_ObserverHelper.js';
50
51
  export {
@@ -23,8 +23,12 @@ import {
23
23
  V1_DataSpaceExecutionContext,
24
24
  V1_DataSpaceMappingProvider,
25
25
  V1_DataSpacePackageableElementExecutable,
26
+ V1_DataSpaceEmail,
27
+ V1_DataSpaceExpertise,
28
+ V1_DataSpaceLink,
26
29
  V1_DataSpaceSupportCombinedInfo,
27
30
  V1_DataSpaceSupportEmail,
31
+ V1_DataSpaceSupportFullInfo,
28
32
  V1_DataSpaceTemplateExecutable,
29
33
  } from './v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js';
30
34
  import {
@@ -53,8 +57,12 @@ import {
53
57
  DataSpace,
54
58
  DataSpaceExecutionContext,
55
59
  DataSpaceMappingProvider,
60
+ DataSpaceEmail,
61
+ DataSpaceExpertise,
62
+ DataSpaceLink,
56
63
  DataSpaceSupportCombinedInfo,
57
64
  DataSpaceSupportEmail,
65
+ DataSpaceSupportFullInfo,
58
66
  DataSpaceDiagram,
59
67
  DataSpaceElementPointer,
60
68
  DataSpaceExecutableTemplate,
@@ -85,6 +93,9 @@ import {
85
93
  type V1_SavedQueryExecutionBuilder,
86
94
  type V1_ElementPointerType,
87
95
  type V1_RawLambda,
96
+ type V1_DeliveryFrequency,
97
+ type V1_DataProductRegion,
98
+ V1_DataProductOperationalMetadata,
88
99
  V1_taggedValueModelSchema,
89
100
  PackageableElementExplicitReference,
90
101
  V1_PackageableElementPointer,
@@ -105,6 +116,9 @@ import {
105
116
  V1_buildEmbeddedData,
106
117
  V1_transformEmbeddedData,
107
118
  DataElementReference,
119
+ OperationalMetadata,
120
+ type DeliveryFrequency,
121
+ type Region,
108
122
  V1_DataElementReference,
109
123
  QueryDataSpaceExecutionContextInfo,
110
124
  generateFunctionPrettyName,
@@ -120,6 +134,111 @@ export const DATA_SPACE_ELEMENT_CLASSIFIER_PATH =
120
134
 
121
135
  export const DATA_SPACE_ELEMENT_POINTER = 'DATASPACE';
122
136
 
137
+ const V1_buildDataSpaceLink = (protocol: V1_DataSpaceLink): DataSpaceLink => {
138
+ const link = new DataSpaceLink();
139
+ link.label = protocol.label;
140
+ link.url = guaranteeNonEmptyString(
141
+ protocol.url,
142
+ `Data product support link 'url' field is missing or empty`,
143
+ );
144
+ return link;
145
+ };
146
+
147
+ const V1_buildDataSpaceEmail = (
148
+ protocol: V1_DataSpaceEmail,
149
+ ): DataSpaceEmail => {
150
+ const email = new DataSpaceEmail();
151
+ email.title = guaranteeNonEmptyString(
152
+ protocol.title,
153
+ `Data product support email 'title' field is missing or empty`,
154
+ );
155
+ email.address = guaranteeNonEmptyString(
156
+ protocol.address,
157
+ `Data product support email 'address' field is missing or empty`,
158
+ );
159
+ return email;
160
+ };
161
+
162
+ const V1_buildDataSpaceExpertise = (
163
+ protocol: V1_DataSpaceExpertise,
164
+ ): DataSpaceExpertise => {
165
+ const expertise = new DataSpaceExpertise();
166
+ expertise.description = protocol.description;
167
+ expertise.expertIds = protocol.expertIds;
168
+ return expertise;
169
+ };
170
+
171
+ export const V1_buildDataSpaceSupportFullInfo = (
172
+ protocol: V1_DataSpaceSupportFullInfo,
173
+ ): DataSpaceSupportFullInfo => {
174
+ const fullInfo = new DataSpaceSupportFullInfo();
175
+ fullInfo.documentationUrl = protocol.documentationUrl;
176
+ fullInfo.documentation = protocol.documentation
177
+ ? V1_buildDataSpaceLink(protocol.documentation)
178
+ : undefined;
179
+ fullInfo.website = protocol.website
180
+ ? V1_buildDataSpaceLink(protocol.website)
181
+ : undefined;
182
+ fullInfo.faqUrl = protocol.faqUrl
183
+ ? V1_buildDataSpaceLink(protocol.faqUrl)
184
+ : undefined;
185
+ fullInfo.supportUrl = protocol.supportUrl
186
+ ? V1_buildDataSpaceLink(protocol.supportUrl)
187
+ : undefined;
188
+ fullInfo.emails = protocol.emails?.map(V1_buildDataSpaceEmail);
189
+ fullInfo.expertise = protocol.expertise?.map(V1_buildDataSpaceExpertise);
190
+ return fullInfo;
191
+ };
192
+
193
+ const V1_transformDataSpaceLink = (
194
+ metamodel: DataSpaceLink,
195
+ ): V1_DataSpaceLink => {
196
+ const link = new V1_DataSpaceLink();
197
+ link.label = metamodel.label;
198
+ link.url = metamodel.url;
199
+ return link;
200
+ };
201
+
202
+ const V1_transformDataSpaceEmail = (
203
+ metamodel: DataSpaceEmail,
204
+ ): V1_DataSpaceEmail => {
205
+ const email = new V1_DataSpaceEmail();
206
+ email.title = metamodel.title;
207
+ email.address = metamodel.address;
208
+ return email;
209
+ };
210
+
211
+ const V1_transformDataSpaceExpertise = (
212
+ metamodel: DataSpaceExpertise,
213
+ ): V1_DataSpaceExpertise => {
214
+ const expertise = new V1_DataSpaceExpertise();
215
+ expertise.description = metamodel.description;
216
+ expertise.expertIds = metamodel.expertIds;
217
+ return expertise;
218
+ };
219
+
220
+ export const V1_transformDataSpaceSupportFullInfo = (
221
+ metamodel: DataSpaceSupportFullInfo,
222
+ ): V1_DataSpaceSupportFullInfo => {
223
+ const fullInfo = new V1_DataSpaceSupportFullInfo();
224
+ fullInfo.documentationUrl = metamodel.documentationUrl;
225
+ fullInfo.documentation = metamodel.documentation
226
+ ? V1_transformDataSpaceLink(metamodel.documentation)
227
+ : undefined;
228
+ fullInfo.website = metamodel.website
229
+ ? V1_transformDataSpaceLink(metamodel.website)
230
+ : undefined;
231
+ fullInfo.faqUrl = metamodel.faqUrl
232
+ ? V1_transformDataSpaceLink(metamodel.faqUrl)
233
+ : undefined;
234
+ fullInfo.supportUrl = metamodel.supportUrl
235
+ ? V1_transformDataSpaceLink(metamodel.supportUrl)
236
+ : undefined;
237
+ fullInfo.emails = metamodel.emails?.map(V1_transformDataSpaceEmail);
238
+ fullInfo.expertise = metamodel.expertise?.map(V1_transformDataSpaceExpertise);
239
+ return fullInfo;
240
+ };
241
+
123
242
  export class DSL_DataSpace_PureProtocolProcessorPlugin
124
243
  extends PureProtocolProcessorPlugin
125
244
  implements DSL_Mapping_PureProtocolProcessorPlugin_Extension
@@ -151,7 +270,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
151
270
  const execContext = new DataSpaceExecutionContext();
152
271
  execContext.name = guaranteeNonEmptyString(
153
272
  contextProtocol.name,
154
- `Data product execution context 'name' field is missing or empty`,
273
+ `Data space execution context 'name' field is missing or empty`,
155
274
  );
156
275
  execContext.title = contextProtocol.title;
157
276
  execContext.description = contextProtocol.description;
@@ -240,7 +359,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
240
359
  return elementPointer;
241
360
  }
242
361
  throw new UnsupportedOperationError(
243
- `Can't find data product element (only allow packages, classes, enumerations, and associations) '${pointer.path}'`,
362
+ `Can't find data space element (only allow packages, classes, enumerations, and associations) '${pointer.path}'`,
244
363
  );
245
364
  });
246
365
  }
@@ -307,7 +426,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
307
426
  );
308
427
  } catch {
309
428
  throw new UnsupportedOperationError(
310
- `Can't analyze data product executable with element in path: ${executableProtocol.executable.path}`,
429
+ `Can't analyze data space executable with element in path: ${executableProtocol.executable.path}`,
311
430
  executableProtocol,
312
431
  );
313
432
  }
@@ -315,7 +434,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
315
434
  return executable;
316
435
  } else {
317
436
  throw new UnsupportedOperationError(
318
- `Can't build data product executable`,
437
+ `Can't build data space executable`,
319
438
  executableProtocol,
320
439
  );
321
440
  }
@@ -345,7 +464,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
345
464
  elementProtocol.supportInfo.documentationUrl;
346
465
  supportEmail.address = guaranteeNonEmptyString(
347
466
  elementProtocol.supportInfo.address,
348
- `Data product support email 'address' field is missing or empty`,
467
+ `Data space support email 'address' field is missing or empty`,
349
468
  );
350
469
  element.supportInfo = supportEmail;
351
470
  } else if (
@@ -360,13 +479,29 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
360
479
  combinedInfo.faqUrl = elementProtocol.supportInfo.faqUrl;
361
480
  combinedInfo.supportUrl = elementProtocol.supportInfo.supportUrl;
362
481
  element.supportInfo = combinedInfo;
482
+ } else if (
483
+ elementProtocol.supportInfo instanceof V1_DataSpaceSupportFullInfo
484
+ ) {
485
+ element.supportInfo = V1_buildDataSpaceSupportFullInfo(
486
+ elementProtocol.supportInfo,
487
+ );
363
488
  } else {
364
489
  throw new UnsupportedOperationError(
365
- `Can't build data product support info`,
490
+ `Can't build data space support info`,
366
491
  elementProtocol.supportInfo,
367
492
  );
368
493
  }
369
494
  }
495
+ if (elementProtocol.operationalMetadata) {
496
+ const operationalMetadata = new OperationalMetadata();
497
+ operationalMetadata.updateFrequency = elementProtocol
498
+ .operationalMetadata.updateFrequency as
499
+ | DeliveryFrequency
500
+ | undefined;
501
+ operationalMetadata.coverageRegions = elementProtocol
502
+ .operationalMetadata.coverageRegions as Region[] | undefined;
503
+ element.operationalMetadata = operationalMetadata;
504
+ }
370
505
  },
371
506
  }),
372
507
  ];
@@ -544,7 +679,7 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
544
679
  return executableProtocol;
545
680
  } else {
546
681
  throw new UnsupportedOperationError(
547
- `Can't transform data product executable`,
682
+ `Can't transform data space executable`,
548
683
  executable,
549
684
  );
550
685
  }
@@ -577,13 +712,27 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
577
712
  combinedInfo.faqUrl = metamodel.supportInfo.faqUrl;
578
713
  combinedInfo.supportUrl = metamodel.supportInfo.supportUrl;
579
714
  protocol.supportInfo = combinedInfo;
715
+ } else if (
716
+ metamodel.supportInfo instanceof DataSpaceSupportFullInfo
717
+ ) {
718
+ protocol.supportInfo = V1_transformDataSpaceSupportFullInfo(
719
+ metamodel.supportInfo,
720
+ );
580
721
  } else {
581
722
  throw new UnsupportedOperationError(
582
- `Can't transform data product support info`,
723
+ `Can't transform data space support info`,
583
724
  metamodel.supportInfo,
584
725
  );
585
726
  }
586
727
  }
728
+ if (metamodel.operationalMetadata) {
729
+ const operationalMetadata = new V1_DataProductOperationalMetadata();
730
+ operationalMetadata.updateFrequency = metamodel.operationalMetadata
731
+ .updateFrequency as V1_DeliveryFrequency | undefined;
732
+ operationalMetadata.coverageRegions = metamodel.operationalMetadata
733
+ .coverageRegions as V1_DataProductRegion[] | undefined;
734
+ protocol.operationalMetadata = operationalMetadata;
735
+ }
587
736
  return protocol;
588
737
  }
589
738
  return undefined;
@@ -605,13 +754,13 @@ export class DSL_DataSpace_PureProtocolProcessorPlugin
605
754
  );
606
755
  const defaultExecutionContext = guaranteeNonNullable(
607
756
  dataSpace.value.defaultExecutionContext,
608
- `Can't include data product '${protocol.includedDataSpace}' in a mapping: 'defaultExecutionContext' is required`,
757
+ `Can't include data space '${protocol.includedDataSpace}' in a mapping: 'defaultExecutionContext' is required`,
609
758
  );
610
759
  const includedMapping = new MappingIncludeDataSpace(
611
760
  parentMapping,
612
761
  guaranteeNonNullable(
613
762
  defaultExecutionContext.mapping,
614
- `Can't include data product '${protocol.includedDataSpace}' in a mapping: default execution context 'mapping' is required`,
763
+ `Can't include data space '${protocol.includedDataSpace}' in a mapping: default execution context 'mapping' is required`,
615
764
  ),
616
765
  dataSpace,
617
766
  );
@@ -83,8 +83,10 @@ import {
83
83
  V1_DataSpaceMappingProvider,
84
84
  V1_DataSpaceSupportCombinedInfo,
85
85
  V1_DataSpaceSupportEmail,
86
+ V1_DataSpaceSupportFullInfo,
86
87
  V1_DataSpaceTemplateExecutable,
87
88
  } from '../../../../graph-manager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js';
89
+ import { V1_buildDataSpaceSupportFullInfo } from '../DSL_DataSpace_PureProtocolProcessorPlugin.js';
88
90
  import {
89
91
  DataSpaceAnalysisResult,
90
92
  DataSpaceExecutableAnalysisResult,
@@ -195,7 +197,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
195
197
  ec.mapping?.path === currentQuery.mapping &&
196
198
  ec.defaultRuntime?.path === currentQuery.runtime,
197
199
  )[0]?.name,
198
- 'can`t find a corresponding executatin key based on query`s mapping and runtime in data product',
200
+ 'can`t find a corresponding executatin key based on query`s mapping and runtime in data space',
199
201
  );
200
202
  }
201
203
 
@@ -227,7 +229,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
227
229
  } else {
228
230
  actionState?.setMessage('Fetching project entities and dependencies...');
229
231
  const entities = await entitiesRetriever();
230
- actionState?.setMessage('Analyzing data product...');
232
+ actionState?.setMessage('Analyzing data space...');
231
233
  analysisResult = await engineClient.postWithTracing<
232
234
  PlainObject<V1_DataSpaceAnalysisResult>
233
235
  >(
@@ -350,7 +352,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
350
352
  analysisResult = result;
351
353
  } else {
352
354
  throw new GraphBuilderError(
353
- 'Fail to get a valid data product analytics json from metadata, start building full graph',
355
+ 'Fail to get a valid data space analytics json from metadata, start building full graph',
354
356
  );
355
357
  }
356
358
  const plugins =
@@ -402,14 +404,14 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
402
404
  let cacheResult: PlainObject<V1_DataSpaceAnalysisResult> | undefined;
403
405
  try {
404
406
  actionState?.setMessage(
405
- 'Fetching data product analysis result from cache...',
407
+ 'Fetching data space analysis result from cache...',
406
408
  );
407
409
  cacheResult = await cacheRetriever();
408
410
  } catch (error) {
409
411
  assertErrorThrown(error);
410
412
  this.graphManager.logService.warn(
411
413
  LogEvent.create(GRAPH_MANAGER_EVENT.CACHE_MANAGER_FAILURE),
412
- `Can't fetch data product analysis result cache: ${error.message}`,
414
+ `Can't fetch data space analysis result cache: ${error.message}`,
413
415
  );
414
416
  }
415
417
  return cacheResult;
@@ -421,13 +423,13 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
421
423
  ): Promise<PlainObject<StoredFileGeneration>[]> {
422
424
  let cacheResult: PlainObject<StoredFileGeneration>[] = [];
423
425
  try {
424
- actionState?.setMessage('Fetching data product artifacts from cache...');
426
+ actionState?.setMessage('Fetching data space artifacts from cache...');
425
427
  cacheResult = await cacheRetriever();
426
428
  } catch (error) {
427
429
  assertErrorThrown(error);
428
430
  this.graphManager.logService.warn(
429
431
  LogEvent.create(GRAPH_MANAGER_EVENT.CACHE_MANAGER_FAILURE),
430
- `Can't fetch data product artifacts cache: ${error.message}`,
432
+ `Can't fetch data space artifacts cache: ${error.message}`,
431
433
  );
432
434
  }
433
435
  return cacheResult;
@@ -593,7 +595,7 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
593
595
  analysisResult.supportInfo.documentationUrl;
594
596
  supportEmail.address = guaranteeNonEmptyString(
595
597
  analysisResult.supportInfo.address,
596
- `Data product support email 'address' field is missing or empty`,
598
+ `Data space support email 'address' field is missing or empty`,
597
599
  );
598
600
  result.supportInfo = supportEmail;
599
601
  } else if (
@@ -607,6 +609,12 @@ export class V1_DSL_DataSpace_PureGraphManagerExtension extends DSL_DataSpace_Pu
607
609
  combinedInfo.supportUrl = analysisResult.supportInfo.supportUrl;
608
610
  combinedInfo.emails = analysisResult.supportInfo.emails;
609
611
  result.supportInfo = combinedInfo;
612
+ } else if (
613
+ analysisResult.supportInfo instanceof V1_DataSpaceSupportFullInfo
614
+ ) {
615
+ result.supportInfo = V1_buildDataSpaceSupportFullInfo(
616
+ analysisResult.supportInfo,
617
+ );
610
618
  }
611
619
  // NOTE: we will relax the check and not throw here for unknown support info type
612
620
  }
@@ -17,7 +17,14 @@
17
17
  "name": "DataSpaceInfo",
18
18
  "package": "meta::pure::metamodel::dataSpace::profiles",
19
19
  "stereotypes": ["Verified", "InDevelopment", "External"],
20
- "tags": ["deprecationNotice", "relatedDataSpaces", "topics"]
20
+ "tags": [
21
+ "deprecationNotice",
22
+ "relatedDataSpaces",
23
+ "topics",
24
+ "vendorLicenseStatus",
25
+ "vendorRelationshipOwner",
26
+ "vendorProviderName"
27
+ ]
21
28
  }
22
29
  ]
23
30
  }
@@ -454,7 +454,7 @@ const V1_deserializeDataSpaceExecutableInfo = (
454
454
  );
455
455
  default:
456
456
  throw new UnsupportedOperationError(
457
- `Can't deserialize data product executable info of type '${json._type}'`,
457
+ `Can't deserialize data space executable info of type '${json._type}'`,
458
458
  );
459
459
  }
460
460
  };
@@ -505,7 +505,7 @@ const V1_deserializeDataSpaceExecutableResult = (
505
505
  );
506
506
  default:
507
507
  throw new UnsupportedOperationError(
508
- `Can't deserialize data product executable result of type '${json._type}'`,
508
+ `Can't deserialize data space executable result of type '${json._type}'`,
509
509
  );
510
510
  }
511
511
  };
@@ -22,6 +22,7 @@ import {
22
22
  type V1_PackageableElementVisitor,
23
23
  type V1_StereotypePtr,
24
24
  type V1_TaggedValue,
25
+ type V1_DataProductOperationalMetadata,
25
26
  V1_PackageableElement,
26
27
  type V1_DataElementReference,
27
28
  } from '@finos/legend-graph';
@@ -185,6 +186,70 @@ export class V1_DataSpaceSupportCombinedInfo
185
186
  }
186
187
  }
187
188
 
189
+ export class V1_DataSpaceLink implements Hashable {
190
+ label?: string | undefined;
191
+ url!: string;
192
+
193
+ get hashCode(): string {
194
+ return hashArray([
195
+ DATA_SPACE_HASH_STRUCTURE.DATA_SPACE_LINK,
196
+ this.label ?? '',
197
+ this.url,
198
+ ]);
199
+ }
200
+ }
201
+
202
+ export class V1_DataSpaceEmail implements Hashable {
203
+ title!: string;
204
+ address!: string;
205
+
206
+ get hashCode(): string {
207
+ return hashArray([
208
+ DATA_SPACE_HASH_STRUCTURE.DATA_SPACE_EMAIL,
209
+ this.title,
210
+ this.address,
211
+ ]);
212
+ }
213
+ }
214
+
215
+ export class V1_DataSpaceExpertise implements Hashable {
216
+ description?: string | undefined;
217
+ expertIds?: string[] | undefined;
218
+
219
+ get hashCode(): string {
220
+ return hashArray([
221
+ DATA_SPACE_HASH_STRUCTURE.DATA_SPACE_EXPERTISE,
222
+ this.description ?? '',
223
+ hashArray(this.expertIds ?? []),
224
+ ]);
225
+ }
226
+ }
227
+
228
+ export class V1_DataSpaceSupportFullInfo
229
+ extends V1_DataSpaceSupportInfo
230
+ implements Hashable
231
+ {
232
+ documentation?: V1_DataSpaceLink | undefined;
233
+ website?: V1_DataSpaceLink | undefined;
234
+ faqUrl?: V1_DataSpaceLink | undefined;
235
+ supportUrl?: V1_DataSpaceLink | undefined;
236
+ emails?: V1_DataSpaceEmail[] | undefined;
237
+ expertise?: V1_DataSpaceExpertise[] | undefined;
238
+
239
+ get hashCode(): string {
240
+ return hashArray([
241
+ DATA_SPACE_HASH_STRUCTURE.DATA_SPACE_SUPPORT_FULL_INFO,
242
+ this.documentationUrl ?? '',
243
+ this.documentation ?? '',
244
+ this.website ?? '',
245
+ this.faqUrl ?? '',
246
+ this.supportUrl ?? '',
247
+ hashArray(this.emails ?? []),
248
+ hashArray(this.expertise ?? []),
249
+ ]);
250
+ }
251
+ }
252
+
188
253
  export class V1_DataSpace extends V1_PackageableElement implements Hashable {
189
254
  stereotypes: V1_StereotypePtr[] = [];
190
255
  taggedValues: V1_TaggedValue[] = [];
@@ -196,6 +261,7 @@ export class V1_DataSpace extends V1_PackageableElement implements Hashable {
196
261
  executables?: V1_DataSpaceExecutable[] | undefined;
197
262
  diagrams?: V1_DataSpaceDiagram[] | undefined;
198
263
  supportInfo?: V1_DataSpaceSupportInfo | undefined;
264
+ operationalMetadata?: V1_DataProductOperationalMetadata | undefined;
199
265
 
200
266
  override get hashCode(): string {
201
267
  return hashArray([
@@ -210,6 +276,7 @@ export class V1_DataSpace extends V1_PackageableElement implements Hashable {
210
276
  hashArray(this.executables ?? []),
211
277
  hashArray(this.diagrams ?? []),
212
278
  this.supportInfo ?? '',
279
+ this.operationalMetadata ?? '',
213
280
  ]);
214
281
  }
215
282