@finos/legend-application-query 13.8.64 → 13.8.65

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 (76) hide show
  1. package/lib/__lib__/LegendQueryNavigation.d.ts +0 -1
  2. package/lib/__lib__/LegendQueryNavigation.d.ts.map +1 -1
  3. package/lib/__lib__/LegendQueryNavigation.js +0 -2
  4. package/lib/__lib__/LegendQueryNavigation.js.map +1 -1
  5. package/lib/__lib__/LegendQueryUserDataHelper.d.ts +12 -2
  6. package/lib/__lib__/LegendQueryUserDataHelper.d.ts.map +1 -1
  7. package/lib/__lib__/LegendQueryUserDataHelper.js +33 -1
  8. package/lib/__lib__/LegendQueryUserDataHelper.js.map +1 -1
  9. package/lib/__lib__/LegendQueryUserDataSpaceHelper.d.ts +10 -0
  10. package/lib/__lib__/LegendQueryUserDataSpaceHelper.d.ts.map +1 -1
  11. package/lib/__lib__/LegendQueryUserDataSpaceHelper.js +5 -0
  12. package/lib/__lib__/LegendQueryUserDataSpaceHelper.js.map +1 -1
  13. package/lib/application/Core_LegendQuery_LegendApplicationPlugin.d.ts +1 -7
  14. package/lib/application/Core_LegendQuery_LegendApplicationPlugin.d.ts.map +1 -1
  15. package/lib/application/Core_LegendQuery_LegendApplicationPlugin.js +1 -10
  16. package/lib/application/Core_LegendQuery_LegendApplicationPlugin.js.map +1 -1
  17. package/lib/application/LegendQueryApplicationConfig.d.ts +1 -35
  18. package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
  19. package/lib/application/LegendQueryApplicationConfig.js +1 -37
  20. package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
  21. package/lib/components/Core_LegendQueryApplicationPlugin.d.ts.map +1 -1
  22. package/lib/components/Core_LegendQueryApplicationPlugin.js +5 -1
  23. package/lib/components/Core_LegendQueryApplicationPlugin.js.map +1 -1
  24. package/lib/components/LegendQueryWebApplication.d.ts.map +1 -1
  25. package/lib/components/LegendQueryWebApplication.js +1 -2
  26. package/lib/components/LegendQueryWebApplication.js.map +1 -1
  27. package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.d.ts.map +1 -1
  28. package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.js +15 -12
  29. package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.js.map +1 -1
  30. package/lib/index.css +2 -2
  31. package/lib/index.css.map +1 -1
  32. package/lib/light-mode.css +1 -1
  33. package/lib/package.json +1 -2
  34. package/lib/stores/QueryEditorStore.d.ts.map +1 -1
  35. package/lib/stores/QueryEditorStore.js +2 -0
  36. package/lib/stores/QueryEditorStore.js.map +1 -1
  37. package/lib/stores/data-space/DataProductQueryCreatorStore.d.ts.map +1 -1
  38. package/lib/stores/data-space/DataProductQueryCreatorStore.js +13 -2
  39. package/lib/stores/data-space/DataProductQueryCreatorStore.js.map +1 -1
  40. package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.d.ts +33 -1
  41. package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.d.ts.map +1 -1
  42. package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js +120 -3
  43. package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js.map +1 -1
  44. package/package.json +14 -15
  45. package/src/__lib__/LegendQueryNavigation.ts +0 -2
  46. package/src/__lib__/LegendQueryUserDataHelper.ts +72 -1
  47. package/src/__lib__/LegendQueryUserDataSpaceHelper.ts +21 -0
  48. package/src/application/Core_LegendQuery_LegendApplicationPlugin.ts +0 -14
  49. package/src/application/LegendQueryApplicationConfig.ts +0 -68
  50. package/src/components/Core_LegendQueryApplicationPlugin.tsx +7 -1
  51. package/src/components/LegendQueryWebApplication.tsx +0 -14
  52. package/src/components/data-space/LegendQueryDataSpaceQueryBuilder.tsx +29 -22
  53. package/src/stores/QueryEditorStore.ts +2 -0
  54. package/src/stores/data-space/DataProductQueryCreatorStore.ts +19 -9
  55. package/src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts +167 -1
  56. package/tsconfig.json +0 -4
  57. package/lib/components/cube/LegendQueryCubePage.d.ts +0 -18
  58. package/lib/components/cube/LegendQueryCubePage.d.ts.map +0 -1
  59. package/lib/components/cube/LegendQueryCubePage.js +0 -31
  60. package/lib/components/cube/LegendQueryCubePage.js.map +0 -1
  61. package/lib/components/cube/LegendQueryCubeRoute.d.ts +0 -18
  62. package/lib/components/cube/LegendQueryCubeRoute.d.ts.map +0 -1
  63. package/lib/components/cube/LegendQueryCubeRoute.js +0 -26
  64. package/lib/components/cube/LegendQueryCubeRoute.js.map +0 -1
  65. package/lib/stores/cube/LegendQueryCubeEntry.d.ts +0 -38
  66. package/lib/stores/cube/LegendQueryCubeEntry.d.ts.map +0 -1
  67. package/lib/stores/cube/LegendQueryCubeEntry.js +0 -59
  68. package/lib/stores/cube/LegendQueryCubeEntry.js.map +0 -1
  69. package/lib/stores/cube/LegendQueryCubeHost.d.ts +0 -45
  70. package/lib/stores/cube/LegendQueryCubeHost.d.ts.map +0 -1
  71. package/lib/stores/cube/LegendQueryCubeHost.js +0 -80
  72. package/lib/stores/cube/LegendQueryCubeHost.js.map +0 -1
  73. package/src/components/cube/LegendQueryCubePage.tsx +0 -40
  74. package/src/components/cube/LegendQueryCubeRoute.tsx +0 -42
  75. package/src/stores/cube/LegendQueryCubeEntry.ts +0 -74
  76. package/src/stores/cube/LegendQueryCubeHost.ts +0 -114
