@finos/legend-extension-dsl-data-space 10.4.239 → 10.4.241

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.
@@ -18,8 +18,17 @@ export declare enum DSL_DATASPACE_EVENT {
18
18
  ERROR_GENERATE_SAMPLE_VALUES = "dataProduct.error.build-sample-values",
19
19
  ERROR_EXTRACT_LEGEND_AI_SERVICES = "dataProduct.error.extract-legend-ai-services",
20
20
  LEGEND_AI_ASSISTANT_OPENED = "legend-ai.assistant.opened",
21
+ LEGEND_AI_ASSISTANT_CLOSED = "legend-ai.assistant.closed",
21
22
  LEGEND_AI_QUESTION_ASKED = "legend-ai.question.asked",
22
23
  LEGEND_AI_RESPONSE_RECEIVED = "legend-ai.response.received",
23
- LEGEND_AI_FEEDBACK_SUBMITTED = "legend-ai.feedback.submitted"
24
+ LEGEND_AI_FEEDBACK_SUBMITTED = "legend-ai.feedback.submitted",
25
+ LEGEND_AI_SUGGESTED_QUERY_CLICKED = "legend-ai.suggested-query.clicked",
26
+ LEGEND_AI_SCOPE_CHANGED = "legend-ai.scope.changed",
27
+ LEGEND_AI_MODEL_CHANGED = "legend-ai.model.changed",
28
+ LEGEND_AI_SQL_DETAILS_TOGGLED = "legend-ai.sql-details.toggled",
29
+ LEGEND_AI_ARTIFACT_COPIED = "legend-ai.artifact.copied",
30
+ LEGEND_AI_PYTHON_CODE_REQUESTED = "legend-ai.python-code.requested",
31
+ LEGEND_AI_PYTHON_CODE_TOGGLED = "legend-ai.python-code.toggled",
32
+ LEGEND_AI_OPEN_IN_DATACUBE_CLICKED = "legend-ai.open-in-datacube.clicked"
24
33
  }
25
34
  //# sourceMappingURL=DSL_DataSpace_Event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DSL_DataSpace_Event.d.ts","sourceRoot":"","sources":["../../src/__lib__/DSL_DataSpace_Event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,mBAAmB;IAC7B,sBAAsB,yCAAyC;IAC/D,4BAA4B,0CAA0C;IACtE,gCAAgC,iDAAiD;IAGjF,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IACrD,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;CAC9D"}
1
+ {"version":3,"file":"DSL_DataSpace_Event.d.ts","sourceRoot":"","sources":["../../src/__lib__/DSL_DataSpace_Event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,mBAAmB;IAC7B,sBAAsB,yCAAyC;IAC/D,4BAA4B,0CAA0C;IACtE,gCAAgC,iDAAiD;IAGjF,0BAA0B,+BAA+B;IACzD,0BAA0B,+BAA+B;IACzD,wBAAwB,6BAA6B;IACrD,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAC7D,iCAAiC,sCAAsC;IACvE,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,6BAA6B,kCAAkC;IAC/D,yBAAyB,8BAA8B;IACvD,+BAA+B,oCAAoC;IACnE,6BAA6B,kCAAkC;IAC/D,kCAAkC,uCAAuC;CAC1E"}
@@ -21,8 +21,17 @@ export var DSL_DATASPACE_EVENT;
21
21
  // Legend AI assistant usage analytics. The name scheme is shared across data
22
22
  // product and data space; the `context` payload field distinguishes them.
23
23
  DSL_DATASPACE_EVENT["LEGEND_AI_ASSISTANT_OPENED"] = "legend-ai.assistant.opened";
24
+ DSL_DATASPACE_EVENT["LEGEND_AI_ASSISTANT_CLOSED"] = "legend-ai.assistant.closed";
24
25
  DSL_DATASPACE_EVENT["LEGEND_AI_QUESTION_ASKED"] = "legend-ai.question.asked";
25
26
  DSL_DATASPACE_EVENT["LEGEND_AI_RESPONSE_RECEIVED"] = "legend-ai.response.received";
26
27
  DSL_DATASPACE_EVENT["LEGEND_AI_FEEDBACK_SUBMITTED"] = "legend-ai.feedback.submitted";
28
+ DSL_DATASPACE_EVENT["LEGEND_AI_SUGGESTED_QUERY_CLICKED"] = "legend-ai.suggested-query.clicked";
29
+ DSL_DATASPACE_EVENT["LEGEND_AI_SCOPE_CHANGED"] = "legend-ai.scope.changed";
30
+ DSL_DATASPACE_EVENT["LEGEND_AI_MODEL_CHANGED"] = "legend-ai.model.changed";
31
+ DSL_DATASPACE_EVENT["LEGEND_AI_SQL_DETAILS_TOGGLED"] = "legend-ai.sql-details.toggled";
32
+ DSL_DATASPACE_EVENT["LEGEND_AI_ARTIFACT_COPIED"] = "legend-ai.artifact.copied";
33
+ DSL_DATASPACE_EVENT["LEGEND_AI_PYTHON_CODE_REQUESTED"] = "legend-ai.python-code.requested";
34
+ DSL_DATASPACE_EVENT["LEGEND_AI_PYTHON_CODE_TOGGLED"] = "legend-ai.python-code.toggled";
35
+ DSL_DATASPACE_EVENT["LEGEND_AI_OPEN_IN_DATACUBE_CLICKED"] = "legend-ai.open-in-datacube.clicked";
27
36
  })(DSL_DATASPACE_EVENT || (DSL_DATASPACE_EVENT = {}));
