@finos/legend-application-query 13.8.52 → 13.8.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/lib/__lib__/LegendQueryAgentChatTelemetryHelper.d.ts +23 -4
  2. package/lib/__lib__/LegendQueryAgentChatTelemetryHelper.d.ts.map +1 -1
  3. package/lib/__lib__/LegendQueryAgentChatTelemetryHelper.js +15 -10
  4. package/lib/__lib__/LegendQueryAgentChatTelemetryHelper.js.map +1 -1
  5. package/lib/__lib__/LegendQueryEvent.d.ts +19 -0
  6. package/lib/__lib__/LegendQueryEvent.d.ts.map +1 -1
  7. package/lib/__lib__/LegendQueryEvent.js +22 -0
  8. package/lib/__lib__/LegendQueryEvent.js.map +1 -1
  9. package/lib/__lib__/LegendQueryLifecycleTelemetry.d.ts +58 -0
  10. package/lib/__lib__/LegendQueryLifecycleTelemetry.d.ts.map +1 -0
  11. package/lib/__lib__/LegendQueryLifecycleTelemetry.js +90 -0
  12. package/lib/__lib__/LegendQueryLifecycleTelemetry.js.map +1 -0
  13. package/lib/__lib__/LegendQueryNavigation.d.ts +3 -3
  14. package/lib/__lib__/LegendQueryNavigation.d.ts.map +1 -1
  15. package/lib/__lib__/LegendQueryNavigation.js +13 -3
  16. package/lib/__lib__/LegendQueryNavigation.js.map +1 -1
  17. package/lib/__lib__/LegendQuerySourceInfo.d.ts +137 -0
  18. package/lib/__lib__/LegendQuerySourceInfo.d.ts.map +1 -0
  19. package/lib/__lib__/LegendQuerySourceInfo.js +33 -0
  20. package/lib/__lib__/LegendQuerySourceInfo.js.map +1 -0
  21. package/lib/__lib__/LegendQueryTelemetryHelper.d.ts +127 -1
  22. package/lib/__lib__/LegendQueryTelemetryHelper.d.ts.map +1 -1
  23. package/lib/__lib__/LegendQueryTelemetryHelper.js +63 -0
  24. package/lib/__lib__/LegendQueryTelemetryHelper.js.map +1 -1
  25. package/lib/application/LegendQueryApplicationConfig.d.ts +4 -4
  26. package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
  27. package/lib/application/LegendQueryApplicationConfig.js +4 -5
  28. package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
  29. package/lib/components/Core_LegendQueryApplicationPlugin.d.ts.map +1 -1
  30. package/lib/components/Core_LegendQueryApplicationPlugin.js +21 -3
  31. package/lib/components/Core_LegendQueryApplicationPlugin.js.map +1 -1
  32. package/lib/components/QueryEditor.d.ts.map +1 -1
  33. package/lib/components/QueryEditor.js +21 -6
  34. package/lib/components/QueryEditor.js.map +1 -1
  35. package/lib/components/data-space/DataSpaceInfo.js +6 -6
  36. package/lib/components/data-space/DataSpaceInfo.js.map +1 -1
  37. package/lib/components/data-space/DataSpaceQuerySetup.d.ts.map +1 -1
  38. package/lib/components/data-space/DataSpaceQuerySetup.js +19 -0
  39. package/lib/components/data-space/DataSpaceQuerySetup.js.map +1 -1
  40. package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.d.ts.map +1 -1
  41. package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.js +19 -0
  42. package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.js.map +1 -1
  43. package/lib/index.css +1 -1
  44. package/lib/index.d.ts +2 -1
  45. package/lib/index.d.ts.map +1 -1
  46. package/lib/index.js +2 -1
  47. package/lib/index.js.map +1 -1
  48. package/lib/light-mode.css +1 -1
  49. package/lib/package.json +1 -1
  50. package/lib/stores/EditExistingQuerySetupStore.d.ts.map +1 -1
  51. package/lib/stores/EditExistingQuerySetupStore.js +4 -13
  52. package/lib/stores/EditExistingQuerySetupStore.js.map +1 -1
  53. package/lib/stores/LegendQueryApplicationPlugin.d.ts +2 -1
  54. package/lib/stores/LegendQueryApplicationPlugin.d.ts.map +1 -1
  55. package/lib/stores/LegendQueryApplicationPlugin.js +23 -0
  56. package/lib/stores/LegendQueryApplicationPlugin.js.map +1 -1
  57. package/lib/stores/QueryEditorStore.d.ts +50 -2
  58. package/lib/stores/QueryEditorStore.d.ts.map +1 -1
  59. package/lib/stores/QueryEditorStore.js +195 -82
  60. package/lib/stores/QueryEditorStore.js.map +1 -1
  61. package/lib/stores/QueryProductionizerSetupStore.d.ts.map +1 -1
  62. package/lib/stores/QueryProductionizerSetupStore.js +17 -13
  63. package/lib/stores/QueryProductionizerSetupStore.js.map +1 -1
  64. package/lib/stores/QuerySetupStore.d.ts.map +1 -1
  65. package/lib/stores/QuerySetupStore.js +2 -0
  66. package/lib/stores/QuerySetupStore.js.map +1 -1
  67. package/lib/stores/__test-utils__/LegendQueryApplicationTestUtils.d.ts.map +1 -1
  68. package/lib/stores/__test-utils__/LegendQueryApplicationTestUtils.js +0 -3
  69. package/lib/stores/__test-utils__/LegendQueryApplicationTestUtils.js.map +1 -1
  70. package/lib/stores/data-cube/ExistingQueryDataCubeViewer.d.ts.map +1 -1
  71. package/lib/stores/data-cube/ExistingQueryDataCubeViewer.js +1 -0
  72. package/lib/stores/data-cube/ExistingQueryDataCubeViewer.js.map +1 -1
  73. package/lib/stores/data-product/DataProductSampleQueryCreatorStore.d.ts +2 -0
  74. package/lib/stores/data-product/DataProductSampleQueryCreatorStore.d.ts.map +1 -1
  75. package/lib/stores/data-product/DataProductSampleQueryCreatorStore.js +12 -1
  76. package/lib/stores/data-product/DataProductSampleQueryCreatorStore.js.map +1 -1
  77. package/lib/stores/data-space/DataProductQueryCreatorStore.d.ts +10 -0
  78. package/lib/stores/data-space/DataProductQueryCreatorStore.d.ts.map +1 -1
  79. package/lib/stores/data-space/DataProductQueryCreatorStore.js +63 -19
  80. package/lib/stores/data-space/DataProductQueryCreatorStore.js.map +1 -1
  81. package/lib/stores/data-space/DataProductSelectorState.d.ts +4 -2
  82. package/lib/stores/data-space/DataProductSelectorState.d.ts.map +1 -1
  83. package/lib/stores/data-space/DataProductSelectorState.js +30 -9
  84. package/lib/stores/data-space/DataProductSelectorState.js.map +1 -1
  85. package/lib/stores/data-space/DataSpaceQueryBuilderHelper.d.ts.map +1 -1
  86. package/lib/stores/data-space/DataSpaceQueryBuilderHelper.js +5 -1
  87. package/lib/stores/data-space/DataSpaceQueryBuilderHelper.js.map +1 -1
  88. package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.d.ts +2 -0
  89. package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.d.ts.map +1 -1
  90. package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js +13 -7
  91. package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js.map +1 -1
  92. package/lib/stores/data-space/LegendQueryBareQueryBuilderState.d.ts.map +1 -1
  93. package/lib/stores/data-space/LegendQueryBareQueryBuilderState.js +1 -1
  94. package/lib/stores/data-space/LegendQueryBareQueryBuilderState.js.map +1 -1
  95. package/lib/stores/ingest/IngestQueryCreatorStore.d.ts +2 -0
  96. package/lib/stores/ingest/IngestQueryCreatorStore.d.ts.map +1 -1
  97. package/lib/stores/ingest/IngestQueryCreatorStore.js +10 -3
  98. package/lib/stores/ingest/IngestQueryCreatorStore.js.map +1 -1
  99. package/package.json +13 -13
  100. package/src/__lib__/LegendQueryAgentChatTelemetryHelper.ts +66 -10
  101. package/src/__lib__/LegendQueryEvent.ts +25 -0
  102. package/src/__lib__/LegendQueryLifecycleTelemetry.ts +132 -0
  103. package/src/__lib__/LegendQueryNavigation.ts +24 -5
  104. package/src/__lib__/LegendQuerySourceInfo.ts +162 -0
  105. package/src/__lib__/LegendQueryTelemetryHelper.ts +277 -1
  106. package/src/application/LegendQueryApplicationConfig.ts +12 -12
  107. package/src/components/Core_LegendQueryApplicationPlugin.tsx +47 -4
  108. package/src/components/QueryEditor.tsx +30 -2
  109. package/src/components/data-space/DataSpaceInfo.tsx +8 -8
  110. package/src/components/data-space/DataSpaceQuerySetup.tsx +25 -0
  111. package/src/components/data-space/LegendQueryDataSpaceQueryBuilder.tsx +25 -0
  112. package/src/index.ts +6 -1
  113. package/src/stores/EditExistingQuerySetupStore.ts +8 -20
  114. package/src/stores/LegendQueryApplicationPlugin.tsx +38 -0
  115. package/src/stores/QueryEditorStore.ts +269 -95
  116. package/src/stores/QueryProductionizerSetupStore.ts +24 -20
  117. package/src/stores/QuerySetupStore.ts +3 -0
  118. package/src/stores/__test-utils__/LegendQueryApplicationTestUtils.ts +0 -3
  119. package/src/stores/data-cube/ExistingQueryDataCubeViewer.ts +1 -0
  120. package/src/stores/data-product/DataProductSampleQueryCreatorStore.ts +17 -0
  121. package/src/stores/data-space/DataProductQueryCreatorStore.ts +99 -33
  122. package/src/stores/data-space/DataProductSelectorState.ts +58 -13
  123. package/src/stores/data-space/DataSpaceQueryBuilderHelper.ts +6 -1
  124. package/src/stores/data-space/DataSpaceTemplateQueryCreatorStore.ts +17 -6
  125. package/src/stores/data-space/LegendQueryBareQueryBuilderState.ts +5 -1
  126. package/src/stores/ingest/IngestQueryCreatorStore.ts +16 -5
  127. package/tsconfig.json +2 -0
