@finos/legend-extension-dsl-data-space 10.4.214 → 10.4.216

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.
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright (c) 2026-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
+ import { type TDSServiceSchema, type LegendAIConfig } from '@finos/legend-lego/legend-ai';
17
+ import type { DataSpaceViewerState } from '../stores/DataSpaceViewerState.js';
18
+ export declare function extractTDSServicesFromDataSpace(viewerState: DataSpaceViewerState): Promise<TDSServiceSchema[]>;
19
+ export declare const DataSpaceLegendAIIntegration: ((props: {
20
+ dataSpaceViewerState: DataSpaceViewerState;
21
+ config: LegendAIConfig;
22
+ }) => import("react/jsx-runtime").JSX.Element) & {
23
+ displayName: string;
24
+ };
25
+ //# sourceMappingURL=DataSpaceLegendAIIntegration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSpaceLegendAIIntegration.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceLegendAIIntegration.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAIpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAW9E,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAwD7B;AAwID,eAAO,MAAM,4BAA4B,WAC/B;IACN,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,MAAM,EAAE,cAAc,CAAC;CACxB;;CAKF,CAAC"}
@@ -0,0 +1,162 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2026-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { useState, useEffect, useMemo } from 'react';
18
+ import { observer } from 'mobx-react-lite';
19
+ import { buildLambdaVariableExpressions, VariableExpression, } from '@finos/legend-graph';
20
+ import { filterByType } from '@finos/legend-shared';
21
+ import { LegendAIChat, LegendAIErrorBoundary, findLegendAIPlugin, } from '@finos/legend-lego/legend-ai';
22
+ import { DataSpaceServiceExecutableInfo, DataSpaceMultiExecutionServiceExecutableInfo, DataSpaceExecutableTDSResult, } from '../graph-manager/action/analytics/DataSpaceAnalysis.js';
23
+ import { DataSpaceSupportEmail, DataSpaceSupportCombinedInfo, } from '../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
24
+ export async function extractTDSServicesFromDataSpace(viewerState) {
25
+ const executables = viewerState.dataSpaceAnalysisResult.executables;
26
+ const graphManager = viewerState.graphManagerState.graphManager;
27
+ const nested = await Promise.all(executables.map(async (exec) => {
28
+ if (!(exec.info instanceof DataSpaceServiceExecutableInfo ||
29
+ exec.info instanceof DataSpaceMultiExecutionServiceExecutableInfo) ||
30
+ !(exec.result instanceof DataSpaceExecutableTDSResult)) {
31
+ return [];
32
+ }
33
+ const info = exec.info;
34
+ const tdsResult = exec.result;
35
+ let parameters = [];
36
+ try {
37
+ const rawLambda = await graphManager.pureCodeToLambda(info.query);
38
+ parameters = buildLambdaVariableExpressions(rawLambda, viewerState.graphManagerState)
39
+ .filter(filterByType(VariableExpression))
40
+ .map((v) => v.name);
41
+ }
42
+ catch {
43
+ /* empty */
44
+ }
45
+ const entry = {
46
+ title: exec.title,
47
+ pattern: info.pattern,
48
+ columns: tdsResult.columns.map((col) => {
49
+ const column = { name: col.name };
50
+ if (col.type !== undefined) {
51
+ column.type = col.type;
52
+ }
53
+ if (col.documentation !== undefined) {
54
+ column.documentation = col.documentation;
55
+ }
56
+ if (col.sampleValues !== undefined) {
57
+ column.sampleValues = col.sampleValues;
58
+ }
59
+ return column;
60
+ }),
61
+ parameters,
62
+ };
63
+ if (exec.description !== undefined) {
64
+ entry.description = exec.description;
65
+ }
66
+ return [entry];
67
+ }));
68
+ return nested.flat();
69
+ }
70
+ function extractMetadataFromDataSpace(viewerState, coordinates) {
71
+ const result = viewerState.dataSpaceAnalysisResult;
72
+ let supportInfoText;
73
+ if (result.supportInfo instanceof DataSpaceSupportEmail) {
74
+ supportInfoText = result.supportInfo.address;
75
+ }
76
+ else if (result.supportInfo instanceof DataSpaceSupportCombinedInfo) {
77
+ supportInfoText = (result.supportInfo.emails ?? []).join(', ');
78
+ }
79
+ const metadata = {
80
+ name: result.title ?? result.name,
81
+ coordinates,
82
+ serviceSummaries: result.executables.map((exec) => {
83
+ const summary = {
84
+ title: exec.title,
85
+ };
86
+ if (exec.description !== undefined) {
87
+ summary.description = exec.description;
88
+ }
89
+ return summary;
90
+ }),
91
+ tags: result.taggedValues.map((tv) => ({
92
+ profile: tv.profile,
93
+ value: tv.value,
94
+ })),
95
+ };
96
+ if (result.description !== undefined) {
97
+ metadata.description = result.description;
98
+ }
99
+ if (supportInfoText !== undefined) {
100
+ metadata.supportInfo = supportInfoText;
101
+ }
102
+ return metadata;
103
+ }
104
+ const DataSpaceLegendAIIntegrationInner = observer((props) => {
105
+ const { dataSpaceViewerState, config } = props;
106
+ const legendAIPlugin = useMemo(() => findLegendAIPlugin(dataSpaceViewerState.applicationStore.pluginManager.getApplicationPlugins()), [dataSpaceViewerState]);
107
+ const [services, setServices] = useState([]);
108
+ useEffect(() => {
109
+ let cancelled = false;
110
+ extractTDSServicesFromDataSpace(dataSpaceViewerState)
111
+ .then((result) => {
112
+ if (!cancelled) {
113
+ setServices(result);
114
+ }
115
+ })
116
+ .catch(() => {
117
+ /* empty */
118
+ });
119
+ return () => {
120
+ cancelled = true;
121
+ };
122
+ }, [dataSpaceViewerState]);
123
+ const coordinates = `${dataSpaceViewerState.groupId}:${dataSpaceViewerState.artifactId}:${dataSpaceViewerState.versionId}`;
124
+ const dataProductCoordinates = useMemo(() => ({
125
+ data_product: dataSpaceViewerState.dataSpaceAnalysisResult.path,
126
+ group_id: dataSpaceViewerState.groupId,
127
+ artifact_id: dataSpaceViewerState.artifactId,
128
+ version: dataSpaceViewerState.versionId,
129
+ }), [
130
+ dataSpaceViewerState.dataSpaceAnalysisResult.path,
131
+ dataSpaceViewerState.groupId,
132
+ dataSpaceViewerState.artifactId,
133
+ dataSpaceViewerState.versionId,
134
+ ]);
135
+ const pureExecutionContext = useMemo(() => ({
136
+ mapping: dataSpaceViewerState.currentExecutionContext.mapping.path,
137
+ runtime: dataSpaceViewerState.currentRuntime.path,
138
+ }), [
139
+ dataSpaceViewerState.currentExecutionContext.mapping,
140
+ dataSpaceViewerState.currentRuntime,
141
+ ]);
142
+ const metadata = useMemo(() => {
143
+ try {
144
+ return extractMetadataFromDataSpace(dataSpaceViewerState, coordinates);
145
+ }
146
+ catch {
147
+ return {
148
+ name: 'Unknown',
149
+ coordinates,
150
+ serviceSummaries: [],
151
+ };
152
+ }
153
+ }, [dataSpaceViewerState, coordinates]);
154
+ if (!config.enabled || !legendAIPlugin) {
155
+ return null;
156
+ }
157
+ const dsTitle = dataSpaceViewerState.dataSpaceAnalysisResult.title ??
158
+ dataSpaceViewerState.dataSpaceAnalysisResult.name;
159
+ return (_jsx(LegendAIChat, { services: services, coordinates: coordinates, config: config, metadata: metadata, title: `Ask ${dsTitle}`, plugin: legendAIPlugin, dataProductCoordinates: dataProductCoordinates, pureExecutionContext: pureExecutionContext }));
160
+ });
161
+ export const DataSpaceLegendAIIntegration = observer((props) => (_jsx(LegendAIErrorBoundary, { children: _jsx(DataSpaceLegendAIIntegrationInner, { ...props }) })));
162
+ //# sourceMappingURL=DataSpaceLegendAIIntegration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSpaceLegendAIIntegration.js","sourceRoot":"","sources":["../../src/components/DataSpaceLegendAIIntegration.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,GAOnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,8BAA8B,EAC9B,4CAA4C,EAC5C,4BAA4B,GAC7B,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,wFAAwF,CAAC;AAEhG,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,WAAiC;IAEjC,MAAM,WAAW,GAAG,WAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC;IACpE,MAAM,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAA+B,EAAE;QAC1D,IACE,CAAC,CACC,IAAI,CAAC,IAAI,YAAY,8BAA8B;YACnD,IAAI,CAAC,IAAI,YAAY,4CAA4C,CAClE;YACD,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,4BAA4B,CAAC,EACtD,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9B,IAAI,UAAU,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClE,UAAU,GAAG,8BAA8B,CACzC,SAAS,EACT,WAAW,CAAC,iBAAiB,CAC9B;iBACE,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;iBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;QAED,MAAM,KAAK,GAAqB;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrC,MAAM,MAAM,GAAoB,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;gBACnD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACzB,CAAC;gBACD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;gBAC3C,CAAC;gBACD,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;gBACzC,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YACF,UAAU;SACX,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC,CAAC,CACH,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,4BAA4B,CACnC,WAAiC,EACjC,WAAmB;IAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,uBAAuB,CAAC;IAEnD,IAAI,eAAmC,CAAC;IACxC,IAAI,MAAM,CAAC,WAAW,YAAY,qBAAqB,EAAE,CAAC;QACxD,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;IAC/C,CAAC;SAAM,IAAI,MAAM,CAAC,WAAW,YAAY,4BAA4B,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAA4B;QACxC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI;QACjC,WAAW;QACX,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,MAAM,OAAO,GAA2B;gBACtC,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;YACF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACzC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,KAAK,EAAE,EAAE,CAAC,KAAK;SAChB,CAAC,CAAC;KACJ,CAAC;IACF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC5C,CAAC;IACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,QAAQ,CAAC,WAAW,GAAG,eAAe,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,iCAAiC,GAAG,QAAQ,CAChD,CAAC,KAGA,EAAE,EAAE;IACH,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE/C,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,kBAAkB,CAChB,oBAAoB,CAAC,gBAAgB,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAC5E,EACH,CAAC,oBAAoB,CAAC,CACvB,CAAC;IAEF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,EAAE,CAAC,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,+BAA+B,CAAC,oBAAoB,CAAC;aAClD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,WAAW;QACb,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,WAAW,GAAG,GAAG,oBAAoB,CAAC,OAAO,IAAI,oBAAoB,CAAC,UAAU,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;IAE3H,MAAM,sBAAsB,GAAG,OAAO,CACpC,GAA+C,EAAE,CAAC,CAAC;QACjD,YAAY,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,IAAI;QAC/D,QAAQ,EAAE,oBAAoB,CAAC,OAAO;QACtC,WAAW,EAAE,oBAAoB,CAAC,UAAU;QAC5C,OAAO,EAAE,oBAAoB,CAAC,SAAS;KACxC,CAAC,EACF;QACE,oBAAoB,CAAC,uBAAuB,CAAC,IAAI;QACjD,oBAAoB,CAAC,OAAO;QAC5B,oBAAoB,CAAC,UAAU;QAC/B,oBAAoB,CAAC,SAAS;KAC/B,CACF,CAAC;IAEF,MAAM,oBAAoB,GAAG,OAAO,CAClC,GAAsC,EAAE,CAAC,CAAC;QACxC,OAAO,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI;QAClE,OAAO,EAAE,oBAAoB,CAAC,cAAc,CAAC,IAAI;KAClD,CAAC,EACF;QACE,oBAAoB,CAAC,uBAAuB,CAAC,OAAO;QACpD,oBAAoB,CAAC,cAAc;KACpC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,4BAA4B,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW;gBACX,gBAAgB,EAAE,EAAE;aACrB,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GACX,oBAAoB,CAAC,uBAAuB,CAAC,KAAK;QAClD,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC;IAEpD,OAAO,CACL,KAAC,YAAY,IACX,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,OAAO,EAAE,EACvB,MAAM,EAAE,cAAc,EACtB,sBAAsB,EAAE,sBAAsB,EAC9C,oBAAoB,EAAE,oBAAoB,GAC1C,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,CAAC,KAGA,EAAE,EAAE,CAAC,CACJ,KAAC,qBAAqB,cACpB,KAAC,iCAAiC,OAAK,KAAK,GAAI,GAC1B,CACzB,CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataSpaceViewer.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceViewer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAeH,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAmL9E,eAAO,MAAM,eAAe,WAClB;IAAE,oBAAoB,EAAE,oBAAoB,CAAA;CAAE;;CA6IvD,CAAC"}
1
+ {"version":3,"file":"DataSpaceViewer.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceViewer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgBH,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAiM9E,eAAO,MAAM,eAAe,WAClB;IAAE,oBAAoB,EAAE,oBAAoB,CAAA;CAAE;;CA8JvD,CAAC"}
@@ -15,20 +15,21 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  * limitations under the License.
16
16
  */
