@finos/legend-extension-dsl-data-space 9.0.48 → 9.1.1

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 (142) hide show
  1. package/lib/DSL_DataSpace_Const.d.ts +1 -0
  2. package/lib/DSL_DataSpace_Const.d.ts.map +1 -1
  3. package/lib/DSL_DataSpace_Const.js +2 -1
  4. package/lib/DSL_DataSpace_Const.js.map +1 -1
  5. package/lib/{stores/query/DSL_DataSpace_LegendQueryRouter.d.ts → application/query/DSL_DataSpace_LegendQueryNavigation.d.ts} +12 -11
  6. package/lib/application/query/DSL_DataSpace_LegendQueryNavigation.d.ts.map +1 -0
  7. package/lib/{stores/query/DSL_DataSpace_LegendQueryRouter.js → application/query/DSL_DataSpace_LegendQueryNavigation.js} +13 -12
  8. package/lib/application/query/DSL_DataSpace_LegendQueryNavigation.js.map +1 -0
  9. package/lib/{components/studio/DSL_DataSpace_CodeSnippets.d.ts → application/studio/DSL_DataSpace_LegendStudioCodeSnippet.d.ts} +2 -2
  10. package/lib/application/studio/DSL_DataSpace_LegendStudioCodeSnippet.d.ts.map +1 -0
  11. package/lib/{components/studio/DSL_DataSpace_CodeSnippets.js → application/studio/DSL_DataSpace_LegendStudioCodeSnippet.js} +5 -1
  12. package/lib/application/studio/DSL_DataSpace_LegendStudioCodeSnippet.js.map +1 -0
  13. package/lib/application/studio/DSL_DataSpace_LegendStudioDocumentation.d.ts.map +1 -0
  14. package/lib/application/studio/DSL_DataSpace_LegendStudioDocumentation.js.map +1 -0
  15. package/lib/application/studio/DSL_DataSpace_LegendStudioNavigation.d.ts +28 -0
  16. package/lib/application/studio/DSL_DataSpace_LegendStudioNavigation.d.ts.map +1 -0
  17. package/lib/application/studio/DSL_DataSpace_LegendStudioNavigation.js +30 -0
  18. package/lib/application/studio/DSL_DataSpace_LegendStudioNavigation.js.map +1 -0
  19. package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js +2 -1
  20. package/lib/components/DSL_DataSpace_LegendApplicationPlugin.js.map +1 -1
  21. package/lib/components/DataSpaceViewer.d.ts.map +1 -1
  22. package/lib/components/DataSpaceViewer.js +126 -34
  23. package/lib/components/DataSpaceViewer.js.map +1 -1
  24. package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.d.ts.map +1 -1
  25. package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.js +3 -3
  26. package/lib/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.js.map +1 -1
  27. package/lib/components/query/DataSpaceQueryBuilder.d.ts.map +1 -1
  28. package/lib/components/query/DataSpaceQueryBuilder.js +6 -4
  29. package/lib/components/query/DataSpaceQueryBuilder.js.map +1 -1
  30. package/lib/components/query/DataSpaceQueryCreator.d.ts.map +1 -1
  31. package/lib/components/query/DataSpaceQueryCreator.js +8 -9
  32. package/lib/components/query/DataSpaceQueryCreator.js.map +1 -1
  33. package/lib/components/query/DataSpaceQuerySetup.d.ts.map +1 -1
  34. package/lib/components/query/DataSpaceQuerySetup.js +2 -1
  35. package/lib/components/query/DataSpaceQuerySetup.js.map +1 -1
  36. package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts +5 -1
  37. package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.d.ts.map +1 -1
  38. package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.js +41 -2
  39. package/lib/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.js.map +1 -1
  40. package/lib/components/studio/DataSpacePreview.d.ts +20 -0
  41. package/lib/components/studio/DataSpacePreview.d.ts.map +1 -0
  42. package/lib/components/studio/DataSpacePreview.js +52 -0
  43. package/lib/components/studio/DataSpacePreview.js.map +1 -0
  44. package/lib/components/studio/DataSpacePreviewAction.d.ts +26 -0
  45. package/lib/components/studio/DataSpacePreviewAction.d.ts.map +1 -0
  46. package/lib/components/studio/DataSpacePreviewAction.js +46 -0
  47. package/lib/components/studio/DataSpacePreviewAction.js.map +1 -0
  48. package/lib/graph/DSL_DataSpace_HashUtils.d.ts +2 -0
  49. package/lib/graph/DSL_DataSpace_HashUtils.d.ts.map +1 -1
  50. package/lib/graph/DSL_DataSpace_HashUtils.js +2 -0
  51. package/lib/graph/DSL_DataSpace_HashUtils.js.map +1 -1
  52. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts +5 -3
  53. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.d.ts.map +1 -1
  54. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js +6 -4
  55. package/lib/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js.map +1 -1
  56. package/lib/graphManager/action/analytics/DataSpaceAnalysis.d.ts +10 -0
  57. package/lib/graphManager/action/analytics/DataSpaceAnalysis.d.ts.map +1 -1
  58. package/lib/graphManager/action/analytics/DataSpaceAnalysis.js +18 -0
  59. package/lib/graphManager/action/analytics/DataSpaceAnalysis.js.map +1 -1
  60. package/lib/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.d.ts +57 -0
  61. package/lib/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.d.ts.map +1 -0
  62. package/lib/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.js +209 -0
  63. package/lib/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.js.map +1 -0
  64. package/lib/graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.d.ts.map +1 -1
  65. package/lib/graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js +13 -1
  66. package/lib/graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js.map +1 -1
  67. package/lib/graphManager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.d.ts.map +1 -1
  68. package/lib/graphManager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js +28 -4
  69. package/lib/graphManager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.js.map +1 -1
  70. package/lib/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.d.ts +24 -0
  71. package/lib/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.d.ts.map +1 -1
  72. package/lib/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js +79 -3
  73. package/lib/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.js.map +1 -1
  74. package/lib/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts +3 -2
  75. package/lib/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.d.ts.map +1 -1
  76. package/lib/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js +6 -4
  77. package/lib/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.js.map +1 -1
  78. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.d.ts.map +1 -1
  79. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js +7 -17
  80. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.js.map +1 -1
  81. package/lib/index.css +2 -2
  82. package/lib/index.css.map +1 -1
  83. package/lib/package.json +4 -4
  84. package/lib/stores/DataSpaceViewerState.d.ts +13 -8
  85. package/lib/stores/DataSpaceViewerState.d.ts.map +1 -1
  86. package/lib/stores/DataSpaceViewerState.js +11 -6
  87. package/lib/stores/DataSpaceViewerState.js.map +1 -1
  88. package/lib/stores/query/DataSpaceAdvancedSearchState.js +1 -1
  89. package/lib/stores/query/DataSpaceAdvancedSearchState.js.map +1 -1
  90. package/lib/stores/query/DataSpaceQueryCreatorStore.d.ts +1 -0
  91. package/lib/stores/query/DataSpaceQueryCreatorStore.d.ts.map +1 -1
  92. package/lib/stores/query/DataSpaceQueryCreatorStore.js +10 -2
  93. package/lib/stores/query/DataSpaceQueryCreatorStore.js.map +1 -1
  94. package/lib/stores/query/DataSpaceQuerySetupStore.js +1 -1
  95. package/lib/stores/query/DataSpaceQuerySetupStore.js.map +1 -1
  96. package/lib/stores/studio/DataSpacePreviewState.d.ts +30 -0
  97. package/lib/stores/studio/DataSpacePreviewState.d.ts.map +1 -0
  98. package/lib/stores/studio/DataSpacePreviewState.js +85 -0
  99. package/lib/stores/studio/DataSpacePreviewState.js.map +1 -0
  100. package/lib/stores/studio/DataSpacePreviewStore.d.ts +34 -0
  101. package/lib/stores/studio/DataSpacePreviewStore.d.ts.map +1 -0
  102. package/lib/stores/studio/DataSpacePreviewStore.js +98 -0
  103. package/lib/stores/studio/DataSpacePreviewStore.js.map +1 -0
  104. package/package.json +15 -15
  105. package/src/DSL_DataSpace_Const.ts +2 -1
  106. package/src/{stores/query/DSL_DataSpace_LegendQueryRouter.ts → application/query/DSL_DataSpace_LegendQueryNavigation.ts} +17 -18
  107. package/src/{components/studio/DSL_DataSpace_CodeSnippets.ts → application/studio/DSL_DataSpace_LegendStudioCodeSnippet.ts} +4 -0
  108. package/src/application/studio/DSL_DataSpace_LegendStudioNavigation.ts +53 -0
  109. package/src/components/DataSpaceViewer.tsx +541 -98
  110. package/src/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.tsx +5 -4
  111. package/src/components/query/DataSpaceQueryBuilder.tsx +6 -4
  112. package/src/components/query/DataSpaceQueryCreator.tsx +12 -23
  113. package/src/components/query/DataSpaceQuerySetup.tsx +2 -1
  114. package/src/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.tsx +52 -2
  115. package/src/components/studio/DataSpacePreview.tsx +129 -0
  116. package/src/components/studio/DataSpacePreviewAction.tsx +127 -0
  117. package/src/graph/DSL_DataSpace_HashUtils.ts +2 -0
  118. package/src/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.ts +15 -4
  119. package/src/graphManager/action/analytics/DataSpaceAnalysis.ts +31 -0
  120. package/src/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.ts +313 -0
  121. package/src/graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.ts +25 -0
  122. package/src/graphManager/protocol/pure/v1/V1_DSL_DataSpace_PureGraphManagerExtension.ts +66 -3
  123. package/src/graphManager/protocol/pure/v1/engine/analytics/V1_DataSpaceAnalysis.ts +110 -1
  124. package/src/graphManager/protocol/pure/v1/model/packageableElements/dataSpace/V1_DSL_DataSpace_DataSpace.ts +6 -4
  125. package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.ts +13 -53
  126. package/src/stores/DataSpaceViewerState.ts +25 -14
  127. package/src/stores/query/DataSpaceAdvancedSearchState.ts +1 -1
  128. package/src/stores/query/DataSpaceQueryCreatorStore.ts +13 -1
  129. package/src/stores/query/DataSpaceQuerySetupStore.ts +1 -1
  130. package/src/stores/studio/DataSpacePreviewState.ts +150 -0
  131. package/src/stores/studio/DataSpacePreviewStore.ts +172 -0
  132. package/tsconfig.json +10 -5
  133. package/tsconfig.package.json +1 -2
  134. package/lib/components/studio/DSL_DataSpace_CodeSnippets.d.ts.map +0 -1
  135. package/lib/components/studio/DSL_DataSpace_CodeSnippets.js.map +0 -1
  136. package/lib/components/studio/DSL_DataSpace_LegendStudioDocumentation.d.ts.map +0 -1
  137. package/lib/components/studio/DSL_DataSpace_LegendStudioDocumentation.js.map +0 -1
  138. package/lib/stores/query/DSL_DataSpace_LegendQueryRouter.d.ts.map +0 -1
  139. package/lib/stores/query/DSL_DataSpace_LegendQueryRouter.js.map +0 -1
  140. /package/lib/{components → application}/studio/DSL_DataSpace_LegendStudioDocumentation.d.ts +0 -0
  141. /package/lib/{components → application}/studio/DSL_DataSpace_LegendStudioDocumentation.js +0 -0
  142. /package/src/{components → application}/studio/DSL_DataSpace_LegendStudioDocumentation.ts +0 -0