@@ -65,6 +65,7 @@ import { LakehouseRuntimeConfigModal } from '../shared/LakehouseRuntimeConfigMod
65
65
  import type { DataProductWithLegacyOption } from '../../stores/data-space/DataProductSelectorState.js';
66
66
  import { formatDataProductOrSpaceOptionLabel } from '../shared/LegendQueryDataProductOptionLabel.js';
67
67
  import type { LegendQueryDataSpaceQueryBuilderState } from '../../stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js';
68
+ import { LegendQueryTelemetryHelper } from '../../__lib__/LegendQueryTelemetryHelper.js';
68
69
 
69
70
  const resolveExecutionContextRuntimes = (
70
71
  queryBuilderState: LegendQueryDataSpaceQueryBuilderState,
@@ -117,11 +118,35 @@ const LegendQueryDataSpaceQueryBuilderSetupPanelContent = observer(
117
118
  const value = option.value;
118
119
  if (value instanceof ResolvedDataSpaceEntityWithOrigin) {
119
120
  queryBuilderState.queryAgentChatState?.abort();
121
+ LegendQueryTelemetryHelper.logEvent_ChangeDataSpace(
122
+ applicationStore.telemetryService,
123
+ {
124
+ sourceInfo: queryBuilderState.sourceInfo,
125
+ to: {
126
+ groupId: value.origin?.groupId,
127
+ artifactId: value.origin?.artifactId,
128
+ versionId: value.origin?.versionId,
129
+ path: value.path,
130
+ },
131
+ },
132
+ );
120
133
  queryBuilderState
121
134
  .onDataSpaceChange(value)
122
135
  .catch(queryBuilderState.applicationStore.alertUnhandledError);
123
136
  } else if (value instanceof DepotEntityWithOrigin) {
124
137
  queryBuilderState.queryAgentChatState?.abort();
138
+ LegendQueryTelemetryHelper.logEvent_ChangeDataProduct(
139
+ applicationStore.telemetryService,
140
+ {
141
+ sourceInfo: queryBuilderState.sourceInfo,
142
+ to: {
143
+ groupId: value.origin?.groupId,
144
+ artifactId: value.origin?.artifactId,
145
+ versionId: value.origin?.versionId,
146
+ path: value.path,
147
+ },
148
+ },
149
+ );
125
150
  queryBuilderState.onDataProductChange(value);
126
151
  }
127
152
  };
package/src/index.ts CHANGED
@@ -21,7 +21,12 @@ export * from './application/LegendQueryPluginManager.js';
21
21
 
22
22
  export * from './__lib__/LegendQueryEvent.js';
23
23
  export * from './__lib__/LegendQueryEventHelper.js';
24
- export { LegendQueryTelemetryHelper } from './__lib__/LegendQueryTelemetryHelper.js';
24
+ export {
25
+ LegendQueryTelemetryHelper,
26
+ type InitializeQueryCreator_TelemetryData,
27
+ type InitializeQueryCreatorFailure_TelemetryData,
28
+ } from './__lib__/LegendQueryTelemetryHelper.js';
29
+ export * from './__lib__/LegendQuerySourceInfo.js';
25
30
  export { LegendQueryAgentChatTelemetryHelper } from './__lib__/LegendQueryAgentChatTelemetryHelper.js';
26
31
  export {
27
32
  generateExistingQueryEditorRoute,
@@ -22,10 +22,10 @@ import { BaseQuerySetupStore } from './QuerySetupStore.js';
22
22
  import type { DepotServerClient } from '@finos/legend-server-depot';
23
23
  import { quantifyList } from '@finos/legend-shared';
24
24
  import { LegendQueryUserDataHelper } from '../__lib__/LegendQueryUserDataHelper.js';
25
+ import { buildQueryLoaderLifecycleTelemetryHandlers } from '../__lib__/LegendQueryLifecycleTelemetry.js';
25
26
  import type { LegendQueryApplicationStore } from './LegendQueryBaseStore.js';
26
27
  import { QuerySearchSpecification, type LightQuery } from '@finos/legend-graph';
27
28
  import { generateExistingQueryEditorRoute } from '../__lib__/LegendQueryNavigation.js';
28
- import { LegendQueryTelemetryHelper } from '../__lib__/LegendQueryTelemetryHelper.js';
29
29
 
30
30
  export class EditExistingQuerySetupStore extends BaseQuerySetupStore {
31
31
  readonly queryLoaderState: QueryLoaderState;
@@ -74,25 +74,13 @@ export class EditExistingQuerySetupStore extends BaseQuerySetupStore {
74
74
  'recently viewed queries',
75
75
  )}`
76
76
  : `No recently viewed queries`,
77
- onQueryDeleted: (queryId): void =>
78
- LegendQueryUserDataHelper.removeRecentlyViewedQuery(
79
- this.applicationStore.userDataService,
80
- queryId,
81
- ),
82
- onQueryRenamed: (query): void => {
83
- LegendQueryTelemetryHelper.logEvent_RenameQuerySucceeded(
84
- applicationStore.telemetryService,
85
- {
86
- query: {
87
- id: query.id,
88
- name: query.name,
89
- groupId: query.groupId,
90
- artifactId: query.artifactId,
91
- versionId: query.versionId,
92
- },
93
- },
94
- );
95
- },
77
+ ...buildQueryLoaderLifecycleTelemetryHandlers(this.applicationStore, {
78
+ onQueryDeleted: (queryId): void =>
79
+ LegendQueryUserDataHelper.removeRecentlyViewedQuery(
80
+ this.applicationStore.userDataService,
81
+ queryId,
82
+ ),
83
+ }),
96
84
  handleFetchDefaultQueriesFailure: (): void =>
97
85
  LegendQueryUserDataHelper.removeRecentlyViewedQueries(
98
86
  this.applicationStore.userDataService,
@@ -16,9 +16,16 @@
16
16
 
17
17
  import { LegendApplicationPlugin } from '@finos/legend-application';
18
18
  import type {
19
+ DataProductAccessRequestLinkBuilder,
19
20
  QueryBuilder_LegendApplicationPlugin_Extension,
20
21
  QueryBuilderState,
21
22
  } from '@finos/legend-query-builder';
23
+ import {
24
+ isSnapshotVersion,
25
+ SNAPSHOT_VERSION_ALIAS,
26
+ } from '@finos/legend-server-depot';
27
+ import { LegendQueryDataProductQueryBuilderState } from './data-product/query-builder/LegendQueryDataProductQueryBuilderState.js';
28
+ import { EXTERNAL_APPLICATION_NAVIGATION__generateMarketplaceDataProductUrl } from '../__lib__/LegendQueryNavigation.js';
22
29
  import type { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
23
30
  import type {
24
31
  ExistingQueryEditorStore,
@@ -136,4 +143,35 @@ export class LegendQueryApplicationPlugin
136
143
  request: QueryTitleDescriptionAISuggestionRequest,
137
144
  legendAIUrl: string,
138
145
  ) => Promise<QueryTitleDescriptionSuggestion>;
146
+
147
+ getDataProductAccessRequestLinkBuilders(): DataProductAccessRequestLinkBuilder[] {
148
+ return [
149
+ (info, queryBuilderState): string | undefined => {
150
+ if (
151
+ !(
152
+ queryBuilderState instanceof LegendQueryDataProductQueryBuilderState
153
+ ) ||
154
+ info.deploymentId === undefined
155
+ ) {
156
+ return undefined;
157
+ }
158
+ const versionId = queryBuilderState.project.versionId;
159
+ const marketplaceUrl =
160
+ isSnapshotVersion(versionId) || versionId === SNAPSHOT_VERSION_ALIAS
161
+ ? queryBuilderState.applicationStore.config
162
+ .marketplaceProductionParallelUrl
163
+ : queryBuilderState.applicationStore.config
164
+ .marketplaceApplicationUrl;
165
+ if (marketplaceUrl === undefined) {
166
+ return undefined;
167
+ }
168
+ return EXTERNAL_APPLICATION_NAVIGATION__generateMarketplaceDataProductUrl(
169
+ marketplaceUrl,
170
+ info.dataProductId,
171
+ info.deploymentId,
172
+ info.accessPointGroupId,
173
+ );
174
+ },
175
+ ];
176
+ }
139
177
  }