17
17
  import { observer } from 'mobx-react-lite';
18
- import { CaretDownIcon, CaretUpIcon, ControlledDropdownMenu, MenuContent, MenuContentDivider, MenuContentItem, MoreVerticalIcon, PlayIcon, VerifiedIcon, clsx, } from '@finos/legend-art';
18
+ import { CaretDownIcon, CaretUpIcon, ControlledDropdownMenu, MenuContent, MenuContentDivider, MenuContentItem, MoreVerticalIcon, PlayIcon, VerifiedIcon, SparkleStarsIcon, clsx, } from '@finos/legend-art';
19
19
  import {} from '../stores/DataSpaceViewerState.js';
20
20
  import { DataSpaceExecutionContextViewer } from './DataSpaceExecutionContextViewer.js';
21
21
  import { DataSpaceInfoPanel } from './DataSpaceInfoPanel.js';
22
22
  import { DataSpaceSupportPanel } from './DataSpaceSupportPanel.js';
23
23
  import { DataSpaceWiki } from './DataSpaceWiki.js';
24
24
  import { DataSpaceViewerActivityBar } from './DataSpaceViewerActivityBar.js';
25
- import { useEffect, useRef, useState } from 'react';
25
+ import { useEffect, useRef, useState, useCallback } from 'react';
26
26
  import { DATA_SPACE_WIKI_PAGE_SECTIONS } from '../stores/DataSpaceLayoutState.js';