@@ -14,23 +14,30 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { DataSpaceQueryBuilderState, ResolvedDataSpaceEntityWithOrigin, } from '@finos/legend-extension-dsl-data-space/application';
17
- import { DataSpaceServiceExecutableInfo, } from '@finos/legend-extension-dsl-data-space/graph';
17
+ import { DataSpaceServiceExecutableInfo, resolveExecutionContextMapping, } from '@finos/legend-extension-dsl-data-space/graph';
18
18
  import { generateDataSpaceQueryCreatorRoute, generateDataSpaceTemplateQueryCreatorRoute, } from '../../../__lib__/DSL_DataSpace_LegendQueryNavigation.js';
19
19
  import { DataSpaceAdvancedSearchState, } from '@finos/legend-extension-dsl-data-space/application-query';
20
20
  import { resolveVersion, SNAPSHOT_VERSION_ALIAS, } from '@finos/legend-server-depot';
21
- import { GraphDataWithOrigin, INTERNAL_ELEMENT_PATH, LakehouseRuntime, LegendSDLC, RuntimePointer, } from '@finos/legend-graph';
21
+ import { GraphDataWithOrigin, INTERNAL_ELEMENT_PATH, LakehouseRuntime, LegendSDLC, PackageableElementExplicitReference, RuntimePointer, getMappingCompatibleRuntimes, } from '@finos/legend-graph';
22
22
  import {} from '@finos/legend-query-builder';
23
23
  import { renderLegendQueryDataSpaceQueryBuilderSetupPanelContent } from '../../../components/data-space/LegendQueryDataSpaceQueryBuilder.js';
24
24
  import { QueryBuilderActionConfig_QueryApplication } from '../../QueryEditorStore.js';
25
25
  import { createViewProjectHandler, createViewSDLCProjectHandler, } from '../DataSpaceQueryBuilderHelper.js';
26
- import {} from '@finos/legend-shared';
26
+ import { LogEvent, assertErrorThrown, } from '@finos/legend-shared';
27
27
  import { action, flowResult, makeObservable, observable, reaction } from 'mobx';