@@ -32,12 +32,11 @@ import {
32
32
  } from '@finos/legend-graph';
33
33
  import {
34
34
  type PlainObject,
35
- deserializeArray,
36
- serializeArray,
37
35
  UnsupportedOperationError,
38
36
  usingConstantValueSchema,
39
37
  usingModelSchema,
40
- optionalCustom,
38
+ optionalCustomListWithSchema,
39
+ customListWithSchema,
41
40
  } from '@finos/legend-shared';
42
41
  import {
43
42
  type V1_DataSpaceSupportInfo,
@@ -99,63 +98,24 @@ export const V1_dataSpaceModelSchema = createModelSchema(V1_DataSpace, {
99
98
  _type: usingConstantValueSchema(V1_DATA_SPACE_ELEMENT_PROTOCOL_TYPE),
100
99
  defaultExecutionContext: primitive(),
101
100
  description: optional(primitive()),
101
+ elements: optionalCustomListWithSchema(
102
+ V1_packageableElementPointerDeserializerSchema,
103
+ ),
102
104
  executionContexts: list(object(V1_dataSpaceExecutionContextModelSchema)),
103
- featuredDiagrams: optionalCustom(
104
- (values) =>
105
- serializeArray(
106
- values,
107
- (value) =>
108
- serialize(V1_packageableElementPointerDeserializerSchema, value),
109
- {
110
- skipIfEmpty: true,
111
- INTERNAL__forceReturnEmptyInTest: true,
112
- },
113
- ),
114
- (values) =>
115
- deserializeArray(
116
- values,
117
- (value) =>
118
- deserialize(V1_packageableElementPointerDeserializerSchema, value),
119
- {
120
- skipIfEmpty: false,
121
- },
122
- ),
105
+ featuredDiagrams: optionalCustomListWithSchema(
106
+ V1_packageableElementPointerDeserializerSchema,
123
107
  ),
124
108
  name: primitive(),
125
109
  package: primitive(),
126
- stereotypes: custom(
127
- (values) =>
128
- serializeArray(
129
- values,
130
- (value) => serialize(V1_stereotypePtrSchema, value),
131
- {
132
- skipIfEmpty: true,
133
- INTERNAL__forceReturnEmptyInTest: true,
134
- },
135
- ),
136
- (values) =>
137
- deserializeArray(values, (v) => deserialize(V1_stereotypePtrSchema, v), {
138
- skipIfEmpty: false,
139
- }),
140
- ),
110
+ stereotypes: customListWithSchema(V1_stereotypePtrSchema, {
111
+ INTERNAL__forceReturnEmptyInTest: true,
112
+ }),
141
113
  supportInfo: custom(
142
114
  (val) => V1_serializeSupportInfo(val),
143
115
  (val) => V1_deserializeSupportInfo(val),
144
116
  ),
145
- taggedValues: custom(
146
- (values) =>
147
- serializeArray(
148
- values,
149
- (value) => serialize(V1_taggedValueSchema, value),
150
- {
151
- skipIfEmpty: true,
152
- INTERNAL__forceReturnEmptyInTest: true,
153
- },
154
- ),
155
- (values) =>
156
- deserializeArray(values, (v) => deserialize(V1_taggedValueSchema, v), {
157
- skipIfEmpty: false,
158
- }),
159
- ),
117
+ taggedValues: customListWithSchema(V1_taggedValueSchema, {
118
+ INTERNAL__forceReturnEmptyInTest: true,
119
+ }),
160
120
  title: optional(primitive()),
161
121
  });
@@ -36,7 +36,9 @@ import type {
36
36
  } from '../graphManager/action/analytics/DataSpaceAnalysis.js';
37
37
 
38
38
  export enum DATA_SPACE_VIEWER_ACTIVITY_MODE {
39
- MODELS_OVERVIEW = 'MODELS_OVERVIEW',
39
+ OVERVIEW = 'OVERVIEW',
40
+ DOCUMENTATION = 'DOCUMENTATION',
41
+ USAGE_SHOWCASE = 'USAGE SHOWCASE',
40
42
  EXECUTION = 'EXECUTION',
41
43
  ENTITLEMENT = 'ENTITLEMENT',
42
44
  TEST_DATA = 'TEST_DATA',
@@ -49,28 +51,30 @@ export class DataSpaceViewerState {
49
51
  readonly applicationStore: GenericLegendApplicationStore;
50
52
  readonly graphManagerState: BasicGraphManagerState;
51
53
 
52
- groupId: string;
53
- artifactId: string;
54
- versionId: string;
55
- dataSpaceAnalysisResult: DataSpaceAnalysisResult;
56
- _renderer?: DiagramRenderer | undefined;
57
- currentDiagram?: Diagram | undefined;
58
- currentActivity = DATA_SPACE_VIEWER_ACTIVITY_MODE.MODELS_OVERVIEW;
59
- currentExecutionContext: DataSpaceExecutionContextAnalysisResult;
60
- currentRuntime: PackageableRuntime;
61
-
62
- viewProject: (
54
+ readonly groupId: string;
55
+ readonly artifactId: string;
56
+ readonly versionId: string;
57
+ readonly dataSpaceAnalysisResult: DataSpaceAnalysisResult;
58
+ readonly viewProject: (
63
59
  groupId: string,
64
60
  artifactId: string,
65
61
  versionId: string,
66
62
  entityPath: string | undefined,
67
63
  ) => void;
68
- viewSDLCProject: (
64
+ readonly viewSDLCProject: (
69
65
  groupId: string,
70
66
  artifactId: string,
71
67
  entityPath: string | undefined,
72
68
  ) => Promise<void>;
73
- onDiagramClassDoubleClick: (classView: ClassView) => void;
69
+ readonly onDiagramClassDoubleClick: (classView: ClassView) => void;
70
+
71
+ _renderer?: DiagramRenderer | undefined;
72
+ currentDiagram?: Diagram | undefined;
73
+ currentActivity = DATA_SPACE_VIEWER_ACTIVITY_MODE.OVERVIEW;
74
+ currentExecutionContext: DataSpaceExecutionContextAnalysisResult;
75
+ currentRuntime: PackageableRuntime;
76
+
77
+ HACKY__previewExperimentalFeatures = false;
74
78
 
75
79
  constructor(
76
80
  applicationStore: GenericLegendApplicationStore,
@@ -93,6 +97,9 @@ export class DataSpaceViewerState {
93
97
  ) => Promise<void>;
94
98
  onDiagramClassDoubleClick: (classView: ClassView) => void;
95
99
  },
100
+ options?: {
101
+ HACKY__previewExperimentalFeatures?: boolean | undefined;
102
+ },
96
103
  ) {
97
104
  makeObservable(this, {
98
105
  _renderer: observable,
@@ -123,6 +130,9 @@ export class DataSpaceViewerState {
123
130
  this.viewProject = actions.viewProject;
124
131
  this.viewSDLCProject = actions.viewSDLCProject;
125
132
  this.onDiagramClassDoubleClick = actions.onDiagramClassDoubleClick;
133
+ this.HACKY__previewExperimentalFeatures = Boolean(
134
+ options?.HACKY__previewExperimentalFeatures,
135
+ );
126
136
  }
127
137
 
128
138
  get renderer(): DiagramRenderer {
@@ -184,6 +194,7 @@ export class DataSpaceViewerState {
184
194
 
185
195
  setupRenderer(): void {
186
196
  this.renderer.setIsReadOnly(true);
197
+ this.renderer.setEnableLayoutAutoAdjustment(true);
187
198
  this.renderer.onClassViewDoubleClick = (classView: ClassView): void =>
188
199
  this.onDiagramClassDoubleClick(classView);
189
200
  }
@@ -33,7 +33,7 @@ import { action, flow, flowResult, makeObservable, observable } from 'mobx';
33
33
  import { DSL_DataSpace_getGraphManagerExtension } from '../../graphManager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.js';
34
34
  import { DATA_SPACE_ELEMENT_CLASSIFIER_PATH } from '../../graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js';
35
35
  import { DataSpaceViewerState } from '../DataSpaceViewerState.js';
36
- import { generateDataSpaceQueryCreatorRoute } from './DSL_DataSpace_LegendQueryRouter.js';
36
+ import { generateDataSpaceQueryCreatorRoute } from '../../application/query/DSL_DataSpace_LegendQueryNavigation.js';
37
37
  import { type DataSpaceInfo, extractDataSpaceInfo } from './DataSpaceInfo.js';
38
38
  import {
39
39
  DEFAULT_TYPEAHEAD_SEARCH_LIMIT,
@@ -38,12 +38,13 @@ import {
38
38
  } from '@finos/legend-shared';
39
39
  import {
40
40
  QUERY_PROFILE_PATH,
41
+ QUERY_PROFILE_TAG_CLASS,
41
42
  QUERY_PROFILE_TAG_DATA_SPACE,
42
43
  } from '../../DSL_DataSpace_Const.js';
43
44
  import { getDataSpace } from '../../graphManager/DSL_DataSpace_GraphManagerHelper.js';
44
45
  import { DataSpaceQueryBuilderState } from './DataSpaceQueryBuilderState.js';
45
46
  import type { DataSpaceInfo } from './DataSpaceInfo.js';
46
- import { generateDataSpaceQueryCreatorRoute } from './DSL_DataSpace_LegendQueryRouter.js';
47
+ import { generateDataSpaceQueryCreatorRoute } from '../../application/query/DSL_DataSpace_LegendQueryNavigation.js';
47
48
  import type { DataSpaceExecutionContext } from '../../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
48
49
  import type { QueryBuilderState } from '@finos/legend-query-builder';
49
50
  import type { ProjectGAVCoordinates } from '@finos/legend-storage';
@@ -58,6 +59,16 @@ export const createQueryDataSpaceTaggedValue = (
58
59
  return taggedValue;
59
60
  };
60
61
 
62
+ export const createQueryClassTaggedValue = (
63
+ classPath: string,
64
+ ): QueryTaggedValue => {
65
+ const taggedValue = new QueryTaggedValue();
66
+ taggedValue.profile = QUERY_PROFILE_PATH;
67
+ taggedValue.tag = QUERY_PROFILE_TAG_CLASS;
68
+ taggedValue.value = classPath;
69
+ return taggedValue;
70
+ };
71
+
61
72
  export class DataSpaceQueryCreatorStore extends QueryEditorStore {
62
73
  groupId: string;
63
74
  artifactId: string;
@@ -237,6 +248,7 @@ export class DataSpaceQueryCreatorStore extends QueryEditorStore {
237
248
  query.versionId = this.versionId;
238
249
  query.taggedValues = [
239
250
  createQueryDataSpaceTaggedValue(this.dataSpacePath),
251
+ createQueryClassTaggedValue(guaranteeNonNullable(this.classPath)),
240
252
  ];
241
253
  },
242
254
  };
@@ -42,7 +42,7 @@ import {
42
42
  } from '@finos/legend-shared';
43
43
  import { type DataSpaceInfo, extractDataSpaceInfo } from './DataSpaceInfo.js';
44
44
  import { DATA_SPACE_ELEMENT_CLASSIFIER_PATH } from '../../graphManager/protocol/pure/DSL_DataSpace_PureProtocolProcessorPlugin.js';
45
- import { generateDataSpaceQueryCreatorRoute } from './DSL_DataSpace_LegendQueryRouter.js';
45
+ import { generateDataSpaceQueryCreatorRoute } from '../../application/query/DSL_DataSpace_LegendQueryNavigation.js';
46
46
  import { renderDataSpaceQuerySetupSetupPanelContent } from '../../components/query/DataSpaceQuerySetup.js';
47
47
  import { DataSpaceAdvancedSearchState } from './DataSpaceAdvancedSearchState.js';
48
48
 
@@ -0,0 +1,150 @@
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 {
18
+ EditorExtensionState,
19
+ queryClass,
20
+ type EditorStore,
21
+ } from '@finos/legend-application-studio';
22
+ import type { ClassView } from '@finos/legend-extension-dsl-diagram';
23
+ import {
24
+ type GeneratorFn,
25
+ guaranteeNonNullable,
26
+ ActionState,
27
+ assertErrorThrown,
28
+ } from '@finos/legend-shared';
29
+ import { action, flow, makeObservable, observable } from 'mobx';
30
+ import type { DataSpace } from '../../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
31
+ import type { DataSpaceAnalysisResult } from '../../graphManager/action/analytics/DataSpaceAnalysis.js';
32
+ import { DSL_DataSpace_getGraphManagerExtension } from '../../graphManager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.js';
33
+ import { DataSpaceViewerState } from '../DataSpaceViewerState.js';
34
+
35
+ export class DataSpacePreviewState extends EditorExtensionState {
36
+ readonly editorStore: EditorStore;
37
+
38
+ readonly loadDataSpaceState = ActionState.create();
39
+
40
+ dataSpace?: DataSpace | undefined;
41
+ dataSpaceViewerState?: DataSpaceViewerState | undefined;
42
+
43
+ constructor(editorStore: EditorStore) {
44
+ super();
45
+
46
+ makeObservable(this, {
47
+ dataSpace: observable,
48
+ dataSpaceViewerState: observable,
49
+ setDataSpace: action,
50
+ previewDataSpace: flow,
51
+ });
52
+
53
+ this.editorStore = editorStore;
54
+ }
55
+
56
+ static retrieveState(editorStore: EditorStore): DataSpacePreviewState {
57
+ return guaranteeNonNullable(
58
+ editorStore.editorExtensionStates.find(
59
+ (extensionState): extensionState is DataSpacePreviewState =>
60
+ extensionState instanceof DataSpacePreviewState,
61
+ ),
62
+ `Can't find data space preview state: make sure it is added as an editor extension state`,
63
+ );
64
+ }
65
+
66
+ setDataSpace(val: DataSpace | undefined): void {
67
+ this.dataSpace = val;
68
+ if (val === undefined) {
69
+ this.dataSpaceViewerState = undefined;
70
+ }
71
+ }
72
+
73
+ *previewDataSpace(dataSpace: DataSpace): GeneratorFn<void> {
74
+ this.setDataSpace(dataSpace);
75
+ this.loadDataSpaceState.inProgress();
76
+ this.loadDataSpaceState.setMessage(`Initializing...`);
77
+
78
+ try {
79
+ const groupId =
80
+ this.editorStore.projectConfigurationEditorState
81
+ .currentProjectConfiguration.groupId;
82
+ const artifactId =
83
+ this.editorStore.projectConfigurationEditorState
84
+ .currentProjectConfiguration.artifactId;
85
+ const versionId = 'LOCAL';
86
+
87
+ // analyze data space
88
+ const analysisResult = (yield DSL_DataSpace_getGraphManagerExtension(
89
+ this.editorStore.graphManagerState.graphManager,
90
+ ).analyzeDataSpace(
91
+ dataSpace.path,
92
+ async () =>
93
+ this.editorStore.graphManagerState.graph.allOwnElements
94
+ .map((element) =>
95
+ this.editorStore.graphManagerState.graphManager.elementToEntity(
96
+ element,
97
+ ),
98
+ )
99
+ .concat(
100
+ this.editorStore.graphManagerState.graph.dependencyManager.allOwnElements.map(
101
+ (element) =>
102
+ this.editorStore.graphManagerState.graphManager.elementToEntity(
103
+ element,
104
+ ),
105
+ ),
106
+ ),
107
+ undefined,
108
+ this.loadDataSpaceState,
109
+ )) as DataSpaceAnalysisResult;
110
+
111
+ this.dataSpaceViewerState = new DataSpaceViewerState(
112
+ this.editorStore.applicationStore,
113
+ this.editorStore.graphManagerState,
114
+ groupId,
115
+ artifactId,
116
+ versionId,
117
+ analysisResult,
118
+ {
119
+ viewProject: () => {
120
+ this.editorStore.applicationStore.notificationService.notifyWarning(
121
+ 'This feature is not supported in preview mode',
122
+ );
123
+ },
124
+ viewSDLCProject: async () => {
125
+ this.editorStore.applicationStore.notificationService.notifyWarning(
126
+ 'This feature is not supported in preview mode',
127
+ );
128
+ },
129
+ onDiagramClassDoubleClick: (classView: ClassView): void => {
130
+ queryClass(classView.class.value, this.editorStore).catch(
131
+ this.editorStore.applicationStore.alertUnhandledError,
132
+ );
133
+ },
134
+ },
135
+ {
136
+ HACKY__previewExperimentalFeatures:
137
+ this.editorStore.applicationStore.config.options
138
+ .HACKY__previewExperimentalFeatures,
139
+ },
140
+ );
141
+ this.loadDataSpaceState.pass();
142
+ } catch (error) {
143
+ assertErrorThrown(error);
144
+ this.loadDataSpaceState.fail();
145
+ this.editorStore.applicationStore.notificationService.notifyError(error);
146
+ } finally {
147
+ this.loadDataSpaceState.setMessage(undefined);
148
+ }
149
+ }
150
+ }
@@ -0,0 +1,172 @@
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 {
18
+ retrieveProjectEntitiesWithDependencies,
19
+ type DepotServerClient,
20
+ ProjectData,
21
+ } from '@finos/legend-server-depot';
22
+ import type { LegendStudioApplicationStore } from '@finos/legend-application-studio';
23
+ import {
24
+ ActionState,
25
+ assertErrorThrown,
26
+ type GeneratorFn,
27
+ type PlainObject,
28
+ } from '@finos/legend-shared';
29
+ import { flow, flowResult, makeObservable, observable } from 'mobx';
30
+ import { DataSpaceViewerState } from '../DataSpaceViewerState.js';
31
+ import { DSL_DataSpace_getGraphManagerExtension } from '../../graphManager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.js';
32
+ import { BasicGraphManagerState } from '@finos/legend-graph';
33
+ import { retrieveAnalyticsResultCache } from '../../graphManager/action/analytics/DataSpaceAnalysisHelper.js';
34
+ import type { DataSpaceAnalysisResult } from '../../graphManager/action/analytics/DataSpaceAnalysis.js';
35
+ import type { ClassView } from '@finos/legend-extension-dsl-diagram';
36
+ import { TAB_SIZE } from '@finos/legend-application';
37
+
38
+ export class DataSpacePreviewStore {
39
+ readonly applicationStore: LegendStudioApplicationStore;
40
+ readonly depotServerClient: DepotServerClient;
41
+ readonly graphManagerState: BasicGraphManagerState;
42
+
43
+ readonly groupId: string;
44
+ readonly artifactId: string;
45
+ readonly versionId: string;
46
+ readonly dataSpacePath: string;
47
+
48
+ readonly loadDataSpaceState = ActionState.create();
49
+ dataSpaceViewerState?: DataSpaceViewerState | undefined;
50
+
51
+ constructor(
52
+ applicationStore: LegendStudioApplicationStore,
53
+ depotServerClient: DepotServerClient,
54
+ groupId: string,
55
+ artifactId: string,
56
+ versionId: string,
57
+ dataSpacePath: string,
58
+ ) {
59
+ makeObservable(this, {
60
+ dataSpaceViewerState: observable,
61
+ initialize: flow,
62
+ });
63
+
64
+ this.applicationStore = applicationStore;
65
+ this.applicationStore.assistantService.setIsHidden(true);
66
+
67
+ this.depotServerClient = depotServerClient;
68
+ this.graphManagerState = new BasicGraphManagerState(
69
+ applicationStore.pluginManager,
70
+ applicationStore.logService,
71
+ );
72
+
73
+ this.groupId = groupId;
74
+ this.artifactId = artifactId;
75
+ this.versionId = versionId;
76
+ this.dataSpacePath = dataSpacePath;
77
+ }
78
+
79
+ *initialize(): GeneratorFn<void> {
80
+ this.loadDataSpaceState.inProgress();
81
+ this.loadDataSpaceState.setMessage(`Initializing...`);
82
+
83
+ try {
84
+ const groupId = this.groupId;
85
+ const artifactId = this.artifactId;
86
+ const versionId = this.versionId;
87
+
88
+ // initialize
89
+ yield this.graphManagerState.graphManager.initialize(
90
+ {
91
+ env: this.applicationStore.config.env,
92
+ tabSize: TAB_SIZE,
93
+ clientConfig: {
94
+ baseUrl: this.applicationStore.config.engineServerUrl,
95
+ queryBaseUrl: this.applicationStore.config.engineQueryServerUrl,
96
+ enableCompression: true,
97
+ },
98
+ },
99
+ {
100
+ tracerService: this.applicationStore.tracerService,
101
+ },
102
+ );
103
+
104
+ // fetch project
105
+ this.loadDataSpaceState.setMessage(`Fetching project...`);
106
+ const project = ProjectData.serialization.fromJson(
107
+ (yield flowResult(
108
+ this.depotServerClient.getProject(groupId, artifactId),
109
+ )) as PlainObject<ProjectData>,
110
+ );
111
+
112
+ // analyze data space
113
+ const analysisResult = (yield DSL_DataSpace_getGraphManagerExtension(
114
+ this.graphManagerState.graphManager,
115
+ ).analyzeDataSpace(
116
+ this.dataSpacePath,
117
+ () =>
118
+ retrieveProjectEntitiesWithDependencies(
119
+ project,
120
+ versionId,
121
+ this.depotServerClient,
122
+ ),
123
+ () =>
124
+ retrieveAnalyticsResultCache(
125
+ project,
126
+ versionId,
127
+ this.dataSpacePath,
128
+ this.depotServerClient,
129
+ ),
130
+ this.loadDataSpaceState,
131
+ )) as DataSpaceAnalysisResult;
132
+
133
+ this.dataSpaceViewerState = new DataSpaceViewerState(
134
+ this.applicationStore,
135
+ this.graphManagerState,
136
+ groupId,
137
+ artifactId,
138
+ versionId,
139
+ analysisResult,
140
+ {
141
+ viewProject: () => {
142
+ this.applicationStore.notificationService.notifyWarning(
143
+ 'This feature is not supported in preview mode',
144
+ );
145
+ },
146
+ viewSDLCProject: async () => {
147
+ this.applicationStore.notificationService.notifyWarning(
148
+ 'This feature is not supported in preview mode',
149
+ );
150
+ },
151
+ onDiagramClassDoubleClick: (classView: ClassView): void => {
152
+ this.applicationStore.notificationService.notifyWarning(
153
+ 'This feature is not supported in preview mode',
154
+ );
155
+ },
156
+ },
157
+ {
158
+ HACKY__previewExperimentalFeatures:
159
+ this.applicationStore.config.options
160
+ .HACKY__previewExperimentalFeatures,
161
+ },
162
+ );
163
+ this.loadDataSpaceState.pass();
164
+ } catch (error) {
165
+ assertErrorThrown(error);
166
+ this.loadDataSpaceState.fail();
167
+ this.applicationStore.notificationService.notifyError(error);
168
+ } finally {
169
+ this.loadDataSpaceState.setMessage(undefined);
170
+ }
171
+ }
172
+ }
package/tsconfig.json CHANGED
@@ -15,8 +15,7 @@
15
15
  "module": "nodenext",
16
16
  "skipLibCheck": true,
17
17
  "resolveJsonModule": true,
18
- "isolatedModules": true,
19
- "importsNotUsedAsValues": "error",
18
+ "verbatimModuleSyntax": true,
20
19
  "strict": true,
21
20
  "noImplicitOverride": true,
22
21
  "noUncheckedIndexedAccess": true,
@@ -36,9 +35,11 @@
36
35
  "./src/DSL_DataSpace_Const.ts",
37
36
  "./src/DSL_DataSpace_Extension.ts",
38
37
  "./src/index.ts",
38
+ "./src/application/query/DSL_DataSpace_LegendQueryNavigation.ts",
39
+ "./src/application/studio/DSL_DataSpace_LegendStudioCodeSnippet.ts",
40
+ "./src/application/studio/DSL_DataSpace_LegendStudioDocumentation.ts",
41
+ "./src/application/studio/DSL_DataSpace_LegendStudioNavigation.ts",
39
42
  "./src/components/DSL_DataSpace_LegendApplicationPlugin.ts",
40
- "./src/components/studio/DSL_DataSpace_CodeSnippets.ts",
41
- "./src/components/studio/DSL_DataSpace_LegendStudioDocumentation.ts",
42
43
  "./src/graph/DSL_DataSpace_HashUtils.ts",
43
44
  "./src/graph/DSL_DataSpace_PureGraphPlugin.ts",
44
45
  "./src/graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.ts",
@@ -46,6 +47,7 @@
46
47
  "./src/graphManager/DSL_DataSpace_PureGraphManagerPlugin.ts",
47
48
  "./src/graphManager/action/analytics/DataSpaceAnalysis.ts",
48
49
  "./src/graphManager/action/analytics/DataSpaceAnalysisHelper.ts",
50
+ "./src/graphManager/action/analytics/HACKY__DataSpaceUsageShowcase.ts",
49
51
  "./src/graphManager/action/changeDetection/DSL_DataSpace_ObserverHelper.ts",
50
52
  "./src/graphManager/protocol/pure/DSL_DataSpace_PureGraphManagerExtension.ts",
51
53
  "./src/graphManager/protocol/pure/DSL_DataSpace_PureGraphManagerExtensionBuilder.ts",
@@ -56,12 +58,13 @@
56
58
  "./src/graphManager/protocol/pure/v1/transformation/pureGraph/V1_DSL_DataSpace_GraphBuilderHelper.ts",
57
59
  "./src/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataSpace_ProtocolHelper.ts",
58
60
  "./src/stores/DataSpaceViewerState.ts",
59
- "./src/stores/query/DSL_DataSpace_LegendQueryRouter.ts",
60
61
  "./src/stores/query/DataSpaceAdvancedSearchState.ts",
61
62
  "./src/stores/query/DataSpaceInfo.ts",
62
63
  "./src/stores/query/DataSpaceQueryBuilderState.ts",
63
64
  "./src/stores/query/DataSpaceQueryCreatorStore.ts",
64
65
  "./src/stores/query/DataSpaceQuerySetupStore.ts",
66
+ "./src/stores/studio/DataSpacePreviewState.ts",
67
+ "./src/stores/studio/DataSpacePreviewStore.ts",
65
68
  "./src/components/DSL_DataSpace_Icon.tsx",
66
69
  "./src/components/DataSpaceViewer.tsx",
67
70
  "./src/components/query/DSL_DataSpace_LegendQueryApplicationPlugin.tsx",
@@ -70,6 +73,8 @@
70
73
  "./src/components/query/DataSpaceQueryCreator.tsx",
71
74
  "./src/components/query/DataSpaceQuerySetup.tsx",
72
75
  "./src/components/studio/DSL_DataSpace_LegendStudioApplicationPlugin.tsx",
76
+ "./src/components/studio/DataSpacePreview.tsx",
77
+ "./src/components/studio/DataSpacePreviewAction.tsx",
73
78
  "./src/graphManager/protocol/pure/v1/V1_DSL_DataSpace_SystemModels.json"
74
79
  ],
75
80
  "include": [
@@ -15,8 +15,7 @@
15
15
  "module": "nodenext",
16
16
  "skipLibCheck": true,
17
17
  "resolveJsonModule": true,
18
- "isolatedModules": true,
19
- "importsNotUsedAsValues": "error",
18
+ "verbatimModuleSyntax": true,
20
19
  "strict": true,
21
20
  "noImplicitOverride": true,
22
21
  "noUncheckedIndexedAccess": true,
@@ -1 +0,0 @@
1
- {"version":3,"file":"DSL_DataSpace_CodeSnippets.d.ts","sourceRoot":"","sources":["../../../src/components/studio/DSL_DataSpace_CodeSnippets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,yBAAyB,ghBAoBpC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DSL_DataSpace_CodeSnippets.js","sourceRoot":"","sources":["../../../src/components/studio/DSL_DataSpace_CodeSnippets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;EAoBvC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DSL_DataSpace_LegendStudioDocumentation.d.ts","sourceRoot":"","sources":["../../../src/components/studio/DSL_DataSpace_LegendStudioDocumentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,8CAA8C;IACxD,cAAc,iCAAiC;IAC/C,0BAA0B,6CAA6C;CACxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DSL_DataSpace_LegendStudioDocumentation.js","sourceRoot":"","sources":["../../../src/components/studio/DSL_DataSpace_LegendStudioDocumentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,8CAGX;AAHD,WAAY,8CAA8C;IACxD,iGAA+C,CAAA;IAC/C,yHAAuE,CAAA;AACzE,CAAC,EAHW,8CAA8C,GAA9C,8CAA8C,KAA9C,8CAA8C,QAGzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DSL_DataSpace_LegendQueryRouter.d.ts","sourceRoot":"","sources":["../../../src/stores/query/DSL_DataSpace_LegendQueryRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAOhF,oBAAY,yCAAyC;IACnD,eAAe,kBAAkB;IACjC,iBAAiB,qBAAqB;CACvC;AAED,oBAAY,0CAA0C;IACpD,UAAU,UAAU;CACrB;AAED,MAAM,WAAW,+BAA+B;IAC9C,CAAC,6BAA6B,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAC5C,CAAC,yCAAyC,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACpE,CAAC,yCAAyC,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACtE,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC;CACvD;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,CAAC,0CAA0C,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC;CAClE,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;EAGzC,CAAC;AAEH,eAAO,MAAM,gCAAgC,QAAO,MAIjD,CAAC;AAEJ,eAAO,MAAM,kCAAkC,YACpC,MAAM,cACH,MAAM,aACP,MAAM,iBACF,MAAM,uBACA,MAAM,gBACb,MAAM,GAAG,SAAS,cACpB,MAAM,GAAG,SAAS,KAC7B,MAsBA,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DSL_DataSpace_LegendQueryRouter.js","sourceRoot":"","sources":["../../../src/stores/query/DSL_DataSpace_LegendQueryRouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,2BAA2B,EAC3B,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAN,IAAY,yCAGX;AAHD,WAAY,yCAAyC;IACnD,8EAAiC,CAAA;IACjC,mFAAsC,CAAA;AACxC,CAAC,EAHW,yCAAyC,GAAzC,yCAAyC,KAAzC,yCAAyC,QAGpD;AAED,MAAM,CAAN,IAAY,0CAEX;AAFD,WAAY,0CAA0C;IACpD,kEAAoB,CAAA;AACtB,CAAC,EAFW,0CAA0C,GAA1C,0CAA0C,KAA1C,0CAA0C,QAErD;AAaD,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,eAAe,6BAA6B,CAAC,GAAG,KAAK,yCAAyC,CAAC,eAAe,KAAK,yCAAyC,CAAC,iBAAiB,KAAK,6BAA6B,CAAC,YAAY,GAAG;CACzO,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAW,EAAE,CAC3D,YAAY,CACV,2BAA2B,CAAC,8BAA8B,CAAC,KAAK,CAAC,EACjE,EAAE,CACH,CAAC;AAEJ,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,OAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,aAAqB,EACrB,mBAA2B,EAC3B,WAAgC,EAChC,SAA8B,EACtB,EAAE,CACV,yBAAyB,CACvB,YAAY,CACV,2BAA2B,CAAC,8BAA8B,CAAC,MAAM,CAAC,EAClE;IACE,CAAC,6BAA6B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CACzD,OAAO,EACP,UAAU,EACV,SAAS,CACV;IACD,CAAC,yCAAyC,CAAC,eAAe,CAAC,EACzD,aAAa;IACf,CAAC,yCAAyC,CAAC,iBAAiB,CAAC,EAC3D,mBAAmB;IACrB,CAAC,6BAA6B,CAAC,YAAY,CAAC,EAAE,WAAW;CAC1D,CACF,EACD,oBAAoB,CAAC;IACnB,CAAC,0CAA0C,CAAC,UAAU,CAAC,EAAE,SAAS;QAChE,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAC/B,CAAC,CAAC,SAAS;CACd,CAAC,CACH,CAAC"}