28
37
  //# sourceMappingURL=DSL_DataSpace_Event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DSL_DataSpace_Event.js","sourceRoot":"","sources":["../../src/__lib__/DSL_DataSpace_Event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC7B,sFAA+D,CAAA;IAC/D,6FAAsE,CAAA;IACtE,wGAAiF,CAAA;IACjF,6EAA6E;IAC7E,0EAA0E;IAC1E,gFAAyD,CAAA;IACzD,4EAAqD,CAAA;IACrD,kFAA2D,CAAA;IAC3D,oFAA6D,CAAA;AAC/D,CAAC,EAVW,mBAAmB,KAAnB,mBAAmB,QAU9B"}
1
+ {"version":3,"file":"DSL_DataSpace_Event.js","sourceRoot":"","sources":["../../src/__lib__/DSL_DataSpace_Event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,mBAmBX;AAnBD,WAAY,mBAAmB;IAC7B,sFAA+D,CAAA;IAC/D,6FAAsE,CAAA;IACtE,wGAAiF,CAAA;IACjF,6EAA6E;IAC7E,0EAA0E;IAC1E,gFAAyD,CAAA;IACzD,gFAAyD,CAAA;IACzD,4EAAqD,CAAA;IACrD,kFAA2D,CAAA;IAC3D,oFAA6D,CAAA;IAC7D,8FAAuE,CAAA;IACvE,0EAAmD,CAAA;IACnD,0EAAmD,CAAA;IACnD,sFAA+D,CAAA;IAC/D,8EAAuD,CAAA;IACvD,0FAAmE,CAAA;IACnE,sFAA+D,CAAA;IAC/D,gGAAyE,CAAA;AAC3E,CAAC,EAnBW,mBAAmB,KAAnB,mBAAmB,QAmB9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataSpaceLegendAIIntegration.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceLegendAIIntegration.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,KAAK,kCAAkC,EAIxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAaL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAInB,KAAK,oBAAoB,EAIzB,KAAK,sBAAsB,EAK5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAIL,KAAK,iCAAiC,EACvC,MAAM,wDAAwD,CAAC;AAehE;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,qBAAqB,EAAE,GAChC,oBAAoB,CAkEtB;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,oBAAoB,EAClC,eAAe,EAAE,kCAAkC,GAAG,SAAS,GAC9D,IAAI,CAYN;AAoGD,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,iCAAiC,EAAE,EAChD,YAAY,EAAE,oBAAoB,EAClC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,sBAAsB,EAAE,CAgC1B;AAED,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoF7B;AAgQD,eAAO,MAAM,4BAA4B,WAC/B;IACN,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;;CAKF,CAAC"}
1
+ {"version":3,"file":"DataSpaceLegendAIIntegration.d.ts","sourceRoot":"","sources":["../../src/components/DataSpaceLegendAIIntegration.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,KAAK,kCAAkC,EAIxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAeL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAInB,KAAK,oBAAoB,EAIzB,KAAK,sBAAsB,EAI5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EAIL,KAAK,iCAAiC,EACvC,MAAM,wDAAwD,CAAC;AA2ChE;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,qBAAqB,EAAE,GAChC,oBAAoB,CA8DtB;AAED;;;;GAIG;AACH,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,oBAAoB,EAClC,eAAe,EAAE,kCAAkC,GAAG,SAAS,GAC9D,IAAI,CAYN;AAqGD,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,iCAAiC,EAAE,EAChD,YAAY,EAAE,oBAAoB,EAClC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,sBAAsB,EAAE,CAgC1B;AAED,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAwF7B;AAuPD,eAAO,MAAM,4BAA4B,WAC/B;IACN,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;;CAKF,CAAC"}
@@ -16,8 +16,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
16
16
  */
17
17
  import { useState, useEffect, useMemo, useCallback } from 'react';
18
18
  import { observer } from 'mobx-react-lite';
19
- import { Enumeration, getAllSuperclasses, PRIMITIVE_TYPE, } from '@finos/legend-graph';
20
- import { LegendAIChat, LegendAIErrorBoundary, findLegendAIPlugin, extractParameterSchemas, buildPropertyDocIndex, enrichColumnsFromElementDocs, inferServiceRelationshipsFromAssociations, extractLambdaPreFilters, extractModelContext, LegendAIChatTelemetryEventType, LegendAIMessageFeedbackRating, } from '@finos/legend-lego/legend-ai';
19
+ import { Enumeration, PRIMITIVE_TYPE, RelationalDatabaseTableSpecification, } from '@finos/legend-graph';
20
+ import { LegendAIChat, LegendAIErrorBoundary, findLegendAIPlugin, extractParameterSchemas, buildPropertyDocIndex, enrichColumnsFromElementDocs, inferServiceRelationshipsFromAssociations, extractLambdaPreFilters, extractModelContext, LegendAIChatTelemetryEventType, bridgeLegendAIServices, useLegendAIChatTelemetryLogger, LegendAIMessageFeedbackRating, } from '@finos/legend-lego/legend-ai';
21
21
  import {} from '@finos/legend-extension-dsl-diagram';
22
22
  import { assertErrorThrown, LogEvent } from '@finos/legend-shared';
23
23
  import { DSL_DATASPACE_EVENT } from '../__lib__/DSL_DataSpace_Event.js';
@@ -25,6 +25,19 @@ import { DataSpaceServiceExecutableInfo, DataSpaceMultiExecutionServiceExecutabl
25
25
  import { DataSpaceSupportEmail, DataSpaceSupportCombinedInfo, } from '../graph/metamodel/pure/model/packageableElements/dataSpace/DSL_DataSpace_DataSpace.js';
26
26
  const MAX_QUERY_SCAN_LENGTH = 5_000;
27
27
  const MAX_QUERY_TEMPLATE_LENGTH = 1000;
28
+ const DATA_SPACE_TELEMETRY_EVENT_KEYS = {
29
+ [LegendAIChatTelemetryEventType.QUESTION_ASKED]: DSL_DATASPACE_EVENT.LEGEND_AI_QUESTION_ASKED,
30
+ [LegendAIChatTelemetryEventType.RESPONSE_RECEIVED]: DSL_DATASPACE_EVENT.LEGEND_AI_RESPONSE_RECEIVED,
31
+ [LegendAIChatTelemetryEventType.ASSISTANT_CLOSED]: DSL_DATASPACE_EVENT.LEGEND_AI_ASSISTANT_CLOSED,
32
+ [LegendAIChatTelemetryEventType.SUGGESTED_QUERY_CLICKED]: DSL_DATASPACE_EVENT.LEGEND_AI_SUGGESTED_QUERY_CLICKED,
33
+ [LegendAIChatTelemetryEventType.SCOPE_CHANGED]: DSL_DATASPACE_EVENT.LEGEND_AI_SCOPE_CHANGED,
34
+ [LegendAIChatTelemetryEventType.MODEL_CHANGED]: DSL_DATASPACE_EVENT.LEGEND_AI_MODEL_CHANGED,
35
+ [LegendAIChatTelemetryEventType.SQL_DETAILS_TOGGLED]: DSL_DATASPACE_EVENT.LEGEND_AI_SQL_DETAILS_TOGGLED,
36
+ [LegendAIChatTelemetryEventType.ARTIFACT_COPIED]: DSL_DATASPACE_EVENT.LEGEND_AI_ARTIFACT_COPIED,
37
+ [LegendAIChatTelemetryEventType.PYTHON_CODE_REQUESTED]: DSL_DATASPACE_EVENT.LEGEND_AI_PYTHON_CODE_REQUESTED,
38
+ [LegendAIChatTelemetryEventType.PYTHON_CODE_TOGGLED]: DSL_DATASPACE_EVENT.LEGEND_AI_PYTHON_CODE_TOGGLED,
39
+ [LegendAIChatTelemetryEventType.OPEN_IN_DATACUBE_CLICKED]: DSL_DATASPACE_EVENT.LEGEND_AI_OPEN_IN_DATACUBE_CLICKED,
40
+ };
28
41
  const ENTITY_PATH_PATTERN = /(?<entityPath>[A-Za-z_]\w{0,63}(?:::[A-Za-z_]\w{0,63}){0,10})\.all\(\)/g;
29
42
  // ────────────────────────────────────────────────────────────────────────────
30
43
  // Diagram-based model context extraction (fallback when elementDocs is sparse)
@@ -67,10 +80,6 @@ export function extractModelContextFromDiagrams(diagrams) {
67
80
  name: cls.name,
68
81
  properties,
69
82
  };
70
- const superTypes = getAllSuperclasses(cls).map((c) => c.path);
71
- if (superTypes.length > 0) {
72
- entity.superTypes = superTypes;
73
- }
74
83
  entityMap.set(cls.path, entity);
75
84
  }
76
85
  for (const assocView of diagram.associationViews) {
@@ -119,15 +128,14 @@ function buildColumnPropertyMappings(columns, rootEntity) {
119
128
  if (!rootEntity || rootEntity.properties.length === 0) {
120
129
  return undefined;
121
130
  }
131
+ const normalizeName = (name) => name.toLowerCase().replaceAll(/[\s_]/g, '');
122
132
  const propLookup = new Map();
123
133
  for (const prop of rootEntity.properties) {
124
- const normalized = prop.name.toLowerCase().replaceAll('_', '');
125
- propLookup.set(normalized, prop.name);
134
+ propLookup.set(normalizeName(prop.name), prop.name);
126
135
  }
127
136
  const mappings = [];
128
137
  for (const colName of columns) {
129
- const normalized = colName.toLowerCase().replaceAll(/[\s_]/g, '');
130
- const propName = propLookup.get(normalized);
138
+ const propName = propLookup.get(normalizeName(colName));
131
139
  if (propName && propName !== colName) {
132
140
  mappings.push({ columnName: colName, propertyPath: propName });
133
141
  }
@@ -179,8 +187,8 @@ function buildExecutableInfo(exec, entityMap, serviceParameters) {
179
187
  info.requiredParameters = reqParams;
180
188
  }
181
189
  if (exec.result instanceof DataSpaceExecutableTDSResult) {
182
- info.columns = exec.result.columns.map((c) => c.name);
183
- const colMappings = buildColumnPropertyMappings(info.columns, entityMap.get(rootEntityPath));
190
+ const columnNames = exec.result.columns.map((c) => c.name);
191
+ const colMappings = buildColumnPropertyMappings(columnNames, entityMap.get(rootEntityPath));
184
192
  if (colMappings) {
185
193
  info.columnPropertyMappings = colMappings;
186
194
  }
@@ -242,6 +250,7 @@ export async function extractTDSServicesFromDataSpace(viewerState) {
242
250
  assertErrorThrown(error);
243
251
  // pre-filter extraction is best-effort — a service without pre-filters
244
252
  // still works, the AI just won't know about hardcoded constraints.
253
+ viewerState.applicationStore.logService.debug(LogEvent.create(DSL_DATASPACE_EVENT.ERROR_EXTRACT_LEGEND_AI_SERVICES), error);
245
254
  }
246
255
  const entry = {
247
256
  title: exec.title,
@@ -331,22 +340,7 @@ const DataSpaceLegendAIIntegrationInner = observer((props) => {
331
340
  const { dataSpaceViewerState, config, onClose, onMinimize } = props;
332
341
  const legendAIPlugin = useMemo(() => findLegendAIPlugin(dataSpaceViewerState.applicationStore.pluginManager.getApplicationPlugins()), [dataSpaceViewerState]);
333
342
  const [services, setServices] = useState([]);
334
- useEffect(() => {
335
- let cancelled = false;
336
- extractTDSServicesFromDataSpace(dataSpaceViewerState)
337
- .then((result) => {
338
- if (!cancelled) {
339
- setServices(result);
340
- }
341
- })
342
- .catch((error) => {
343
- assertErrorThrown(error);
344
- dataSpaceViewerState.applicationStore.logService.warn(LogEvent.create(DSL_DATASPACE_EVENT.ERROR_EXTRACT_LEGEND_AI_SERVICES), error);
345
- });
346
- return () => {
347
- cancelled = true;
348
- };
349
- }, [dataSpaceViewerState]);
343
+ useEffect(() => bridgeLegendAIServices(() => extractTDSServicesFromDataSpace(dataSpaceViewerState), setServices, (error) => dataSpaceViewerState.applicationStore.logService.warn(LogEvent.create(DSL_DATASPACE_EVENT.ERROR_EXTRACT_LEGEND_AI_SERVICES), error)), [dataSpaceViewerState]);
350
344
  const coordinates = `${dataSpaceViewerState.groupId}:${dataSpaceViewerState.artifactId}:${dataSpaceViewerState.versionId}`;
351
345
  const dataProductCoordinates = useMemo(() => ({
352
346
  data_product: dataSpaceViewerState.dataSpaceAnalysisResult.path,
@@ -395,6 +389,17 @@ const DataSpaceLegendAIIntegrationInner = observer((props) => {
395
389
  ctx.executables = execInfos;
396
390
  }
397
391
  }
392
+ const physicalDatasets = dataSpaceViewerState.currentExecutionContext.datasets;
393
+ if (physicalDatasets.length > 0) {
394
+ ctx.datasets = physicalDatasets.map((ds) => ds instanceof RelationalDatabaseTableSpecification
395
+ ? {
396
+ name: ds.name,
397
+ database: ds.database,
398
+ schema: ds.schema,
399
+ table: ds.table,
400
+ }
401
+ : { name: ds.name });
402
+ }
398
403
  if (result.description) {
399
404
  ctx.dataspaceDescription = result.description;
400
405
  }
@@ -402,27 +407,12 @@ const DataSpaceLegendAIIntegrationInner = observer((props) => {
402
407
  }, [
403
408
  dataSpaceViewerState.dataSpaceAnalysisResult,
404
409
  dataSpaceViewerState.currentExecutionContext.mapping,
410
+ dataSpaceViewerState.currentExecutionContext.datasets,
405
411
  services,
406
412
  ]);
407
413
  const telemetryService = dataSpaceViewerState.applicationStore.telemetryService;
408
414
  const dataSpacePath = dataSpaceViewerState.dataSpaceAnalysisResult.path;
409
- const handleLogTelemetryEvent = useCallback((event) => {
410
- if (event.type === LegendAIChatTelemetryEventType.QUESTION_ASKED) {
411
- telemetryService.logEvent(DSL_DATASPACE_EVENT.LEGEND_AI_QUESTION_ASKED, {
412
- context: 'data-space',
413
- data_product: dataSpacePath,
414
- question_length: event.questionLength,
415
- });
416
- }
417
- else {
418
- telemetryService.logEvent(DSL_DATASPACE_EVENT.LEGEND_AI_RESPONSE_RECEIVED, {
419
- context: 'data-space',
420
- data_product: dataSpacePath,
421
- outcome: event.outcome,
422
- duration_ms: event.durationMs,
423
- });
424
- }
425
- }, [telemetryService, dataSpacePath]);
415
+ const handleLogTelemetryEvent = useLegendAIChatTelemetryLogger(DATA_SPACE_TELEMETRY_EVENT_KEYS, 'data-space', dataSpacePath, telemetryService);
426
416
  const handleMessageFeedback = useCallback((feedback) => {
427
417
  telemetryService.logEvent(DSL_DATASPACE_EVENT.LEGEND_AI_FEEDBACK_SUBMITTED, {
428
418
  context: 'data-space',
@@ -1 +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,WAAW,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAGL,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAC5B,yCAAyC,EACzC,uBAAuB,EACvB,mBAAmB,EACnB,8BAA8B,EAC9B,6BAA6B,GAgB9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAA8B,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EACL,8BAA8B,EAC9B,4CAA4C,EAC5C,4BAA4B,GAE7B,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,wFAAwF,CAAC;AAEhG,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,mBAAmB,GACvB,yEAAyE,CAAC;AAE5E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,QAAiC;IAEjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IACzD,MAAM,YAAY,GAA+B,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,GAAG,EAGtB,CAAC;IAEJ,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;YAClC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,MAAM,UAAU,GAA4B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC9B,IAAI,OAAO,YAAY,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/D,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE;wBACtB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAC1C,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,QAAQ;oBACd,YAAY,EACV,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,SAAS;wBAC1C,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC;oBAClC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,CAAC;iBAC/C,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,MAAM,GAAwB;gBAClC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU;aACX,CAAC;YACF,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YACjC,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBAC3D,YAAY,EAAE,KAAK,CAAC,IAAI;gBACxB,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBAC1D,aAAa,EAAE,KAAK,CAAC,IAAI;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAyB;QACnC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxC,YAAY;KACb,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qCAAqC,CACnD,YAAkC,EAClC,eAA+D;IAE/D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAChD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAChC,CAAC;QACF,IAAI,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAC/B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,2BAA2B,CAClC,OAAiB,EACjB,UAA0D;IAE1D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/D,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,QAAQ,GAAoC,EAAE,CAAC;IACrD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAgB;IACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC3D,uEAAuE;IACvE,mBAAmB,CAAC,SAAS,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC;QACtC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAuC,EACvC,SAA2C,EAC3C,iBAAuD;IAEvD,IACE,CAAC,CACC,IAAI,CAAC,IAAI,YAAY,8BAA8B;QACnD,IAAI,CAAC,IAAI,YAAY,4CAA4C,CAClE,EACD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAA2B;QACnC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,cAAc;QACd,aAAa,EACX,QAAQ,CAAC,MAAM,GAAG,yBAAyB;YACzC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,KAAK;YACtD,CAAC,CAAC,QAAQ;KACf,CAAC;IACF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,YAAY,4BAA4B,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,2BAA2B,CAC7C,IAAI,CAAC,OAAO,EACZ,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAC9B,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,WAAgD,EAChD,YAAkC,EAClC,QAA4B;IAE5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAmC,CAAC;IACrE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,iBAAiB,CAAC,GAAG,CACnB,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,MAAM;aACtC,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,IAAI;YACzD,IAAI,CAAC,cAAc;SACpB,CAAC;QACF,KAAK,MAAM,UAAU,IAAI,oBAAoB,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,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,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,GAC/D,MAAM,uBAAuB,CAC3B,IAAI,CAAC,KAAK,EACV,YAAY,EACZ,WAAW,CAAC,iBAAiB,CAC9B,CAAC;QAEJ,2DAA2D;QAC3D,IAAI,UAA0C,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,uEAAuE;YACvE,mEAAmE;QACrE,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,cAAc,KAAK,SAAS,EAAE,CAAC;oBACrC,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;gBAC7C,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;YACV,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE;gBACrC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,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,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE/B,qEAAqE;IACrE,MAAM,SAAS,GAAG,qBAAqB,CACrC,WAAW,CAAC,uBAAuB,CAAC,WAAW,CAChD,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,4BAA4B,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CACnC,WAAiC,EACjC,WAAmB,EACnB,QAA4B;IAE5B,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,IAAI,IAAI,CAAC,MAAM,YAAY,4BAA4B,EAAE,CAAC;gBACxD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnE,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,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,yCAAyC,CAC3D,QAAQ,EACR,MAAM,CAAC,WAAW,CACnB,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,oBAAoB,GAAG,WAAW,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,iCAAiC,GAAG,QAAQ,CAChD,CAAC,KAKA,EAAE,EAAE;IACH,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEpE,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,CAAC,KAAK,EAAE,EAAE;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CACnD,QAAQ,CAAC,MAAM,CACb,mBAAmB,CAAC,gCAAgC,CACrD,EACD,KAAK,CACN,CAAC;QACJ,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,CACtB,GAAG,EAAE,CACH,4BAA4B,CAC1B,oBAAoB,EACpB,WAAW,EACX,QAAQ,CACT,EACH,CAAC,oBAAoB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC9C,CAAC;IAEF,MAAM,YAAY,GAAqC,OAAO,CAAC,GAAG,EAAE;QAClE,MAAM,MAAM,GAAG,oBAAoB,CAAC,uBAAuB,CAAC;QAC5D,IAAI,GAAqC,CAAC;QAC1C,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,GAAG,GAAG,OAAO,CAAC;YAChB,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,+BAA+B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,GAAG,GAAG,UAAU,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GACf,oBAAoB,CAAC,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5D,MAAM,eAAe,GACnB,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1D,qCAAqC,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAE5D,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,qBAAqB,CACrC,MAAM,CAAC,WAAW,EAClB,GAAG,EACH,QAAQ,CACT,CAAC;YACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC;QAChD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE;QACD,oBAAoB,CAAC,uBAAuB;QAC5C,oBAAoB,CAAC,uBAAuB,CAAC,OAAO;QACpD,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;IACzD,MAAM,aAAa,GAAG,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC;IACxE,MAAM,uBAAuB,GAAG,WAAW,CACzC,CAAC,KAAiC,EAAQ,EAAE;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,8BAA8B,CAAC,cAAc,EAAE,CAAC;YACjE,gBAAgB,CAAC,QAAQ,CACvB,mBAAmB,CAAC,wBAAwB,EAC5C;gBACE,OAAO,EAAE,YAAY;gBACrB,YAAY,EAAE,aAAa;gBAC3B,eAAe,EAAE,KAAK,CAAC,cAAc;aACtC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,QAAQ,CACvB,mBAAmB,CAAC,2BAA2B,EAC/C;gBACE,OAAO,EAAE,YAAY;gBACrB,YAAY,EAAE,aAAa;gBAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EAAE,KAAK,CAAC,UAAU;aAC9B,CACF,CAAC;QACJ,CAAC;IACH,CAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAClC,CAAC;IACF,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,QAAiC,EAAQ,EAAE;QAC1C,gBAAgB,CAAC,QAAQ,CACvB,mBAAmB,CAAC,4BAA4B,EAChD;YACE,OAAO,EAAE,YAAY;YACrB,YAAY,EAAE,aAAa;YAC3B,MAAM,EACJ,QAAQ,CAAC,MAAM,KAAK,6BAA6B,CAAC,SAAS;gBACzD,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM;SACb,CACF,CAAC;IACJ,CAAC,EACD,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAClC,CAAC;IAEF,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,mBAAmB,EAAE,uBAAuB,EAC5C,iBAAiB,EAAE,qBAAqB,EACxC,oBAAoB,EAAC,6GAA6G,EAClI,sBAAsB,EAAE,sBAAsB,EAC9C,oBAAoB,EAAE,oBAAoB,KACtC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACtC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC5B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACtC,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,CAAC,KAKA,EAAE,EAAE,CAAC,CACJ,KAAC,qBAAqB,cACpB,KAAC,iCAAiC,OAAK,KAAK,GAAI,GAC1B,CACzB,CACF,CAAC"}
1
+ {"version":3,"file":"DataSpaceLegendAIIntegration.js","sourceRoot":"","sources":["../../src/components/DataSpaceLegendAIIntegration.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.239
1
+ /** @license @finos/legend-extension-dsl-data-space v10.4.241
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.239",
3
+ "version": "10.4.241",
4
4
  "description": "Legend extension for Data Space DSL",
5
5
  "keywords": [
6
6
  "legend",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-extension-dsl-data-space",
3
- "version": "10.4.239",
3
+ "version": "10.4.241",
4
4
  "description": "Legend extension for Data Space DSL",
5
5
  "keywords": [
6
6
  "legend",
@@ -43,17 +43,17 @@
43
43
  "test:watch": "jest --watch"
44
44
  },
45
45
  "dependencies": {
46
- "@finos/legend-application": "16.0.117",
47
- "@finos/legend-art": "7.1.157",
48
- "@finos/legend-code-editor": "2.0.190",
49
- "@finos/legend-extension-dsl-diagram": "8.1.254",
50
- "@finos/legend-graph": "32.6.21",
51
- "@finos/legend-lego": "2.0.210",
52
- "@finos/legend-query-builder": "4.18.29",
53
- "@finos/legend-server-depot": "6.1.16",
54
- "@finos/legend-server-sdlc": "5.4.6",
55
- "@finos/legend-shared": "11.0.26",
56
- "@finos/legend-storage": "3.0.148",
46
+ "@finos/legend-application": "16.0.118",
47
+ "@finos/legend-art": "7.1.158",
48
+ "@finos/legend-code-editor": "2.0.192",
49
+ "@finos/legend-extension-dsl-diagram": "8.1.256",
50
+ "@finos/legend-graph": "32.6.23",
51
+ "@finos/legend-lego": "2.0.212",
52
+ "@finos/legend-query-builder": "4.18.31",
53
+ "@finos/legend-server-depot": "6.1.17",
54
+ "@finos/legend-server-sdlc": "5.4.7",
55
+ "@finos/legend-shared": "11.0.27",
56
+ "@finos/legend-storage": "3.0.149",
57
57
  "@types/react": "19.0.10",
58
58
  "mobx": "6.13.6",
59
59
  "mobx-react-lite": "4.1.0",
@@ -21,7 +21,16 @@ export enum DSL_DATASPACE_EVENT {
21
21
  // Legend AI assistant usage analytics. The name scheme is shared across data
22
22
  // product and data space; the `context` payload field distinguishes them.
23
23
  LEGEND_AI_ASSISTANT_OPENED = 'legend-ai.assistant.opened',
24
+ LEGEND_AI_ASSISTANT_CLOSED = 'legend-ai.assistant.closed',
24
25
  LEGEND_AI_QUESTION_ASKED = 'legend-ai.question.asked',
25
26
  LEGEND_AI_RESPONSE_RECEIVED = 'legend-ai.response.received',
26
27
  LEGEND_AI_FEEDBACK_SUBMITTED = 'legend-ai.feedback.submitted',
28
+ LEGEND_AI_SUGGESTED_QUERY_CLICKED = 'legend-ai.suggested-query.clicked',
29
+ LEGEND_AI_SCOPE_CHANGED = 'legend-ai.scope.changed',
30
+ LEGEND_AI_MODEL_CHANGED = 'legend-ai.model.changed',
31
+ LEGEND_AI_SQL_DETAILS_TOGGLED = 'legend-ai.sql-details.toggled',
32
+ LEGEND_AI_ARTIFACT_COPIED = 'legend-ai.artifact.copied',
33
+ LEGEND_AI_PYTHON_CODE_REQUESTED = 'legend-ai.python-code.requested',
34
+ LEGEND_AI_PYTHON_CODE_TOGGLED = 'legend-ai.python-code.toggled',
35
+ LEGEND_AI_OPEN_IN_DATACUBE_CLICKED = 'legend-ai.open-in-datacube.clicked',
27
36
  }
@@ -20,8 +20,8 @@ import {
20
20
  type QueryExplicitExecutionContextInfo,
21
21
  type MappingModelCoverageAnalysisResult,
22
22
  Enumeration,
23
- getAllSuperclasses,
24
23
  PRIMITIVE_TYPE,
24
+ RelationalDatabaseTableSpecification,
25
25
  } from '@finos/legend-graph';
26
26
  import {
27
27
  LegendAIChat,
@@ -34,6 +34,8 @@ import {
34
34
  extractLambdaPreFilters,
35
35
  extractModelContext,
36
36
  LegendAIChatTelemetryEventType,
37
+ bridgeLegendAIServices,
38
+ useLegendAIChatTelemetryLogger,
37
39
  LegendAIMessageFeedbackRating,
38
40
  type TDSColumnSchema,
39
41
  type TDSServiceSchema,
@@ -48,7 +50,6 @@ import {
48
50
  type LegendAIExecutableInfo,
49
51
  type LegendAIColumnPropertyMapping,
50
52
  type LegendAIParameterInfo,
51
- type LegendAIChatTelemetryEvent,
52
53
  type LegendAIMessageFeedback,
53
54
  } from '@finos/legend-lego/legend-ai';
54
55
  import { type DiagramAnalysisResult } from '@finos/legend-extension-dsl-diagram';
@@ -68,6 +69,34 @@ import {
68
69
 
69
70
  const MAX_QUERY_SCAN_LENGTH = 5_000;
70
71
  const MAX_QUERY_TEMPLATE_LENGTH = 1000;
72
+
73
+ const DATA_SPACE_TELEMETRY_EVENT_KEYS: Record<
74
+ LegendAIChatTelemetryEventType,
75
+ string
76
+ > = {
77
+ [LegendAIChatTelemetryEventType.QUESTION_ASKED]:
78
+ DSL_DATASPACE_EVENT.LEGEND_AI_QUESTION_ASKED,
79
+ [LegendAIChatTelemetryEventType.RESPONSE_RECEIVED]:
80
+ DSL_DATASPACE_EVENT.LEGEND_AI_RESPONSE_RECEIVED,
81
+ [LegendAIChatTelemetryEventType.ASSISTANT_CLOSED]:
82
+ DSL_DATASPACE_EVENT.LEGEND_AI_ASSISTANT_CLOSED,
83
+ [LegendAIChatTelemetryEventType.SUGGESTED_QUERY_CLICKED]:
84
+ DSL_DATASPACE_EVENT.LEGEND_AI_SUGGESTED_QUERY_CLICKED,
85
+ [LegendAIChatTelemetryEventType.SCOPE_CHANGED]:
86
+ DSL_DATASPACE_EVENT.LEGEND_AI_SCOPE_CHANGED,
87
+ [LegendAIChatTelemetryEventType.MODEL_CHANGED]:
88
+ DSL_DATASPACE_EVENT.LEGEND_AI_MODEL_CHANGED,
89
+ [LegendAIChatTelemetryEventType.SQL_DETAILS_TOGGLED]:
90
+ DSL_DATASPACE_EVENT.LEGEND_AI_SQL_DETAILS_TOGGLED,
91
+ [LegendAIChatTelemetryEventType.ARTIFACT_COPIED]:
92
+ DSL_DATASPACE_EVENT.LEGEND_AI_ARTIFACT_COPIED,
93
+ [LegendAIChatTelemetryEventType.PYTHON_CODE_REQUESTED]:
94
+ DSL_DATASPACE_EVENT.LEGEND_AI_PYTHON_CODE_REQUESTED,
95
+ [LegendAIChatTelemetryEventType.PYTHON_CODE_TOGGLED]:
96
+ DSL_DATASPACE_EVENT.LEGEND_AI_PYTHON_CODE_TOGGLED,
97
+ [LegendAIChatTelemetryEventType.OPEN_IN_DATACUBE_CLICKED]:
98
+ DSL_DATASPACE_EVENT.LEGEND_AI_OPEN_IN_DATACUBE_CLICKED,
99
+ };
71
100
  const ENTITY_PATH_PATTERN =
72
101
  /(?<entityPath>[A-Za-z_]\w{0,63}(?:::[A-Za-z_]\w{0,63}){0,10})\.all\(\)/g;
73
102
 
@@ -120,10 +149,6 @@ export function extractModelContextFromDiagrams(
120
149
  name: cls.name,
121
150
  properties,
122
151
  };
123
- const superTypes = getAllSuperclasses(cls).map((c) => c.path);
124
- if (superTypes.length > 0) {
125
- entity.superTypes = superTypes;
126
- }
127
152
  entityMap.set(cls.path, entity);
128
153
  }
129
154
 
@@ -179,22 +204,23 @@ export function enrichModelContextWithMappingCoverage(
179
204
  */
180
205
  function buildColumnPropertyMappings(
181
206
  columns: string[],
182
- rootEntity: { properties: { name: string }[] } | undefined,
207
+ rootEntity: LegendAIModelEntity | undefined,
183
208
  ): LegendAIColumnPropertyMapping[] | undefined {
184
209
  if (!rootEntity || rootEntity.properties.length === 0) {
185
210
  return undefined;
186
211
  }
187
212
 
213
+ const normalizeName = (name: string): string =>
214
+ name.toLowerCase().replaceAll(/[\s_]/g, '');
215
+
188
216
  const propLookup = new Map<string, string>();
189
217
  for (const prop of rootEntity.properties) {
190
- const normalized = prop.name.toLowerCase().replaceAll('_', '');
191
- propLookup.set(normalized, prop.name);
218
+ propLookup.set(normalizeName(prop.name), prop.name);
192
219
  }
193
220
 
194
221
  const mappings: LegendAIColumnPropertyMapping[] = [];
195
222
  for (const colName of columns) {
196
- const normalized = colName.toLowerCase().replaceAll(/[\s_]/g, '');
197
- const propName = propLookup.get(normalized);
223
+ const propName = propLookup.get(normalizeName(colName));
198
224
  if (propName && propName !== colName) {
199
225
  mappings.push({ columnName: colName, propertyPath: propName });
200
226
  }
@@ -258,9 +284,9 @@ function buildExecutableInfo(
258
284
  info.requiredParameters = reqParams;
259
285
  }
260
286
  if (exec.result instanceof DataSpaceExecutableTDSResult) {
261
- info.columns = exec.result.columns.map((c) => c.name);
287
+ const columnNames = exec.result.columns.map((c) => c.name);
262
288
  const colMappings = buildColumnPropertyMappings(
263
- info.columns,
289
+ columnNames,
264
290
  entityMap.get(rootEntityPath),
265
291
  );
266
292
  if (colMappings) {
@@ -347,6 +373,10 @@ export async function extractTDSServicesFromDataSpace(
347
373
  assertErrorThrown(error);
348
374
  // pre-filter extraction is best-effort — a service without pre-filters
349
375
  // still works, the AI just won't know about hardcoded constraints.
376
+ viewerState.applicationStore.logService.debug(
377
+ LogEvent.create(DSL_DATASPACE_EVENT.ERROR_EXTRACT_LEGEND_AI_SERVICES),
378
+ error,
379
+ );
350
380
  }
351
381
 
352
382
  const entry: TDSServiceSchema = {
@@ -466,27 +496,21 @@ const DataSpaceLegendAIIntegrationInner = observer(
466
496
  );
467
497
 
468
498
  const [services, setServices] = useState<TDSServiceSchema[]>([]);
469
- useEffect(() => {
470
- let cancelled = false;
471
- extractTDSServicesFromDataSpace(dataSpaceViewerState)
472
- .then((result) => {
473
- if (!cancelled) {
474
- setServices(result);
475
- }
476
- })
477
- .catch((error) => {
478
- assertErrorThrown(error);
479
- dataSpaceViewerState.applicationStore.logService.warn(
480
- LogEvent.create(
481
- DSL_DATASPACE_EVENT.ERROR_EXTRACT_LEGEND_AI_SERVICES,
499
+ useEffect(
500
+ () =>
501
+ bridgeLegendAIServices(
502
+ () => extractTDSServicesFromDataSpace(dataSpaceViewerState),
503
+ setServices,
504
+ (error) =>
505
+ dataSpaceViewerState.applicationStore.logService.warn(
506
+ LogEvent.create(
507
+ DSL_DATASPACE_EVENT.ERROR_EXTRACT_LEGEND_AI_SERVICES,
508
+ ),
509
+ error,
482
510
  ),
483
- error,
484
- );
485
- });
486
- return () => {
487
- cancelled = true;
488
- };
489
- }, [dataSpaceViewerState]);
511
+ ),
512
+ [dataSpaceViewerState],
513
+ );
490
514
 
491
515
  const coordinates = `${dataSpaceViewerState.groupId}:${dataSpaceViewerState.artifactId}:${dataSpaceViewerState.versionId}`;
492
516
 
@@ -565,6 +589,21 @@ const DataSpaceLegendAIIntegrationInner = observer(
565
589
  }
566
590
  }
567
591
 
592
+ const physicalDatasets =
593
+ dataSpaceViewerState.currentExecutionContext.datasets;
594
+ if (physicalDatasets.length > 0) {
595
+ ctx.datasets = physicalDatasets.map((ds) =>
596
+ ds instanceof RelationalDatabaseTableSpecification
597
+ ? {
598
+ name: ds.name,
599
+ database: ds.database,
600
+ schema: ds.schema,
601
+ table: ds.table,
602
+ }
603
+ : { name: ds.name },
604
+ );
605
+ }
606
+
568
607
  if (result.description) {
569
608
  ctx.dataspaceDescription = result.description;
570
609
  }
@@ -573,36 +612,18 @@ const DataSpaceLegendAIIntegrationInner = observer(
573
612
  }, [
574
613
  dataSpaceViewerState.dataSpaceAnalysisResult,
575
614
  dataSpaceViewerState.currentExecutionContext.mapping,
615
+ dataSpaceViewerState.currentExecutionContext.datasets,
576
616
  services,
577
617
  ]);
578
618
 
579
619
  const telemetryService =
580
620
  dataSpaceViewerState.applicationStore.telemetryService;
581
621
  const dataSpacePath = dataSpaceViewerState.dataSpaceAnalysisResult.path;
582
- const handleLogTelemetryEvent = useCallback(
583
- (event: LegendAIChatTelemetryEvent): void => {
584
- if (event.type === LegendAIChatTelemetryEventType.QUESTION_ASKED) {
585
- telemetryService.logEvent(
586
- DSL_DATASPACE_EVENT.LEGEND_AI_QUESTION_ASKED,
587
- {
588
- context: 'data-space',
589
- data_product: dataSpacePath,
590
- question_length: event.questionLength,
591
- },
592
- );
593
- } else {
594
- telemetryService.logEvent(
595
- DSL_DATASPACE_EVENT.LEGEND_AI_RESPONSE_RECEIVED,
596
- {
597
- context: 'data-space',
598
- data_product: dataSpacePath,
599
- outcome: event.outcome,
600
- duration_ms: event.durationMs,
601
- },
602
- );
603
- }
604
- },
605
- [telemetryService, dataSpacePath],
622
+ const handleLogTelemetryEvent = useLegendAIChatTelemetryLogger(
623
+ DATA_SPACE_TELEMETRY_EVENT_KEYS,
624
+ 'data-space',
625
+ dataSpacePath,
626
+ telemetryService,
606
627
  );
607
628
  const handleMessageFeedback = useCallback(
608
629
  (feedback: LegendAIMessageFeedback): void => {