28
+ import { LegendQueryUserDataHelper } from '../../../__lib__/LegendQueryUserDataHelper.js';
29
+ import { createDataSpaceRuntimePreferenceId } from '../../../__lib__/LegendQueryUserDataSpaceHelper.js';
30
+ import { LEGEND_QUERY_APP_EVENT } from '../../../__lib__/LegendQueryEvent.js';
28
31
  export class LegendQueryDataSpaceQueryBuilderState extends DataSpaceQueryBuilderState {
29
32
  depotServerClient;
30
33
  project;
31
34
  onDataProductChange;
32
35
  productSelectorState;
33
36
  injectedLakehouseRuntime;
37
+ /**
38
+ * The runtime this user saved for the current execution context, if any
39
+ */
40
+ savedRuntimePath;
34
41
  TEMPORARY__setupPanelContentRenderer = () => renderLegendQueryDataSpaceQueryBuilderSetupPanelContent(this);
35
42
  constructor(applicationStore, graphManagerState, workflow, actionConfig, dataSpace, executionContext, isLightGraphEnabled, depotServerClient, project, prioritizeEntityFunc, onDataSpaceChange, productSelectorState, onDataProductChange, dataSpaceAnalysisResult, onExecutionContextChange, onRuntimeChange, onClassChange, config, sourceInfo) {
36
43
  super(applicationStore, graphManagerState, workflow, actionConfig, dataSpace, executionContext, isLightGraphEnabled, prioritizeEntityFunc, onDataSpaceChange, dataSpaceAnalysisResult, onExecutionContextChange, onRuntimeChange, onClassChange, config, sourceInfo);
@@ -41,13 +48,123 @@ export class LegendQueryDataSpaceQueryBuilderState extends DataSpaceQueryBuilder
41
48
  this.injectedLakehouseRuntime = this.resolveInjectedLakehouseRuntime();
42
49
  makeObservable(this, {
43
50
  injectedLakehouseRuntime: observable,
51
+ savedRuntimePath: observable,
44
52
  setInjectedLakehouseRuntime: action,
53
+ setSavedRuntimePath: action,
45
54
  });
46
55
  reaction(() => this.executionContextState.runtimeValue, () => this.setInjectedLakehouseRuntime(this.resolveInjectedLakehouseRuntime()));
47
56
  }
48
57
  setInjectedLakehouseRuntime(val) {
49
58
  this.injectedLakehouseRuntime = val;
50
59
  }
60
+ setSavedRuntimePath(val) {
61
+ this.savedRuntimePath = val;
62
+ }
63
+ /**
64
+ * The runtimes that can run the mapping of the current execution context
65
+ */
66
+ get compatibleRuntimes() {
67
+ const mapping = resolveExecutionContextMapping(this.executionContext);
68
+ if (!mapping) {
69
+ return [];
70
+ }
71
+ const analyzedExecutionContext = this.dataSpaceAnalysisResult
72
+ ? Array.from(this.dataSpaceAnalysisResult.executionContextsIndex.values()).find((context) => context.mapping.path === mapping.path)
73
+ : undefined;
74
+ return (analyzedExecutionContext?.compatibleRuntimes ??
75
+ getMappingCompatibleRuntimes(mapping, this.graphManagerState.usableRuntimes));
76
+ }
77
+ get currentRuntimePath() {
78
+ const runtime = this.executionContextState.runtimeValue;
79
+ return runtime instanceof RuntimePointer
80
+ ? runtime.packageableRuntime.value.path
81
+ : undefined;
82
+ }
83
+ get defaultRuntimePath() {
84
+ return this.executionContext.defaultRuntime?.value.path;
85
+ }
86
+ get runtimePreferenceId() {
87
+ return createDataSpaceRuntimePreferenceId(this.project.groupId, this.project.artifactId, this.dataSpace.path, this.executionContext.name);
88
+ }
89
+ /**
90
+ * Switches to the runtime this user picked for the current execution context
91
+ * before, if any. A saved runtime that can no longer run the context, e.g.
92
+ * removed in a newer version of the project, is forgotten.
93
+ *
94
+ * Returns whether the saved runtime is in use.
95
+ */
96
+ applySavedRuntime() {
97
+ this.setSavedRuntimePath(undefined);
98
+ const savedRuntimePath = LegendQueryUserDataHelper.getDataSpaceRuntimePreference(this.applicationStore.userDataService, this.runtimePreferenceId);
99
+ if (!savedRuntimePath) {
100
+ return false;
101
+ }
102
+ const runtime = this.compatibleRuntimes.find((compatibleRuntime) => compatibleRuntime.path === savedRuntimePath);
103
+ if (!runtime || savedRuntimePath === this.defaultRuntimePath) {
104
+ this.forgetSavedRuntime();
105
+ return false;
106
+ }
107
+ // mark the choice as used again, so choices in use are not the ones
108
+ // dropped when the list is full
109
+ this.saveRuntime(savedRuntimePath);
110
+ if (this.currentRuntimePath !== savedRuntimePath) {
111
+ this.changeRuntime(new RuntimePointer(PackageableElementExplicitReference.create(runtime)));
112
+ }
113
+ // a runtime other than the default is never applied out of sight
114
+ this.setShowRuntimeSelector(true);
115
+ return true;
116
+ }
117
+ /**
118
+ * Saves the runtime this user picked in the setup panel for the current
119
+ * execution context. Picking the context's default runtime forgets the choice.
120
+ */
121
+ rememberRuntime(runtime) {
122
+ if (!(runtime instanceof RuntimePointer)) {
123
+ return;
124
+ }
125
+ const packageableRuntime = runtime.packageableRuntime.value;
126
+ // runtimes Query builds for the session, e.g. the lakehouse fallback, are
127
+ // not found again by their path
128
+ if (packageableRuntime.package?.path === INTERNAL_ELEMENT_PATH) {
129
+ return;
130
+ }
131
+ if (packageableRuntime.path === this.defaultRuntimePath) {
132
+ this.forgetSavedRuntime();
133
+ return;
134
+ }
135
+ this.saveRuntime(packageableRuntime.path);
136
+ }
137
+ /**
138
+ * Goes back to the default runtime of the current execution context and
139
+ * forgets the runtime this user saved for it
140
+ */
141
+ resetToDefaultRuntime() {
142
+ const defaultRuntime = this.executionContext.defaultRuntime;
143
+ if (defaultRuntime) {
144
+ this.changeRuntime(new RuntimePointer(defaultRuntime));
145
+ }
146
+ this.forgetSavedRuntime();
147
+ }
148
+ saveRuntime(runtimePath) {
149
+ this.setSavedRuntimePath(runtimePath);
150
+ try {
151
+ LegendQueryUserDataHelper.persistDataSpaceRuntimePreference(this.applicationStore.userDataService, this.runtimePreferenceId, runtimePath);
152
+ }
153
+ catch (error) {
154
+ assertErrorThrown(error);
155
+ this.applicationStore.logService.warn(LogEvent.create(LEGEND_QUERY_APP_EVENT.LOCAL_STORAGE_PERSIST_ERROR), error.message);
156
+ }
157
+ }
158
+ forgetSavedRuntime() {
159
+ this.setSavedRuntimePath(undefined);
160
+ try {
161
+ LegendQueryUserDataHelper.removeDataSpaceRuntimePreference(this.applicationStore.userDataService, this.runtimePreferenceId);
162
+ }
163
+ catch (error) {
164
+ assertErrorThrown(error);
165
+ this.applicationStore.logService.warn(LogEvent.create(LEGEND_QUERY_APP_EVENT.LOCAL_STORAGE_PERSIST_ERROR), error.message);
166
+ }
167
+ }
51
168
  resolveInjectedLakehouseRuntime() {
52
169
  const runtime = this.executionContextState.runtimeValue;
53
170
  if (!(runtime instanceof RuntimePointer)) {
@@ -1 +1 @@
1
- {"version":3,"file":"LegendQueryDataSpaceQueryBuilderState.js","sourceRoot":"","sources":["../../../../src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LegendQueryDataSpaceQueryBuilderState.js","sourceRoot":"","sources":["../../../../src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-query",
3
- "version": "13.8.64",
3
+ "version": "13.8.65",
4
4
  "description": "Legend Query application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -44,19 +44,18 @@
44
44
  "test:watch": "jest --watch"
45
45
  },
46
46
  "dependencies": {
47
- "@finos/legend-application": "16.0.129",
48
- "@finos/legend-art": "7.1.169",
49
- "@finos/legend-code-editor": "2.0.212",
50
- "@finos/legend-cube-builder": "0.0.7",
51
- "@finos/legend-data-cube": "0.3.130",
52
- "@finos/legend-extension-dsl-data-space": "10.4.266",
53
- "@finos/legend-graph": "32.8.1",
54
- "@finos/legend-lego": "2.0.232",
55
- "@finos/legend-query-builder": "4.19.21",
56
- "@finos/legend-server-depot": "6.1.24",
57
- "@finos/legend-server-lakehouse": "0.4.1",
58
- "@finos/legend-shared": "11.0.32",
59
- "@finos/legend-storage": "3.0.154",
47
+ "@finos/legend-application": "16.0.130",
48
+ "@finos/legend-art": "7.1.170",
49
+ "@finos/legend-code-editor": "2.0.213",
50
+ "@finos/legend-data-cube": "0.3.131",
51
+ "@finos/legend-extension-dsl-data-space": "10.4.267",
52
+ "@finos/legend-graph": "32.9.0",
53
+ "@finos/legend-lego": "2.0.233",
54
+ "@finos/legend-query-builder": "4.19.22",
55
+ "@finos/legend-server-depot": "6.1.25",
56
+ "@finos/legend-server-lakehouse": "0.4.2",
57
+ "@finos/legend-shared": "11.0.33",
58
+ "@finos/legend-storage": "3.0.155",
60
59
  "@testing-library/dom": "10.4.0",
61
60
  "@testing-library/react": "16.2.0",
62
61
  "@types/react": "19.0.10",
@@ -71,7 +70,7 @@
71
70
  "serializr": "3.0.3"
72
71
  },
73
72
  "devDependencies": {
74
- "@finos/legend-dev-utils": "2.2.10",
73
+ "@finos/legend-dev-utils": "2.2.11",
75
74
  "@jest/globals": "29.7.0",
76
75
  "cross-env": "7.0.3",
77
76
  "eslint": "9.22.0",
@@ -65,8 +65,6 @@ export const LEGEND_QUERY_ROUTE_PATTERN = Object.freeze({
65
65
  // Developer-only diagnostic page for inspecting depot DataSpace
66
66
  // analytics artifact sizes. See `DataSpaceArtifactInspector`.
67
67
  DEV_DATA_SPACE_INSPECTOR: '/dev/dataspace-inspector',
68
- // Legend Cube, the canvas query builder
69
- CUBE: '/cube',
70
68
  });
71
69
 
72
70
  // DataProduct
@@ -15,7 +15,11 @@
15
15
  */
16
16
 
17
17
  import type { UserDataService } from '@finos/legend-application';
18
- import { returnUndefOnError } from '@finos/legend-shared';
18
+ import {
19
+ isPlainObject,
20
+ isString,
21
+ returnUndefOnError,
22
+ } from '@finos/legend-shared';
19
23
  import {
20
24
  createSimpleSchema,
21
25
  deserialize,
@@ -30,6 +34,7 @@ import {
30
34
  createVisitedDataProductId,
31
35
  type VisitedLegacyDataProduct,
32
36
  type VisitedDataProduct,
37
+ type DataSpaceRuntimePreference,
33
38
  } from './LegendQueryUserDataSpaceHelper.js';
34
39
  import type { ResolvedDataSpaceEntityWithOrigin } from '@finos/legend-extension-dsl-data-space/application';
35
40
 
@@ -38,6 +43,7 @@ export enum LEGEND_QUERY_USER_DATA_KEY {
38
43
  RECENTLY_VIEWED_LEGACY_DATAPRODUCTS = 'query-editor.recent-dataSpaces',
39
44
  RECENTLY_VIEWED_DATAPRODUCTS = 'query-editor.recent-dataProducts',
40
45
  USER_LAKEHOUSE_INFO = 'query-editor.lakehouse-info',
46
+ DATASPACE_RUNTIME_PREFERENCES = 'query-editor.dataSpace-runtimes',
41
47
  }
42
48
 
43
49
  export interface LakehouseUserInfo {
@@ -48,6 +54,7 @@ export interface LakehouseUserInfo {
48
54
  export const USER_DATA_RECENTLY_VIEWED_QUERIES_LIMIT = 10;
49
55
  export const USER_DATA_QUERY_DATASPACE_LIMIT = 10;
50
56
  export const USER_DATA_QUERY_DATAPRODUCT_LIMIT = 50;
57
+ export const USER_DATA_QUERY_DATASPACE_RUNTIME_LIMIT = 50;
51
58
 
52
59
  type SavedData = string[];
53
60
 
@@ -285,6 +292,70 @@ export class LegendQueryUserDataHelper {
285
292
  return false;
286
293
  }
287
294
 
295
+ // DataSpace runtime preferences
296
+ static getDataSpaceRuntimePreferences(
297
+ service: UserDataService,
298
+ ): DataSpaceRuntimePreference[] {
299
+ const data: unknown = service.getObjectValue(
300
+ LEGEND_QUERY_USER_DATA_KEY.DATASPACE_RUNTIME_PREFERENCES,
301
+ );
302
+ // read on every data space load, so a malformed value is ignored rather
303
+ // than failing the load
304
+ return Array.isArray(data)
305
+ ? data.filter(
306
+ (preference): preference is DataSpaceRuntimePreference =>
307
+ isPlainObject(preference) &&
308
+ isString(preference.id) &&
309
+ isString(preference.runtimePath),
310
+ )
311
+ : [];
312
+ }
313
+
314
+ static getDataSpaceRuntimePreference(
315
+ service: UserDataService,
316
+ id: string,
317
+ ): string | undefined {
318
+ return LegendQueryUserDataHelper.getDataSpaceRuntimePreferences(
319
+ service,
320
+ ).find((preference) => preference.id === id)?.runtimePath;
321
+ }
322
+
323
+ /**
324
+ * Saves the runtime for the given id, or marks it as used again, moving it to
325
+ * the front so the choices in use are not the ones dropped at the limit
326
+ */
327
+ static persistDataSpaceRuntimePreference(
328
+ service: UserDataService,
329
+ id: string,
330
+ runtimePath: string,
331
+ limit = USER_DATA_QUERY_DATASPACE_RUNTIME_LIMIT,
332
+ ): void {
333
+ const preferences =
334
+ LegendQueryUserDataHelper.getDataSpaceRuntimePreferences(service).filter(
335
+ (preference) => preference.id !== id,
336
+ );
337
+ preferences.unshift({ id, runtimePath, lastUsedAt: Date.now() });
338
+ service.persistValue(
339
+ LEGEND_QUERY_USER_DATA_KEY.DATASPACE_RUNTIME_PREFERENCES,
340
+ preferences.slice(0, limit),
341
+ );
342
+ }
343
+
344
+ static removeDataSpaceRuntimePreference(
345
+ service: UserDataService,
346
+ id: string,
347
+ ): void {
348
+ const preferences =
349
+ LegendQueryUserDataHelper.getDataSpaceRuntimePreferences(service);
350
+ const remaining = preferences.filter((preference) => preference.id !== id);
351
+ if (remaining.length !== preferences.length) {
352
+ service.persistValue(
353
+ LEGEND_QUERY_USER_DATA_KEY.DATASPACE_RUNTIME_PREFERENCES,
354
+ remaining,
355
+ );
356
+ }
357
+ }
358
+
288
359
  // DataProducts
289
360
  static getRecentlyVisitedDataProducts(
290
361
  service: UserDataService,
@@ -146,3 +146,24 @@ export const createSimpleVisitedDataProduct = (
146
146
  deploymentId,
147
147
  lastViewedAt: Date.now(),
148
148
  });
149
+
150
+ /**
151
+ * The runtime a user picked for an execution context of a data space, so it is
152
+ * used again the next time they query it, instead of the context's default
153
+ */
154
+ export interface DataSpaceRuntimePreference {
155
+ id: string;
156
+ runtimePath: string;
157
+ lastUsedAt?: number | undefined;
158
+ }
159
+
160
+ export const createDataSpaceRuntimePreferenceId = (
161
+ groupId: string,
162
+ artifactId: string,
163
+ dataSpace: string,
164
+ executionContext: string,
165
+ ): string =>
166
+ // like visited data spaces, a choice holds for every version of the project
167
+ createVisitedDataSpaceId(groupId, artifactId, dataSpace) +
168
+ GAV_DELIMITER +
169
+ executionContext;
@@ -18,12 +18,9 @@ import {
18
18
  Core_LegendApplicationPlugin,
19
19
  LEGEND_APPLICATION_COLOR_THEME,
20
20
  LEGEND_APPLICATION_SETTING_KEY,
21
- collectKeyedCommandConfigEntriesFromConfig,
22
21
  collectSettingConfigurationEntriesFromConfig,
23
- type KeyedCommandConfigEntry,
24
22
  type SettingConfigurationEntry,
25
23
  } from '@finos/legend-application';
26
- import { LEGEND_CUBE_COMMAND_CONFIG } from '@finos/legend-cube-builder';
27
24
 
28
25
  export const LEGEND_QUERY_APPLICATION_SETTING_CONFIG = {
29
26
  [LEGEND_APPLICATION_SETTING_KEY.COLOR_THEME]: {
@@ -38,15 +35,4 @@ export class Core_LegendQuery_LegendApplicationPlugin extends Core_LegendApplica
38
35
  LEGEND_QUERY_APPLICATION_SETTING_CONFIG,
39
36
  );
40
37
  }
41
-
42
- /**
43
- * The Cube page's shortcuts (F9, Ctrl/Cmd+Z): a Legend application binds
44
- * keys only through its plugins, and the page registers the commands only
45
- * while it is open (PLAN §3.5)
46
- */
47
- override getExtraKeyedCommandConfigEntries(): KeyedCommandConfigEntry[] {
48
- return collectKeyedCommandConfigEntriesFromConfig(
49
- LEGEND_CUBE_COMMAND_CONFIG,
50
- );
51
- }
52
38
  }
@@ -26,7 +26,6 @@ import {
26
26
  LegendApplicationConfig,
27
27
  type LegendApplicationConfigurationInput,
28
28
  type LegendApplicationConfigurationData,
29
- StereotypeConfig,
30
29
  } from '@finos/legend-application';
31
30
  import {
32
31
  createModelSchema,
@@ -69,45 +68,6 @@ export class ServiceRegistrationEnvironmentConfig {
69
68
  );
70
69
  }
71
70
 
72
- /**
73
- * The producers of data products, as Legend Marketplace configures them:
74
- * Query reads only the engine path of the Legend user service naming
75
- * producer deployments, which Legend Cube's Ingest tab labels its producers
76
- * with
77
- */
78
- export class LegendQueryDataProductProducerConfig {
79
- deploymentLegendServiceUrl: string | undefined;
80
-
81
- static readonly serialization = new SerializationFactory(
82
- createModelSchema(LegendQueryDataProductProducerConfig, {
83
- deploymentLegendServiceUrl: optional(primitive()),
84
- }),
85
- );
86
- }
87
-
88
- /**
89
- * Data products, as Legend Studio and Legend Marketplace configure them:
90
- * Query reads only the stereotype that marks access point groups open to
91
- * everyone in the organization, which Legend Cube's access badges use
92
- */
93
- export class LegendQueryDataProductConfig {
94
- publicStereotype: StereotypeConfig | undefined;
95
- producer: LegendQueryDataProductProducerConfig | undefined;
96
-
97
- static readonly serialization = new SerializationFactory(
98
- createModelSchema(LegendQueryDataProductConfig, {
99
- publicStereotype: optional(
100
- usingModelSchema(StereotypeConfig.serialization.schema),
101
- ),
102
- producer: optional(
103
- usingModelSchema(
104
- LegendQueryDataProductProducerConfig.serialization.schema,
105
- ),
106
- ),
107
- }),
108
- );
109
- }
110
-
111
71
  class LegendQueryApplicationCoreOptions {
112
72
  /**
113
73
  * Provides service registration environment configs.
@@ -148,9 +108,6 @@ class LegendQueryApplicationCoreOptions {
148
108
  */
149
109
  enableOauthFlow = false;
150
110
 
151
- /** Data products, as Studio and Marketplace configure them (`options.dataProductConfig`) */
152
- dataProductConfig: LegendQueryDataProductConfig | undefined;
153
-
154
111
  private static readonly serialization = new SerializationFactory(
155
112
  createModelSchema(LegendQueryApplicationCoreOptions, {
156
113
  TEMPORARY__serviceRegistrationConfig: list(
@@ -165,9 +122,6 @@ class LegendQueryApplicationCoreOptions {
165
122
  usingModelSchema(LegendQueryOIDCConfiguration.serialization.schema),
166
123
  ),
167
124
  enableOauthFlow: optional(primitive()),
168
- dataProductConfig: optional(
169
- usingModelSchema(LegendQueryDataProductConfig.serialization.schema),
170
- ),
171
125
  }),
172
126
  );
173
127
 
@@ -204,19 +158,9 @@ export interface LegendQueryApplicationConfigurationData
204
158
  marketplace?: {
205
159
  url: string;
206
160
  productionParallelUrl: string;
207
- /**
208
- * The marketplace server, whose search Legend Cube's data product tab
209
- * uses: the URL Legend Marketplace's own config names `marketplace.url`
210
- */
211
- serverUrl?: string;
212
161
  };
213
162
  lakehouse?: {
214
163
  url: string;
215
- /**
216
- * The lakehouse platform, which names the ingest servers: Legend Cube's
217
- * ingest data sets need it, as Data Cube's and Marketplace's do
218
- */
219
- platformUrl?: string;
220
164
  };
221
165
  legendAI?: {
222
166
  url?: string;
@@ -236,9 +180,7 @@ export class LegendQueryApplicationConfig extends LegendApplicationConfig {
236
180
  readonly dataCubeApplicationUrl?: string;
237
181
  readonly marketplaceApplicationUrl?: string;
238
182
  readonly marketplaceProductionParallelUrl?: string;
239
- readonly marketplaceServerUrl?: string;
240
183
  readonly lakehouseContractUrl?: string;
241
- readonly lakehousePlatformUrl?: string;
242
184
  readonly legendAIUrl?: string;
243
185
  readonly legendAIAgentUrl?: string;
244
186
  readonly studioInstances: LegendStudioApplicationInstanceConfigurationData[] =
@@ -318,11 +260,6 @@ export class LegendQueryApplicationConfig extends LegendApplicationConfig {
318
260
  input.configData.marketplace.productionParallelUrl,
319
261
  );
320
262
  }
321
- if (input.configData.marketplace?.serverUrl) {
322
- this.marketplaceServerUrl = LegendApplicationConfig.resolveAbsoluteUrl(
323
- input.configData.marketplace.serverUrl,
324
- );
325
- }
326
263
 
327
264
  // lakehouse
328
265
  if (input.configData.lakehouse?.url) {
@@ -330,11 +267,6 @@ export class LegendQueryApplicationConfig extends LegendApplicationConfig {
330
267
  input.configData.lakehouse.url,
331
268
  );
332
269
  }
333
- if (input.configData.lakehouse?.platformUrl) {
334
- this.lakehousePlatformUrl = LegendApplicationConfig.resolveAbsoluteUrl(
335
- input.configData.lakehouse.platformUrl,
336
- );
337
- }
338
270
 
339
271
  // legend AI (AI-assisted features such as query title/description suggester)
340
272
  if (input.configData.legendAI?.url) {
@@ -1262,7 +1262,13 @@ export class Core_LegendQueryApplicationPlugin extends LegendQueryApplicationPlu
1262
1262
  : undefined;
1263
1263
  if (runtime) {
1264
1264
  dataSpaceQueryBuilderState.changeRuntime(runtime);
1265
- } else {
1265
+ }
1266
+ // the runtime this user picked for the context before wins over its default
1267
+ const isSavedRuntimeApplied =
1268
+ dataSpaceQueryBuilderState instanceof
1269
+ LegendQueryDataSpaceQueryBuilderState &&
1270
+ dataSpaceQueryBuilderState.applySavedRuntime();
1271
+ if (!runtime && !isSavedRuntimeApplied) {
1266
1272
  dataSpaceQueryBuilderState.applicationStore.notificationService.notifyWarning(
1267
1273
  `Execution context '${executionContext.name}' does not have a default runtime`,
1268
1274
  );
@@ -44,7 +44,6 @@ import { QueryCreator } from './data-space/DataProductQueryCreator.js';
44
44
  import { IngestQueryCreator } from './ingest/IngestQueryCreator.js';
45
45
  import { ExistingQueryDataCubeViewer } from './data-cube/ExistingQueryDataCubeViewer.js';
46
46
  import { DataSpaceArtifactInspector } from './DataSpaceArtifactInspector.js';
47
- import { LegendQueryCubeRoute } from './cube/LegendQueryCubeRoute.js';
48
47
  import {
49
48
  AuthProvider,
50
49
  withAuthenticationRequired,
@@ -138,19 +137,6 @@ const LegendQueryWebApplicationRouter = observer(() => {
138
137
  element={<DataSpaceArtifactInspector />}
139
138
  />
140
139
 
141
- {/*
142
- Legend Cube is a proof of concept: it is only mounted where the
143
- config turns on non-production features
144
- (`extensions.core.NonProductionFeatureFlag`), so production
145
- deployments don't show it yet.
146
- */}
147
- {applicationStore.config.options.NonProductionFeatureFlag && (
148
- <Route
149
- path={LEGEND_QUERY_ROUTE_PATTERN.CUBE}
150
- element={<LegendQueryCubeRoute />}
151
- />
152
- )}
153
-
154
140
  {/* LEGACY DATA SPACE */}
155
141
  <Route
156
142
  path={generateExtensionUrlPattern(