27
27
  import { DATA_SPACE_VIEWER_ACTIVITY_MODE, generateAnchorForActivity, } from '../stores/DataSpaceViewerNavigation.js';
28
28
  import { DataSpacePlaceholderPanel } from './DataSpacePlaceholder.js';
29
29
  import { useApplicationStore } from '@finos/legend-application';
30
+ import { LEGEND_AI_ANCHOR_ID } from '@finos/legend-lego/legend-ai';
30
31
  const DataSpaceHeader = observer((props) => {
31
- const { dataSpaceViewerState, showFullHeader } = props;
32
+ const { dataSpaceViewerState, showFullHeader, showAIButton, onLegendAI } = props;
32
33
  const applicationStore = useApplicationStore();
33
34
  const headerRef = useRef(null);
34
35
  const analysisResult = dataSpaceViewerState.dataSpaceAnalysisResult;
@@ -41,7 +42,7 @@ const DataSpaceHeader = observer((props) => {
41
42
  'data-space__viewer__header--floating': showFullHeader,
42
43
  }), children: _jsxs("div", { className: clsx('data-space__viewer__header__content', {
43
44
  'data-space__viewer__header__content--expanded': dataSpaceViewerState.layoutState.isExpandedModeEnabled,
44
- }), children: [_jsxs("div", { className: "data-space__viewer__header__title", title: `${analysisResult.displayName} - ${analysisResult.path}`, children: [_jsx("div", { className: "data-space__viewer__header__title__label", children: analysisResult.displayName }), dataSpaceViewerState.isVerified && (_jsx("div", { className: "data-space__viewer__header__title__verified-badge", title: "Verified Data Product", children: _jsx(VerifiedIcon, {}) }))] }), _jsxs("div", { className: "data-space__viewer__header__actions", children: [_jsx(ControlledDropdownMenu, { className: "data-space__viewer__header__execution-context-selector", menuProps: {
45
+ }), children: [_jsxs("div", { className: "data-space__viewer__header__title", title: `${analysisResult.displayName} - ${analysisResult.path}`, children: [_jsx("div", { className: "data-space__viewer__header__title__label", children: analysisResult.displayName }), dataSpaceViewerState.isVerified && (_jsx("div", { className: "data-space__viewer__header__title__verified-badge", title: "Verified Data Product", children: _jsx(VerifiedIcon, {}) }))] }), showAIButton && onLegendAI && (_jsxs("button", { className: "legend-ai-floating-btn__trigger", onClick: onLegendAI, title: "Ask Marketplace", children: [_jsx(SparkleStarsIcon, {}), _jsx("span", { children: "Ask Marketplace" })] })), _jsxs("div", { className: "data-space__viewer__header__actions", children: [_jsx(ControlledDropdownMenu, { className: "data-space__viewer__header__execution-context-selector", menuProps: {
45
46
  anchorOrigin: { vertical: 'bottom', horizontal: 'center' },
46
47
  transformOrigin: { vertical: 'top', horizontal: 'center' },
47
48
  elevation: 7,
@@ -87,13 +88,26 @@ export const DataSpaceViewer = observer((props) => {
87
88
  });
88
89
  }
89
90
  };
91
+ const scrollToQueryAI = useCallback(() => {
92
+ const anchor = frame.current?.querySelector(`#${LEGEND_AI_ANCHOR_ID}`);
93
+ if (anchor) {
94
+ anchor.scrollIntoView({ behavior: 'smooth', block: 'start' });
95
+ }
96
+ else if (frame.current) {
97
+ frame.current.scrollTo({
98
+ top: frame.current.scrollHeight,
99
+ behavior: 'smooth',
100
+ });
101
+ }
102
+ }, []);
90
103
  const isShowingWiki = DATA_SPACE_WIKI_PAGE_SECTIONS.includes(dataSpaceViewerState.currentActivity);
104
+ const showAIButton = dataSpaceViewerState.legendAIConfig.enabled && isShowingWiki;
91
105
  useEffect(() => {
92
106
  if (frame.current) {
93
107
  dataSpaceViewerState.layoutState.setFrame(frame.current);
94
108
  }
95
109
  }, [dataSpaceViewerState]);
96
- return (_jsxs("div", { className: "data-space__viewer", children: [_jsx(DataSpaceViewerActivityBar, { dataSpaceViewerState: dataSpaceViewerState }), _jsxs("div", { ref: frame, className: "data-space__viewer__body", onScroll: onScroll, children: [_jsx(DataSpaceHeader, { dataSpaceViewerState: dataSpaceViewerState, showFullHeader: showFullHeader }), dataSpaceViewerState.layoutState.isTopScrollerVisible && (_jsxs("div", { className: "data-space__viewer__scroller", children: [_jsx("button", { className: "data-space__viewer__scroller__btn btn--dark", tabIndex: -1, title: "Scroll to top", disabled: !dataSpaceViewerState.layoutState.frame, onClick: scrollToTop, children: _jsx(CaretUpIcon, {}) }), _jsxs("div", { className: "data-space__viewer__scroller__percentage", children: [scrollPercentage, "%"] })] })), _jsx("div", { className: clsx('data-space__viewer__frame', {
110
+ return (_jsxs("div", { className: "data-space__viewer", children: [_jsx(DataSpaceViewerActivityBar, { dataSpaceViewerState: dataSpaceViewerState }), _jsxs("div", { ref: frame, className: "data-space__viewer__body", onScroll: onScroll, children: [_jsx(DataSpaceHeader, { dataSpaceViewerState: dataSpaceViewerState, showFullHeader: showFullHeader, showAIButton: showAIButton, onLegendAI: scrollToQueryAI }), dataSpaceViewerState.layoutState.isTopScrollerVisible && (_jsxs("div", { className: "data-space__viewer__scroller", children: [_jsx("button", { className: "data-space__viewer__scroller__btn btn--dark", tabIndex: -1, title: "Scroll to top", disabled: !dataSpaceViewerState.layoutState.frame, onClick: scrollToTop, children: _jsx(CaretUpIcon, {}) }), _jsxs("div", { className: "data-space__viewer__scroller__percentage", children: [scrollPercentage, "%"] })] })), _jsx("div", { className: clsx('data-space__viewer__frame', {
97
111
  'data-space__viewer__frame--boundless': isShowingWiki,
98
112
  'data-space__viewer__frame--expanded': dataSpaceViewerState.layoutState.isExpandedModeEnabled,
99
113
  }), children: _jsxs("div", { className: "data-space__viewer__content", children: [isShowingWiki && (_jsx(DataSpaceWiki, { dataSpaceViewerState: dataSpaceViewerState })), dataSpaceViewerState.currentActivity ===
@@ -1 +1 @@
1
- {"version":3,"file":"DataSpaceViewer.js","sourceRoot":"","sources":["../../src/components/DataSpaceViewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataSpaceViewer.js","sourceRoot":"","sources":["../../src/components/DataSpaceViewer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataSpaceWiki.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceWiki.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAa9E,eAAO,MAAM,aAAa,WAChB;IAAE,oBAAoB,EAAE,oBAAoB,CAAA;CAAE;;CA4EvD,CAAC"}
1
+ {"version":3,"file":"DataSpaceWiki.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceWiki.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAc9E,eAAO,MAAM,aAAa,WAChB;IAAE,oBAAoB,EAAE,oBAAoB,CAAA;CAAE;;CAgFvD,CAAC"}
@@ -7,6 +7,7 @@ import { useEffect } from 'react';
7
7
  import { ModelsDocumentation } from '@finos/legend-lego/model-documentation';
8
8
  import { DiagramViewer } from '@finos/legend-extension-dsl-diagram';
9
9
  import { generateAnchorForActivity, generateAnchorForDiagram, } from '../stores/DataSpaceViewerNavigation.js';
10
+ import { DataSpaceLegendAIIntegration } from './DataSpaceLegendAIIntegration.js';
10
11
  export const DataSpaceWiki = observer((props) => {
11
12
  const { dataSpaceViewerState } = props;
12
13
  useEffect(() => {
@@ -47,6 +48,6 @@ export const DataSpaceWiki = observer((props) => {
47
48
  onUnsetWikiPageAnchor: (anchorKey) => {
48
49
  dataSpaceViewerState.layoutState.unsetWikiPageAnchor(anchorKey);
49
50
  },
50
- } }), _jsx(ModelsDocumentation, { modelsDocumentationState: dataSpaceViewerState.modelsDocumentationState, applicationStore: dataSpaceViewerState.applicationStore }), _jsx(DataSpaceQuickStart, { dataSpaceViewerState: dataSpaceViewerState }), _jsx(DataSpaceDataAccess, { dataSpaceViewerState: dataSpaceViewerState })] }));
51
+ } }), _jsx(ModelsDocumentation, { modelsDocumentationState: dataSpaceViewerState.modelsDocumentationState, applicationStore: dataSpaceViewerState.applicationStore }), _jsx(DataSpaceQuickStart, { dataSpaceViewerState: dataSpaceViewerState }), _jsx(DataSpaceDataAccess, { dataSpaceViewerState: dataSpaceViewerState }), _jsx(DataSpaceLegendAIIntegration, { dataSpaceViewerState: dataSpaceViewerState, config: dataSpaceViewerState.legendAIConfig })] }));
51
52
  });
52
53
  //# sourceMappingURL=DataSpaceWiki.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataSpaceWiki.js","sourceRoot":"","sources":["../../src/components/DataSpaceWiki.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataSpaceWiki.js","sourceRoot":"","sources":["../../src/components/DataSpaceWiki.tsx"],"names":[],"mappings":"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"}
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-extension-dsl-data-space v10.4.214
1
+ /** @license @finos/legend-extension-dsl-data-space v10.4.216
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-extension-dsl-data-space",
3
- "version": "10.4.214",
3
+ "version": "10.4.216",
4
4
  "description": "Legend extension for Data Space DSL",
5
5
  "keywords": [
6
6
  "legend",
@@ -21,6 +21,7 @@ import { DataSpaceViewerDiagramViewerState } from './DataSpaceViewerDiagramViewe
21
21
  import { DataSpaceLayoutState } from './DataSpaceLayoutState.js';
22
22
  import { DATA_SPACE_VIEWER_ACTIVITY_MODE } from './DataSpaceViewerNavigation.js';
23
23
  import { DataAccessState } from '@finos/legend-query-builder';
24
+ import { type LegendAIConfig } from '@finos/legend-lego/legend-ai';
24
25
  import { DataSpaceQuickStartState } from './DataSpaceQuickStartState.js';
25
26
  import { DataSpaceViewerExecutableState } from './DataSpaceViewerExecutableState.js';
26
27
  export declare class DataSpaceViewerState {
@@ -42,6 +43,7 @@ export declare class DataSpaceViewerState {
42
43
  readonly diagramViewerState: DataSpaceViewerDiagramViewerState;
43
44
  readonly modelsDocumentationState: DataSpaceViewerModelsDocumentationState;
44
45
  readonly quickStartState: DataSpaceQuickStartState;
46
+ legendAIConfig: LegendAIConfig;
45
47
  executableStates: DataSpaceViewerExecutableState[];
46
48
  currentActivity: DATA_SPACE_VIEWER_ACTIVITY_MODE;
47
49
  currentDataAccessState: DataAccessState;
@@ -1 +1 @@
1
- {"version":3,"file":"DataSpaceViewerState.d.ts","sourceRoot":"","sources":["../../src/stores/DataSpaceViewerState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataSpaceViewerState.d.ts","sourceRoot":"","sources":["../../src/stores/DataSpaceViewerState.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ import { DataSpaceViewerDiagramViewerState } from './DataSpaceViewerDiagramViewe
23
23
  import { DATA_SPACE_WIKI_PAGE_SECTIONS, DataSpaceLayoutState, } from './DataSpaceLayoutState.js';
24
24
  import { DATA_SPACE_VIEWER_ACTIVITY_MODE, generateAnchorForActivity, } from './DataSpaceViewerNavigation.js';
25
25
  import { DataAccessState } from '@finos/legend-query-builder';
26
+ import { DEFAULT_LEGEND_AI_CONFIG, } from '@finos/legend-lego/legend-ai';
26
27
  import { DataSpaceQuickStartState } from './DataSpaceQuickStartState.js';
27
28
  import { DataSpaceViewerExecutableState } from './DataSpaceViewerExecutableState.js';
28
29
  export class DataSpaceViewerState {
@@ -44,6 +45,7 @@ export class DataSpaceViewerState {
44
45
  diagramViewerState;
45
46
  modelsDocumentationState;
46
47
  quickStartState;
48
+ legendAIConfig;
47
49
  executableStates = [];
48
50
  currentActivity = DATA_SPACE_VIEWER_ACTIVITY_MODE.DESCRIPTION;
49
51
  currentDataAccessState;
@@ -56,6 +58,7 @@ export class DataSpaceViewerState {
56
58
  currentRuntime: observable,
57
59
  currentDataAccessState: observable,
58
60
  executableStates: observable,
61
+ legendAIConfig: observable,
59
62
  isVerified: computed,
60
63
  setCurrentActivity: action,
61
64
  setCurrentExecutionContext: action,
@@ -90,6 +93,7 @@ export class DataSpaceViewerState {
90
93
  this.modelsDocumentationState = new DataSpaceViewerModelsDocumentationState(this);
91
94
  this.diagramViewerState = new DataSpaceViewerDiagramViewerState(this);
92
95
  this.quickStartState = new DataSpaceQuickStartState(this);
96
+ this.legendAIConfig = DEFAULT_LEGEND_AI_CONFIG;
93
97
  }
94
98
  get isVerified() {
95
99
  return Boolean(this.dataSpaceAnalysisResult.stereotypes.find((stereotype) => stereotype.profile === PURE_DATA_SPACE_INFO_PROFILE_PATH &&
@@ -1 +1 @@
1
- {"version":3,"file":"DataSpaceViewerState.js","sourceRoot":"","sources":["../../src/stores/DataSpaceViewerState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,yBAAyB,GAG1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAKN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAGN,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,iCAAiC,EACjC,gDAAgD,GACjD,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,uCAAuC,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,OAAO,oBAAoB;IACtB,gBAAgB,CAAgC;IAChD,iBAAiB,CAAoB;IACrC,WAAW,CAAuB;IAElC,uBAAuB,CAA0B;IACjD,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,iBAAiB,CAAkB;IACnC,cAAc,CAAwC;IACtD,WAAW,CAAqC;IAChD,eAAe,CAA8C;IAC7D,YAAY,CAEP;IACL,UAAU,CAA0B;IACpC,gBAAgB,CAAgC;IAChD,qBAAqB,CAEhB;IAEL,kBAAkB,CAAoC;IACtD,wBAAwB,CAA0C;IAClE,eAAe,CAA2B;IACnD,gBAAgB,GAAqC,EAAE,CAAC;IAExD,eAAe,GAAG,+BAA+B,CAAC,WAAW,CAAC;IAC9D,sBAAsB,CAAkB;IACxC,uBAAuB,CAA0C;IACjE,cAAc,CAAqB;IAEnC,YACE,gBAA+C,EAC/C,iBAAoC,EACpC,OAAe,EACf,UAAkB,EAClB,SAAiB,EACjB,uBAAgD,EAChD,OAWC;QAED,cAAc,CAAC,IAAI,EAAE;YACnB,eAAe,EAAE,UAAU;YAC3B,uBAAuB,EAAE,UAAU;YACnC,cAAc,EAAE,UAAU;YAC1B,sBAAsB,EAAE,UAAU;YAClC,gBAAgB,EAAE,UAAU;YAC5B,UAAU,EAAE,QAAQ;YACpB,kBAAkB,EAAE,MAAM;YAC1B,0BAA0B,EAAE,MAAM;YAClC,iBAAiB,EAAE,MAAM;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,GAAG,CAClE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,8BAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,CACzD,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAE3D,IAAI,CAAC,uBAAuB;YAC1B,uBAAuB,CAAC,uBAAuB,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC;QAClE,IAAI,CAAC,sBAAsB,GAAG,IAAI,eAAe,CAC/C,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,iBAAiB,EACtB;YACE,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ;YACtD,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI;YAClD,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,IAAI;YACzD,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;YAC/B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACpC,CACF,CAAC;QAEF,IAAI,CAAC,wBAAwB,GAAG,IAAI,uCAAuC,CACzE,IAAI,CACL,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,OAAO,CACZ,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,IAAI,CAC3C,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,OAAO,KAAK,iCAAiC;YACxD,UAAU,CAAC,KAAK,KAAK,gDAAgD,CACxE,CACF,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,GAAoC;QACrD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,0BAA0B,CACxB,GAA4C;QAE5C,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QACzC,IAAI,CAAC,sBAAsB,GAAG,IAAI,eAAe,CAC/C,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,iBAAiB,EACtB;YACE,eAAe,EAAE,GAAG,CAAC,QAAQ;YAC7B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI;YACzB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI;YAChC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;YAC/B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACpC,CACF,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,GAAuB;QACvC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED,sBAAsB,CAAC,IAAoB;QACzC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,IAAoB,EAAE,KAAK,GAAG,KAAK;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CACpC,+BAA+B,CAChC,CAAC,IAAI,CACJ,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,KAAK,aAAa,CACpE,CAAC;YACF,IAAI,aAAa,IAAI,gBAAgB,EAAE,CAAC;gBACtC,IAAI,6BAA6B,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC7D,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC;wBAC3C,MAAM,EAAE,IAAI;qBACb,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;gBAC1C,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC;gBACrE,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"DataSpaceViewerState.js","sourceRoot":"","sources":["../../src/stores/DataSpaceViewerState.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-extension-dsl-data-space",
3
- "version": "10.4.214",
3
+ "version": "10.4.216",
4
4
  "description": "Legend extension for Data Space DSL",
5
5
  "keywords": [
6
6
  "legend",
@@ -45,11 +45,11 @@
45
45
  "dependencies": {
46
46
  "@finos/legend-application": "16.0.105",
47
47
  "@finos/legend-art": "7.1.147",
48
- "@finos/legend-code-editor": "2.0.168",
49
- "@finos/legend-extension-dsl-diagram": "8.1.232",
50
- "@finos/legend-graph": "32.6.0",
51
- "@finos/legend-lego": "2.0.187",
52
- "@finos/legend-query-builder": "4.18.4",
48
+ "@finos/legend-code-editor": "2.0.169",
49
+ "@finos/legend-extension-dsl-diagram": "8.1.233",
50
+ "@finos/legend-graph": "32.6.1",
51
+ "@finos/legend-lego": "2.0.189",
52
+ "@finos/legend-query-builder": "4.18.6",
53
53
  "@finos/legend-server-depot": "6.1.11",
54
54
  "@finos/legend-server-sdlc": "5.4.2",
55
55
  "@finos/legend-shared": "11.0.24",
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Copyright (c) 2026-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 { useState, useEffect, useMemo } from 'react';
18
+ import { observer } from 'mobx-react-lite';
19
+ import {
20
+ buildLambdaVariableExpressions,
21
+ VariableExpression,
22
+ type QueryExplicitExecutionContextInfo,
23
+ } from '@finos/legend-graph';
24
+ import { filterByType } from '@finos/legend-shared';
25
+ import {
26
+ LegendAIChat,
27
+ LegendAIErrorBoundary,
28
+ findLegendAIPlugin,
29
+ type TDSColumnSchema,
30
+ type TDSServiceSchema,
31
+ type LegendAIConfig,
32
+ type LegendAIProductMetadata,
33
+ type LegendAIOrchestratorDataProductCoordinates,
34
+ type LegendAIServiceSummary,
35
+ } from '@finos/legend-lego/legend-ai';
36
+ import type { DataSpaceViewerState } from '../stores/DataSpaceViewerState.js';
37
+ import {
38
+ DataSpaceServiceExecutableInfo,
39
+ DataSpaceMultiExecutionServiceExecutableInfo,
40
+ DataSpaceExecutableTDSResult,
41
+ } from '../graph-manager/action/analytics/DataSpaceAnalysis.js';
42
+ import {
43
+ DataSpaceSupportEmail,
44
+ DataSpaceSupportCombinedInfo,
45
+ } from '../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
46
+
47
+ export async function extractTDSServicesFromDataSpace(
48
+ viewerState: DataSpaceViewerState,
49
+ ): Promise<TDSServiceSchema[]> {
50
+ const executables = viewerState.dataSpaceAnalysisResult.executables;
51
+ const graphManager = viewerState.graphManagerState.graphManager;
52
+
53
+ const nested = await Promise.all(
54
+ executables.map(async (exec): Promise<TDSServiceSchema[]> => {
55
+ if (
56
+ !(
57
+ exec.info instanceof DataSpaceServiceExecutableInfo ||
58
+ exec.info instanceof DataSpaceMultiExecutionServiceExecutableInfo
59
+ ) ||
60
+ !(exec.result instanceof DataSpaceExecutableTDSResult)
61
+ ) {
62
+ return [];
63
+ }
64
+ const info = exec.info;
65
+ const tdsResult = exec.result;
66
+
67
+ let parameters: string[] = [];
68
+ try {
69
+ const rawLambda = await graphManager.pureCodeToLambda(info.query);
70
+ parameters = buildLambdaVariableExpressions(
71
+ rawLambda,
72
+ viewerState.graphManagerState,
73
+ )
74
+ .filter(filterByType(VariableExpression))
75
+ .map((v) => v.name);
76
+ } catch {
77
+ /* empty */
78
+ }
79
+
80
+ const entry: TDSServiceSchema = {
81
+ title: exec.title,
82
+ pattern: info.pattern,
83
+ columns: tdsResult.columns.map((col) => {
84
+ const column: TDSColumnSchema = { name: col.name };
85
+ if (col.type !== undefined) {
86
+ column.type = col.type;
87
+ }
88
+ if (col.documentation !== undefined) {
89
+ column.documentation = col.documentation;
90
+ }
91
+ if (col.sampleValues !== undefined) {
92
+ column.sampleValues = col.sampleValues;
93
+ }
94
+ return column;
95
+ }),
96
+ parameters,
97
+ };
98
+ if (exec.description !== undefined) {
99
+ entry.description = exec.description;
100
+ }
101
+ return [entry];
102
+ }),
103
+ );
104
+ return nested.flat();
105
+ }
106
+
107
+ function extractMetadataFromDataSpace(
108
+ viewerState: DataSpaceViewerState,
109
+ coordinates: string,
110
+ ): LegendAIProductMetadata {
111
+ const result = viewerState.dataSpaceAnalysisResult;
112
+
113
+ let supportInfoText: string | undefined;
114
+ if (result.supportInfo instanceof DataSpaceSupportEmail) {
115
+ supportInfoText = result.supportInfo.address;
116
+ } else if (result.supportInfo instanceof DataSpaceSupportCombinedInfo) {
117
+ supportInfoText = (result.supportInfo.emails ?? []).join(', ');
118
+ }
119
+
120
+ const metadata: LegendAIProductMetadata = {
121
+ name: result.title ?? result.name,
122
+ coordinates,
123
+ serviceSummaries: result.executables.map((exec) => {
124
+ const summary: LegendAIServiceSummary = {
125
+ title: exec.title,
126
+ };
127
+ if (exec.description !== undefined) {
128
+ summary.description = exec.description;
129
+ }
130
+ return summary;
131
+ }),
132
+ tags: result.taggedValues.map((tv) => ({
133
+ profile: tv.profile,
134
+ value: tv.value,
135
+ })),
136
+ };
137
+ if (result.description !== undefined) {
138
+ metadata.description = result.description;
139
+ }
140
+ if (supportInfoText !== undefined) {
141
+ metadata.supportInfo = supportInfoText;
142
+ }
143
+ return metadata;
144
+ }
145
+
146
+ const DataSpaceLegendAIIntegrationInner = observer(
147
+ (props: {
148
+ dataSpaceViewerState: DataSpaceViewerState;
149
+ config: LegendAIConfig;
150
+ }) => {
151
+ const { dataSpaceViewerState, config } = props;
152
+
153
+ const legendAIPlugin = useMemo(
154
+ () =>
155
+ findLegendAIPlugin(
156
+ dataSpaceViewerState.applicationStore.pluginManager.getApplicationPlugins(),
157
+ ),
158
+ [dataSpaceViewerState],
159
+ );
160
+
161
+ const [services, setServices] = useState<TDSServiceSchema[]>([]);
162
+ useEffect(() => {
163
+ let cancelled = false;
164
+ extractTDSServicesFromDataSpace(dataSpaceViewerState)
165
+ .then((result) => {
166
+ if (!cancelled) {
167
+ setServices(result);
168
+ }
169
+ })
170
+ .catch(() => {
171
+ /* empty */
172
+ });
173
+ return () => {
174
+ cancelled = true;
175
+ };
176
+ }, [dataSpaceViewerState]);
177
+
178
+ const coordinates = `${dataSpaceViewerState.groupId}:${dataSpaceViewerState.artifactId}:${dataSpaceViewerState.versionId}`;
179
+
180
+ const dataProductCoordinates = useMemo(
181
+ (): LegendAIOrchestratorDataProductCoordinates => ({
182
+ data_product: dataSpaceViewerState.dataSpaceAnalysisResult.path,
183
+ group_id: dataSpaceViewerState.groupId,
184
+ artifact_id: dataSpaceViewerState.artifactId,
185
+ version: dataSpaceViewerState.versionId,
186
+ }),
187
+ [
188
+ dataSpaceViewerState.dataSpaceAnalysisResult.path,
189
+ dataSpaceViewerState.groupId,
190
+ dataSpaceViewerState.artifactId,
191
+ dataSpaceViewerState.versionId,
192
+ ],
193
+ );
194
+
195
+ const pureExecutionContext = useMemo(
196
+ (): QueryExplicitExecutionContextInfo => ({
197
+ mapping: dataSpaceViewerState.currentExecutionContext.mapping.path,
198
+ runtime: dataSpaceViewerState.currentRuntime.path,
199
+ }),
200
+ [
201
+ dataSpaceViewerState.currentExecutionContext.mapping,
202
+ dataSpaceViewerState.currentRuntime,
203
+ ],
204
+ );
205
+
206
+ const metadata = useMemo(() => {
207
+ try {
208
+ return extractMetadataFromDataSpace(dataSpaceViewerState, coordinates);
209
+ } catch {
210
+ return {
211
+ name: 'Unknown',
212
+ coordinates,
213
+ serviceSummaries: [],
214
+ };
215
+ }
216
+ }, [dataSpaceViewerState, coordinates]);
217
+
218
+ if (!config.enabled || !legendAIPlugin) {
219
+ return null;
220
+ }
221
+
222
+ const dsTitle =
223
+ dataSpaceViewerState.dataSpaceAnalysisResult.title ??
224
+ dataSpaceViewerState.dataSpaceAnalysisResult.name;
225
+
226
+ return (
227
+ <LegendAIChat
228
+ services={services}
229
+ coordinates={coordinates}
230
+ config={config}
231
+ metadata={metadata}
232
+ title={`Ask ${dsTitle}`}
233
+ plugin={legendAIPlugin}
234
+ dataProductCoordinates={dataProductCoordinates}
235
+ pureExecutionContext={pureExecutionContext}
236
+ />
237
+ );
238
+ },
239
+ );
240
+
241
+ export const DataSpaceLegendAIIntegration = observer(
242
+ (props: {
243
+ dataSpaceViewerState: DataSpaceViewerState;
244
+ config: LegendAIConfig;
245
+ }) => (
246
+ <LegendAIErrorBoundary>
247
+ <DataSpaceLegendAIIntegrationInner {...props} />
248
+ </LegendAIErrorBoundary>
249
+ ),
250
+ );
@@ -25,6 +25,7 @@ import {
25
25
  MoreVerticalIcon,
26
26
  PlayIcon,
27
27
  VerifiedIcon,
28
+ SparkleStarsIcon,
28
29
  clsx,
29
30
  } from '@finos/legend-art';
30
31
  import { type DataSpaceViewerState } from '../stores/DataSpaceViewerState.js';
@@ -33,7 +34,7 @@ import { DataSpaceInfoPanel } from './DataSpaceInfoPanel.js';
33
34
  import { DataSpaceSupportPanel } from './DataSpaceSupportPanel.js';
34
35
  import { DataSpaceWiki } from './DataSpaceWiki.js';
35
36
  import { DataSpaceViewerActivityBar } from './DataSpaceViewerActivityBar.js';
36
- import { useEffect, useRef, useState } from 'react';
37
+ import { useEffect, useRef, useState, useCallback } from 'react';
37
38
  import { DATA_SPACE_WIKI_PAGE_SECTIONS } from '../stores/DataSpaceLayoutState.js';
38
39
  import {
39
40
  DATA_SPACE_VIEWER_ACTIVITY_MODE,
@@ -41,13 +42,17 @@ import {
41
42
  } from '../stores/DataSpaceViewerNavigation.js';
42
43
  import { DataSpacePlaceholderPanel } from './DataSpacePlaceholder.js';
43
44
  import { useApplicationStore } from '@finos/legend-application';
45
+ import { LEGEND_AI_ANCHOR_ID } from '@finos/legend-lego/legend-ai';
44
46
 
45
47
  const DataSpaceHeader = observer(
46
48
  (props: {
47
49
  dataSpaceViewerState: DataSpaceViewerState;
48
50
  showFullHeader: boolean;
51
+ showAIButton?: boolean;
52
+ onLegendAI?: () => void;
49
53
  }) => {
50
- const { dataSpaceViewerState, showFullHeader } = props;
54
+ const { dataSpaceViewerState, showFullHeader, showAIButton, onLegendAI } =
55
+ props;
51
56
  const applicationStore = useApplicationStore();
52
57
  const headerRef = useRef<HTMLDivElement>(null);
53
58
  const analysisResult = dataSpaceViewerState.dataSpaceAnalysisResult;
@@ -87,6 +92,16 @@ const DataSpaceHeader = observer(
87
92
  </div>
88
93
  )}
89
94
  </div>
95
+ {showAIButton && onLegendAI && (
96
+ <button
97
+ className="legend-ai-floating-btn__trigger"
98
+ onClick={onLegendAI}
99
+ title="Ask Marketplace"
100
+ >
101
+ <SparkleStarsIcon />
102
+ <span>Ask Marketplace</span>
103
+ </button>
104
+ )}
90
105
  <div className="data-space__viewer__header__actions">
91
106
  <ControlledDropdownMenu
92
107
  className="data-space__viewer__header__execution-context-selector"
@@ -238,10 +253,25 @@ export const DataSpaceViewer = observer(
238
253
  }
239
254
  };
240
255
 
256
+ const scrollToQueryAI = useCallback((): void => {
257
+ const anchor = frame.current?.querySelector(`#${LEGEND_AI_ANCHOR_ID}`);
258
+ if (anchor) {
259
+ anchor.scrollIntoView({ behavior: 'smooth', block: 'start' });
260
+ } else if (frame.current) {
261
+ frame.current.scrollTo({
262
+ top: frame.current.scrollHeight,
263
+ behavior: 'smooth',
264
+ });
265
+ }
266
+ }, []);
267
+
241
268
  const isShowingWiki = DATA_SPACE_WIKI_PAGE_SECTIONS.includes(
242
269
  dataSpaceViewerState.currentActivity,
243
270
  );
244
271
 
272
+ const showAIButton =
273
+ dataSpaceViewerState.legendAIConfig.enabled && isShowingWiki;
274
+
245
275
  useEffect(() => {
246
276
  if (frame.current) {
247
277
  dataSpaceViewerState.layoutState.setFrame(frame.current);
@@ -261,6 +291,8 @@ export const DataSpaceViewer = observer(
261
291
  <DataSpaceHeader
262
292
  dataSpaceViewerState={dataSpaceViewerState}
263
293
  showFullHeader={showFullHeader}
294
+ showAIButton={showAIButton}
295
+ onLegendAI={scrollToQueryAI}
264
296
  />
265
297
  {dataSpaceViewerState.layoutState.isTopScrollerVisible && (
266
298
  <div className="data-space__viewer__scroller">
@@ -26,6 +26,7 @@ import {
26
26
  generateAnchorForActivity,
27
27
  generateAnchorForDiagram,
28
28
  } from '../stores/DataSpaceViewerNavigation.js';
29
+ import { DataSpaceLegendAIIntegration } from './DataSpaceLegendAIIntegration.js';
29
30
 
30
31
  export const DataSpaceWiki = observer(
31
32
  (props: { dataSpaceViewerState: DataSpaceViewerState }) => {
@@ -101,6 +102,10 @@ export const DataSpaceWiki = observer(
101
102
  />
102
103
  <DataSpaceQuickStart dataSpaceViewerState={dataSpaceViewerState} />
103
104
  <DataSpaceDataAccess dataSpaceViewerState={dataSpaceViewerState} />
105
+ <DataSpaceLegendAIIntegration
106
+ dataSpaceViewerState={dataSpaceViewerState}
107
+ config={dataSpaceViewerState.legendAIConfig}
108
+ />
104
109
  </div>
105
110
  );
106
111
  },
@@ -45,6 +45,10 @@ import {
45
45
  generateAnchorForActivity,
46
46
  } from './DataSpaceViewerNavigation.js';
47
47
  import { DataAccessState } from '@finos/legend-query-builder';
48
+ import {
49
+ DEFAULT_LEGEND_AI_CONFIG,
50
+ type LegendAIConfig,
51
+ } from '@finos/legend-lego/legend-ai';
48
52
  import { DataSpaceQuickStartState } from './DataSpaceQuickStartState.js';
49
53
  import { DataSpaceViewerExecutableState } from './DataSpaceViewerExecutableState.js';
50
54
 
@@ -73,6 +77,7 @@ export class DataSpaceViewerState {
73
77
  readonly diagramViewerState: DataSpaceViewerDiagramViewerState;
74
78
  readonly modelsDocumentationState: DataSpaceViewerModelsDocumentationState;
75
79
  readonly quickStartState: DataSpaceQuickStartState;
80
+ legendAIConfig: LegendAIConfig;
76
81
  executableStates: DataSpaceViewerExecutableState[] = [];
77
82
 
78
83
  currentActivity = DATA_SPACE_VIEWER_ACTIVITY_MODE.DESCRIPTION;
@@ -106,6 +111,7 @@ export class DataSpaceViewerState {
106
111
  currentRuntime: observable,
107
112
  currentDataAccessState: observable,
108
113
  executableStates: observable,
114
+ legendAIConfig: observable,
109
115
  isVerified: computed,
110
116
  setCurrentActivity: action,
111
117
  setCurrentExecutionContext: action,
@@ -152,6 +158,7 @@ export class DataSpaceViewerState {
152
158
  );
153
159
  this.diagramViewerState = new DataSpaceViewerDiagramViewerState(this);
154
160
  this.quickStartState = new DataSpaceQuickStartState(this);
161
+ this.legendAIConfig = DEFAULT_LEGEND_AI_CONFIG;
155
162
  }
156
163
 
157
164
  get isVerified(): boolean {
package/tsconfig.json CHANGED
@@ -99,6 +99,7 @@
99
99
  "./src/components/DataSpaceDescription.tsx",
100
100
  "./src/components/DataSpaceExecutionContextViewer.tsx",
101
101
  "./src/components/DataSpaceInfoPanel.tsx",
102
+ "./src/components/DataSpaceLegendAIIntegration.tsx",
102
103
  "./src/components/DataSpaceMarkdownTextViewer.tsx",
103
104
  "./src/components/DataSpacePlaceholder.tsx",
104
105
  "./src/components/DataSpaceQuickStart.tsx",