@finos/legend-application-studio 28.3.4 → 28.4.0

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 (55) hide show
  1. package/lib/application/LegendStudioApplicationConfig.d.ts +5 -0
  2. package/lib/application/LegendStudioApplicationConfig.d.ts.map +1 -1
  3. package/lib/application/LegendStudioApplicationConfig.js +7 -1
  4. package/lib/application/LegendStudioApplicationConfig.js.map +1 -1
  5. package/lib/components/editor/editor-group/FunctionEditor.d.ts.map +1 -1
  6. package/lib/components/editor/editor-group/FunctionEditor.js +1 -1
  7. package/lib/components/editor/editor-group/FunctionEditor.js.map +1 -1
  8. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.d.ts +5 -0
  9. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
  10. package/lib/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.d.ts.map +1 -1
  11. package/lib/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.js +1 -1
  12. package/lib/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.js.map +1 -1
  13. package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
  14. package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js +1 -1
  15. package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js.map +1 -1
  16. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
  17. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +1 -1
  18. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
  19. package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.d.ts +4 -1
  20. package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -1
  21. package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.js +52 -4
  22. package/lib/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.js.map +1 -1
  23. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts +23 -1
  24. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -1
  25. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js +101 -8
  26. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
  27. package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.d.ts.map +1 -1
  28. package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.js +1 -1
  29. package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.js.map +1 -1
  30. package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
  31. package/lib/components/editor/side-bar/Explorer.js +8 -2
  32. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  33. package/lib/index.css +1 -1
  34. package/lib/package.json +8 -8
  35. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.d.ts +2 -2
  36. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.d.ts.map +1 -1
  37. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.js +3 -3
  38. package/lib/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.js.map +1 -1
  39. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts +38 -1
  40. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
  41. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +195 -6
  42. package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
  43. package/package.json +19 -19
  44. package/src/application/LegendStudioApplicationConfig.ts +10 -0
  45. package/src/components/editor/editor-group/FunctionEditor.tsx +1 -0
  46. package/src/components/editor/editor-group/data-editor/RelationalCSVDataEditor.tsx +1 -1
  47. package/src/components/editor/editor-group/mapping-editor/DEPRECATED__MappingTestEditor.tsx +1 -0
  48. package/src/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.tsx +1 -0
  49. package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +1 -0
  50. package/src/components/editor/editor-group/service-editor/ServiceExecutionQueryEditor.tsx +107 -7
  51. package/src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx +296 -5
  52. package/src/components/editor/editor-group/uml-editor/ClassQueryBuilder.tsx +1 -0
  53. package/src/components/editor/side-bar/Explorer.tsx +17 -0
  54. package/src/stores/editor/editor-state/element-editor-state/mapping/MappingExecutionQueryBuilderState.ts +6 -2
  55. package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +337 -11
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ConnectionTestData, PureSingleExecution, PureMultiExecution, DatabaseConnection, buildLambdaVariableExpressions, VariableExpression, DataElementReference, PackageableElementExplicitReference, ConnectionPointer, reportGraphAnalytics, observe_ValueSpecification, getAllIdentifiedConnectionsFromRuntime, getAllIdentifiedServiceConnections, Database, RuntimePointer, buildRawLambdaFromLambdaFunction, } from '@finos/legend-graph';
17
- import { ActionState, assertErrorThrown, deleteEntry, filterByType, guaranteeNonNullable, returnUndefOnError, getNullableFirstEntry, assertType, assertTrue, } from '@finos/legend-shared';
16
+ import { ConnectionTestData, PureSingleExecution, PureMultiExecution, DatabaseConnection, buildLambdaVariableExpressions, VariableExpression, DataElementReference, PackageableElementExplicitReference, ConnectionPointer, reportGraphAnalytics, observe_ValueSpecification, getAllIdentifiedConnectionsFromRuntime, getAllIdentifiedServiceConnections, Database, RuntimePointer, buildRawLambdaFromLambdaFunction, TableRowIdentifiers, RowIdentifier, ColumnValuePair, TablePtr, } from '@finos/legend-graph';
17
+ import { ActionState, assertErrorThrown, deleteEntry, filterByType, guaranteeNonNullable, returnUndefOnError, getNullableFirstEntry, assertType, assertTrue, uuid, } from '@finos/legend-shared';
18
18
  import { action, flow, flowResult, makeObservable, observable } from 'mobx';
19
19
  import { service_addConnectionTestData, service_setConnectionTestDataEmbeddedData, } from '../../../../../graph-modifier/DSL_Service_GraphModifierHelper.js';
20
20
  import { TEMPORARY__createRelationalDataFromCSV, EmbeddedDataConnectionTypeVisitor, TEMPORARY__EmbeddedDataConnectionVisitor, } from '../../../../utils/TestableUtils.js';
@@ -22,7 +22,8 @@ import { EmbeddedDataType } from '../../../ExternalFormatState.js';
22
22
  import { EmbeddedDataEditorState, } from '../../data/DataEditorState.js';
23
23
  import { RelationalCSVDataState, createEmbeddedData, } from '../../data/EmbeddedDataState.js';
24
24
  import { LegendStudioTelemetryHelper } from '../../../../../../__lib__/LegendStudioTelemetryHelper.js';
25
- import { LambdaParameterState, LambdaParametersState, PARAMETER_SUBMIT_ACTION, buildExecutionParameterValues, buildParametersLetLambdaFunc, getExecutionQueryFromRawLambda, } from '@finos/legend-query-builder';
25
+ import { LambdaParameterState, LambdaParametersState, PARAMETER_SUBMIT_ACTION, buildExecutionParameterValues, buildParametersLetLambdaFunc, getExecutionQueryFromRawLambda, createMockPrimitiveValueSpecification, } from '@finos/legend-query-builder';
26
+ import { getPrimitiveTypeFromRelationalType } from '../../../../utils/MockDataUtils.js';
26
27
  export const createConnectionTestData = (val, embeddedDataType, editorStore) => {
27
28
  const connectionTestData = new ConnectionTestData();
28
29
  connectionTestData.connectionId = val.id;
@@ -30,6 +31,13 @@ export const createConnectionTestData = (val, embeddedDataType, editorStore) =>
30
31
  connectionTestData.testData = testData;
31
32
  return connectionTestData;
32
33
  };
34
+ export const createMockPrimitiveValueSpecificationFromRelationalDataType = (relationalDataType, graph, observerContext) => {
35
+ const primitiveTypeFromRelational = getPrimitiveTypeFromRelationalType(relationalDataType);
36
+ if (primitiveTypeFromRelational) {
37
+ return createMockPrimitiveValueSpecification(primitiveTypeFromRelational, graph, observerContext);
38
+ }
39
+ return undefined;
40
+ };
33
41
  export class ServiceTestDataParametersState extends LambdaParametersState {
34
42
  connectionTestDataState;
35
43
  constructor(connectionTestDataState) {
@@ -42,10 +50,18 @@ export class ServiceTestDataParametersState extends LambdaParametersState {
42
50
  });
43
51
  this.connectionTestDataState = connectionTestDataState;
44
52
  }
45
- openModal(serviceExecutionParameters) {
53
+ openModal(serviceExecutionParameters, option) {
46
54
  this.parameterStates = this.build(serviceExecutionParameters.query);
47
- this.parameterValuesEditorState.open(() => flowResult(this.connectionTestDataState.generateTestDataForDatabaseConnection(serviceExecutionParameters)).catch(this.connectionTestDataState.editorStore.applicationStore
48
- .alertUnhandledError), PARAMETER_SUBMIT_ACTION.RUN);
55
+ this.parameterValuesEditorState.open(() => {
56
+ if (option?.generateWithSeedData) {
57
+ return flowResult(this.connectionTestDataState.generateTestDataWithSeedDataForDatabaseConnection(serviceExecutionParameters)).catch(this.connectionTestDataState.editorStore.applicationStore
58
+ .alertUnhandledError);
59
+ }
60
+ else {
61
+ return flowResult(this.connectionTestDataState.generateTestDataForDatabaseConnection(serviceExecutionParameters)).catch(this.connectionTestDataState.editorStore.applicationStore
62
+ .alertUnhandledError);
63
+ }
64
+ }, PARAMETER_SUBMIT_ACTION.RUN);
49
65
  }
50
66
  build(query) {
51
67
  const parameters = buildLambdaVariableExpressions(query, this.connectionTestDataState.editorStore.graphManagerState)
@@ -60,29 +76,101 @@ export class ServiceTestDataParametersState extends LambdaParametersState {
60
76
  return states;
61
77
  }
62
78
  }
79
+ export class RowIdentifierState {
80
+ connectionTestDataState;
81
+ _UUID = uuid();
82
+ column;
83
+ value;
84
+ constructor(connectionTestDataState, column, value) {
85
+ makeObservable(this, {
86
+ column: observable,
87
+ value: observable,
88
+ updateRowIdentifierColumn: action,
89
+ updateRowIdentifierValue: action,
90
+ });
91
+ this.connectionTestDataState = connectionTestDataState;
92
+ this.column = column;
93
+ this.value = value;
94
+ }
95
+ updateRowIdentifierColumn(col) {
96
+ this.column = col;
97
+ }
98
+ updateRowIdentifierValue(val) {
99
+ this.value = observe_ValueSpecification(val, this.connectionTestDataState.editorStore.changeDetectionState
100
+ .observerContext);
101
+ }
102
+ }
103
+ export class TableRowIdentifierState {
104
+ connectionTestDataState;
105
+ _UUID = uuid();
106
+ table;
107
+ rowIdentifierStates = [];
108
+ constructor(connectionTestDataState, table, rowIdentifierStates) {
109
+ makeObservable(this, {
110
+ table: observable,
111
+ rowIdentifierStates: observable,
112
+ updateTable: action,
113
+ setNewRowIdentifierState: action,
114
+ addNewRowIdentifierState: action,
115
+ removeRowIdentifierState: action,
116
+ });
117
+ this.connectionTestDataState = connectionTestDataState;
118
+ this.table = table;
119
+ this.rowIdentifierStates = rowIdentifierStates;
120
+ }
121
+ updateTable(table) {
122
+ this.table = table;
123
+ }
124
+ setNewRowIdentifierState(rowIdentifierStates) {
125
+ this.rowIdentifierStates = rowIdentifierStates;
126
+ }
127
+ addNewRowIdentifierState(column) {
128
+ const valueSpec = createMockPrimitiveValueSpecificationFromRelationalDataType(guaranteeNonNullable(column.type), this.connectionTestDataState.editorStore.graphManagerState.graph, this.connectionTestDataState.editorStore.changeDetectionState
129
+ .observerContext);
130
+ if (valueSpec) {
131
+ const rowIdentifierState = new RowIdentifierState(this.connectionTestDataState, column, valueSpec);
132
+ this.rowIdentifierStates.push(rowIdentifierState);
133
+ }
134
+ }
135
+ removeRowIdentifierState(rowIdentifierState) {
136
+ deleteEntry(this.rowIdentifierStates, rowIdentifierState);
137
+ }
138
+ }
63
139
  export class ConnectionTestDataState {
64
140
  editorStore;
65
141
  testDataState;
66
142
  connectionData;
67
143
  parametersState;
68
144
  generatingTestDataState = ActionState.create();
145
+ generatingTestDataWithSeedDataState = ActionState.create();
69
146
  generateSchemaQueryState = ActionState.create();
70
147
  useSharedModal = false;
148
+ useSeedDataInputModal = false;
149
+ tableRowIdentifierStates = [];
71
150
  embeddedEditorState;
72
151
  anonymizeGeneratedData = true;
73
152
  constructor(testDataState, connectionData) {
74
153
  makeObservable(this, {
154
+ tableRowIdentifierStates: observable,
75
155
  generatingTestDataState: observable,
156
+ generatingTestDataWithSeedDataState: observable,
76
157
  generateSchemaQueryState: observable,
77
158
  embeddedEditorState: observable,
78
159
  useSharedModal: observable,
160
+ useSeedDataInputModal: observable,
79
161
  anonymizeGeneratedData: observable,
80
162
  setAnonymizeGeneratedData: action,
163
+ setUseSeedDataInputModal: action,
164
+ setNewTableIdentifierState: action,
165
+ addNewTableIdentifierState: action,
166
+ removeTableIdentifierState: action,
81
167
  changeEmbeddedData: action,
82
168
  buildEmbeddedEditorState: action,
83
169
  createExecutableQuery: action,
84
170
  generateTestData: flow,
85
171
  generateTestDataForDatabaseConnection: flow,
172
+ generateTestDataWithSeedData: flow,
173
+ generateTestDataWithSeedDataForDatabaseConnection: flow,
86
174
  generateQuerySchemas: flow,
87
175
  });
88
176
  this.testDataState = testDataState;
@@ -103,9 +191,34 @@ export class ConnectionTestDataState {
103
191
  this.embeddedEditorState.embeddedDataState.setDatabase(val);
104
192
  }
105
193
  }
194
+ getAvailableTables() {
195
+ const runtime = this.testDataState.testSuiteState.testableState.serviceEditorState
196
+ .executionState.serviceExecutionParameters?.runtime;
197
+ if (runtime instanceof RuntimePointer) {
198
+ const db = runtime.packageableRuntime.value.runtimeValue.connections[0]?.store
199
+ .value;
200
+ if (db instanceof Database) {
201
+ return db.schemas.flatMap((schema) => schema.tables);
202
+ }
203
+ }
204
+ return [];
205
+ }
106
206
  setUseSharedModal(val) {
107
207
  this.useSharedModal = val;
108
208
  }
209
+ setUseSeedDataInputModal(val) {
210
+ this.useSeedDataInputModal = val;
211
+ }
212
+ setNewTableIdentifierState(tableRowIdentifierStates) {
213
+ this.tableRowIdentifierStates = tableRowIdentifierStates;
214
+ }
215
+ addNewTableIdentifierState(table) {
216
+ const tableRowIdentifierState = new TableRowIdentifierState(this, table, []);
217
+ this.tableRowIdentifierStates.push(tableRowIdentifierState);
218
+ }
219
+ removeTableIdentifierState(tableRowIdentifierState) {
220
+ deleteEntry(this.tableRowIdentifierStates, tableRowIdentifierState);
221
+ }
109
222
  setAnonymizeGeneratedData(val) {
110
223
  this.anonymizeGeneratedData = val;
111
224
  }
@@ -171,6 +284,82 @@ export class ConnectionTestDataState {
171
284
  this.generatingTestDataState.complete();
172
285
  }
173
286
  }
287
+ *generateTestDataWithSeedDataForDatabaseConnection(serviceExecutionParameters) {
288
+ try {
289
+ this.generatingTestDataWithSeedDataState.inProgress();
290
+ // NOTE: since we don't have a generic mechanism for test-data generation
291
+ // we will only report metrics around API usage, when we genericize, we will
292
+ // move this out
293
+ LegendStudioTelemetryHelper.logEvent_TestDataGenerationLaunched(this.testDataState.editorStore.applicationStore.telemetryService);
294
+ const report = reportGraphAnalytics(this.editorStore.graphManagerState.graph);
295
+ const tableRowIdentifiers = this.tableRowIdentifierStates.map((tableRowIdentifierState) => {
296
+ const rowIdentifiersArray = tableRowIdentifierState.rowIdentifierStates.map((rowIdentifierState) => new RowIdentifier([
297
+ new ColumnValuePair(rowIdentifierState.column.name, rowIdentifierState.value
298
+ .values[0]),
299
+ ]));
300
+ const tablePtr = new TablePtr();
301
+ tablePtr.database = tableRowIdentifierState.table.schema._OWNER.path;
302
+ tablePtr.mainTableDb = tablePtr.database;
303
+ tablePtr.schema = tableRowIdentifierState.table.schema.name;
304
+ tablePtr.table = tableRowIdentifierState.table.name;
305
+ return new TableRowIdentifiers(tablePtr, rowIdentifiersArray);
306
+ });
307
+ const value = (yield this.editorStore.graphManagerState.graphManager.generateExecuteTestDataWithSeedData(getExecutionQueryFromRawLambda(serviceExecutionParameters.query, this.parametersState.parameterStates, this.editorStore.graphManagerState), tableRowIdentifiers, serviceExecutionParameters.mapping, serviceExecutionParameters.runtime, this.editorStore.graphManagerState.graph, {
308
+ anonymizeGeneratedData: this.anonymizeGeneratedData,
309
+ parameterValues: buildExecutionParameterValues(this.parametersState.parameterStates, this.editorStore.graphManagerState),
310
+ }, report));
311
+ // NOTE: since we don't have a generic mechanism for test-data generation
312
+ // we will only report metrics around API usage, when we genericize, we will
313
+ // move this out
314
+ LegendStudioTelemetryHelper.logEvent_TestDataGenerationSucceeded(this.editorStore.applicationStore.telemetryService, report);
315
+ service_setConnectionTestDataEmbeddedData(this.connectionData, TEMPORARY__createRelationalDataFromCSV(value), this.editorStore.changeDetectionState.observerContext);
316
+ this.embeddedEditorState = new EmbeddedDataEditorState(this.testDataState.editorStore, this.connectionData.testData);
317
+ this.generatingTestDataWithSeedDataState.pass();
318
+ }
319
+ catch (error) {
320
+ assertErrorThrown(error);
321
+ this.editorStore.applicationStore.notificationService.notifyError(`Unable to generate test data: ${error.message}`);
322
+ this.generatingTestDataWithSeedDataState.fail();
323
+ }
324
+ finally {
325
+ this.generatingTestDataWithSeedDataState.complete();
326
+ }
327
+ }
328
+ *generateTestDataWithSeedData() {
329
+ try {
330
+ this.generatingTestDataWithSeedDataState.inProgress();
331
+ const connection = guaranteeNonNullable(this.resolveConnectionValue(this.connectionData.connectionId), `Unable to resolve connection ID '${this.connectionData.connectionId}`);
332
+ if (connection instanceof DatabaseConnection) {
333
+ const serviceExecutionParameters = guaranteeNonNullable(this.testDataState.testSuiteState.testableState.serviceEditorState
334
+ .executionState.serviceExecutionParameters);
335
+ const parameters = (serviceExecutionParameters.query.parameters ??
336
+ []);
337
+ if (parameters.length > 0) {
338
+ this.parametersState.openModal(serviceExecutionParameters, {
339
+ generateWithSeedData: true,
340
+ });
341
+ return;
342
+ }
343
+ else {
344
+ yield flowResult(this.generateTestDataWithSeedDataForDatabaseConnection(serviceExecutionParameters));
345
+ }
346
+ }
347
+ else {
348
+ // TODO: delete this once the backend code is in place
349
+ service_setConnectionTestDataEmbeddedData(this.connectionData, connection.accept_ConnectionVisitor(new TEMPORARY__EmbeddedDataConnectionVisitor(this.editorStore)), this.editorStore.changeDetectionState.observerContext);
350
+ }
351
+ this.embeddedEditorState = new EmbeddedDataEditorState(this.testDataState.editorStore, this.connectionData.testData);
352
+ this.generatingTestDataWithSeedDataState.pass();
353
+ }
354
+ catch (error) {
355
+ assertErrorThrown(error);
356
+ this.editorStore.applicationStore.notificationService.notifyError(`Unable to generate test data with seed data: ${error.message}`);
357
+ this.generatingTestDataWithSeedDataState.fail();
358
+ }
359
+ finally {
360
+ this.generatingTestDataWithSeedDataState.complete();
361
+ }
362
+ }
174
363
  *generateQuerySchemas() {
175
364
  try {
176
365
  this.generateSchemaQueryState.inProgress();
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceTestDataState.js","sourceRoot":"","sources":["../../../../../../../src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceTestDataState.js","sourceRoot":"","sources":["../../../../../../../src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAkBL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,8BAA8B,EAC9B,kBAAkB,EAClB,oBAAoB,EACpB,mCAAmC,EACnC,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,sCAAsC,EACtC,kCAAkC,EAClC,QAAQ,EACR,cAAc,EACd,gCAAgC,EAChC,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAE5E,OAAO,EACL,6BAA6B,EAC7B,yCAAyC,GAC1C,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EACL,sCAAsC,EACtC,iCAAiC,EACjC,wCAAwC,GACzC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAEL,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AACvG,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAExF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,GAAyB,EACzB,gBAAwB,EACxB,WAAwB,EACJ,EAAE;IACtB,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACpD,kBAAkB,CAAC,YAAY,GAAG,GAAG,CAAC,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IACnE,kBAAkB,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACvC,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2DAA2D,GAAG,CACzE,kBAAsC,EACtC,KAAgB,EAChB,eAAgC,EACA,EAAE;IAClC,MAAM,2BAA2B,GAC/B,kCAAkC,CAAC,kBAAkB,CAAC,CAAC;IAEzD,IAAI,2BAA2B,EAAE;QAC/B,OAAO,qCAAqC,CAC1C,2BAA2B,EAC3B,KAAK,EACL,eAAe,CAChB,CAAC;KACH;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,OAAO,8BAA+B,SAAQ,qBAAqB;IACvE,uBAAuB,CAA0B;IAEjD,YAAY,uBAAgD;QAC1D,KAAK,EAAE,CAAC;QACR,cAAc,CAAC,IAAI,EAAE;YACnB,0BAA0B,EAAE,UAAU;YACtC,eAAe,EAAE,UAAU;YAC3B,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IACzD,CAAC;IAED,SAAS,CACP,0BAIC,EACD,MAEC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAkB,EAAE;YACvD,IAAI,MAAM,EAAE,oBAAoB,EAAE;gBAChC,OAAO,UAAU,CACf,IAAI,CAAC,uBAAuB,CAAC,iDAAiD,CAC5E,0BAA0B,CAC3B,CACF,CAAC,KAAK,CACL,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,gBAAgB;qBACtD,mBAAmB,CACvB,CAAC;aACH;iBAAM;gBACL,OAAO,UAAU,CACf,IAAI,CAAC,uBAAuB,CAAC,qCAAqC,CAChE,0BAA0B,CAC3B,CACF,CAAC,KAAK,CACL,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,gBAAgB;qBACtD,mBAAmB,CACvB,CAAC;aACH;QACH,CAAC,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAgB;QACpB,MAAM,UAAU,GAAG,8BAA8B,CAC/C,KAAK,EACL,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,iBAAiB,CAC3D;aACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,0BAA0B,CACxB,CAAC,EACD,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,oBAAoB;aAC1D,eAAe,CACnB,CACF;aACA,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClC,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAC5C,CAAC,EACD,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,EAC7E,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CACjE,CAAC;YACF,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACnC,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IACpB,uBAAuB,CAA0B;IACjD,KAAK,GAAG,IAAI,EAAE,CAAC;IACxB,MAAM,CAAS;IACf,KAAK,CAAqB;IAE1B,YACE,uBAAgD,EAChD,MAAc,EACd,KAAyB;QAEzB,cAAc,CAAC,IAAI,EAAE;YACnB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,UAAU;YACjB,yBAAyB,EAAE,MAAM;YACjC,wBAAwB,EAAE,MAAM;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,yBAAyB,CAAC,GAAW;QACnC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,wBAAwB,CAAC,GAAuB;QAC9C,IAAI,CAAC,KAAK,GAAG,0BAA0B,CACrC,GAAG,EACH,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,oBAAoB;aAC1D,eAAe,CACnB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IACzB,uBAAuB,CAA0B;IACjD,KAAK,GAAG,IAAI,EAAE,CAAC;IACxB,KAAK,CAAQ;IACb,mBAAmB,GAAyB,EAAE,CAAC;IAE/C,YACE,uBAAgD,EAChD,KAAY,EACZ,mBAAyC;QAEzC,cAAc,CAAC,IAAI,EAAE;YACnB,KAAK,EAAE,UAAU;YACjB,mBAAmB,EAAE,UAAU;YAC/B,WAAW,EAAE,MAAM;YACnB,wBAAwB,EAAE,MAAM;YAChC,wBAAwB,EAAE,MAAM;YAChC,wBAAwB,EAAE,MAAM;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAED,WAAW,CAAC,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,wBAAwB,CAAC,mBAAyC;QAChE,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAED,wBAAwB,CAAC,MAAc;QACrC,MAAM,SAAS,GACb,2DAA2D,CACzD,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EACjC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAChE,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,oBAAoB;aAC1D,eAAe,CACnB,CAAC;QACJ,IAAI,SAAS,EAAE;YACb,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC/C,IAAI,CAAC,uBAAuB,EAC5B,MAAM,EACN,SAAS,CACV,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACnD;IACH,CAAC;IAED,wBAAwB,CAAC,kBAAsC;QAC7D,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IAC5D,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IACzB,WAAW,CAAc;IACzB,aAAa,CAAuB;IACpC,cAAc,CAAqB;IACnC,eAAe,CAAiC;IAChD,uBAAuB,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAC/C,mCAAmC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAC3D,wBAAwB,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IACzD,cAAc,GAAG,KAAK,CAAC;IACvB,qBAAqB,GAAG,KAAK,CAAC;IAC9B,wBAAwB,GAA8B,EAAE,CAAC;IAEzD,mBAAmB,CAA0B;IAC7C,sBAAsB,GAAG,IAAI,CAAC;IAE9B,YACE,aAAmC,EACnC,cAAkC;QAElC,cAAc,CAAC,IAAI,EAAE;YACnB,wBAAwB,EAAE,UAAU;YACpC,uBAAuB,EAAE,UAAU;YACnC,mCAAmC,EAAE,UAAU;YAC/C,wBAAwB,EAAE,UAAU;YACpC,mBAAmB,EAAE,UAAU;YAC/B,cAAc,EAAE,UAAU;YAC1B,qBAAqB,EAAE,UAAU;YACjC,sBAAsB,EAAE,UAAU;YAClC,yBAAyB,EAAE,MAAM;YACjC,wBAAwB,EAAE,MAAM;YAChC,0BAA0B,EAAE,MAAM;YAClC,0BAA0B,EAAE,MAAM;YAClC,0BAA0B,EAAE,MAAM;YAClC,kBAAkB,EAAE,MAAM;YAC1B,wBAAwB,EAAE,MAAM;YAChC,qBAAqB,EAAE,MAAM;YAC7B,gBAAgB,EAAE,IAAI;YACtB,qCAAqC,EAAE,IAAI;YAC3C,4BAA4B,EAAE,IAAI;YAClC,iDAAiD,EAAE,IAAI;YACvD,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CACpD,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,cAAc,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,YAAY,CACjD,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9D,IACE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB;YACxC,sBAAsB;YACxB,GAAG,YAAY,QAAQ,EACvB;YACA,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAC7D;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,OAAO,GACX,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,kBAAkB;aAC/D,cAAc,CAAC,0BAA0B,EAAE,OAAO,CAAC;QACxD,IAAI,OAAO,YAAY,cAAc,EAAE;YACrC,MAAM,EAAE,GACN,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK;iBAChE,KAAK,CAAC;YACX,IAAI,EAAE,YAAY,QAAQ,EAAE;gBAC1B,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACtD;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iBAAiB,CAAC,GAAY;QAC5B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED,wBAAwB,CAAC,GAAY;QACnC,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC;IACnC,CAAC;IAED,0BAA0B,CACxB,wBAAmD;QAEnD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAED,0BAA0B,CAAC,KAAY;QACrC,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,CACzD,IAAI,EACJ,KAAK,EACL,EAAE,CACH,CAAC;QACF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC9D,CAAC;IAED,0BAA0B,CACxB,uBAAgD;QAEhD,WAAW,CAAC,IAAI,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;IACtE,CAAC;IAED,yBAAyB,CAAC,GAAY;QACpC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;IACpC,CAAC;IAED,CAAC,qCAAqC,CAAC,0BAItC;QACC,IAAI;YACF,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,CAAC;YAC1C,yEAAyE;YACzE,4EAA4E;YAC5E,gBAAgB;YAChB,2BAA2B,CAAC,mCAAmC,CAC7D,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CACjE,CAAC;YACF,MAAM,MAAM,GAAG,oBAAoB,CACjC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CACzC,CAAC;YACF,MAAM,KAAK,GACT,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,uBAAuB,CAC5E,8BAA8B,CAC5B,0BAA0B,CAAC,KAAK,EAChC,IAAI,CAAC,eAAe,CAAC,eAAe,EACpC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACnC,EACD,EAAE,EACF,0BAA0B,CAAC,OAAO,EAClC,0BAA0B,CAAC,OAAO,EAClC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EACxC;gBACE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,eAAe,EAAE,6BAA6B,CAC5C,IAAI,CAAC,eAAe,CAAC,eAAe,EACpC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACnC;aACF,EACD,MAAM,CACP,CAAW,CAAC;YAEf,yEAAyE;YACzE,4EAA4E;YAC5E,gBAAgB;YAChB,2BAA2B,CAAC,oCAAoC,CAC9D,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,EAClD,MAAM,CACP,CAAC;YACF,yCAAyC,CACvC,IAAI,CAAC,cAAc,EACnB,sCAAsC,CAAC,KAAK,CAAC,EAC7C,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CACtD,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CACpD,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7B,CAAC;YACF,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;SACrC;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAC/D,iCAAiC,KAAK,CAAC,OAAO,EAAE,CACjD,CAAC;YACF,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;SACrC;gBAAS;YACR,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;SACzC;IACH,CAAC;IAED,CAAC,gBAAgB;QACf,IAAI;YACF,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,oBAAoB,CACrC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAC7D,oCAAoC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CACvE,CAAC;YACF,IAAI,UAAU,YAAY,kBAAkB,EAAE;gBAC5C,MAAM,0BAA0B,GAAG,oBAAoB,CACrD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,kBAAkB;qBAC/D,cAAc,CAAC,0BAA0B,CAC7C,CAAC;gBACF,MAAM,UAAU,GAAG,CAAC,0BAA0B,CAAC,KAAK,CAAC,UAAU;oBAC7D,EAAE,CAAa,CAAC;gBAClB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;oBAC3D,OAAO;iBACR;qBAAM;oBACL,MAAM,UAAU,CACd,IAAI,CAAC,qCAAqC,CACxC,0BAA0B,CAC3B,CACF,CAAC;iBACH;aACF;iBAAM;gBACL,sDAAsD;gBACtD,yCAAyC,CACvC,IAAI,CAAC,cAAc,EACnB,UAAU,CAAC,wBAAwB,CACjC,IAAI,wCAAwC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/D,EACD,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CACtD,CAAC;aACH;YACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CACpD,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7B,CAAC;YACF,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;SACrC;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAC/D,iCAAiC,KAAK,CAAC,OAAO,EAAE,CACjD,CAAC;YACF,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;SACrC;gBAAS;YACR,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;SACzC;IACH,CAAC;IAED,CAAC,iDAAiD,CAAC,0BAIlD;QACC,IAAI;YACF,IAAI,CAAC,mCAAmC,CAAC,UAAU,EAAE,CAAC;YACtD,yEAAyE;YACzE,4EAA4E;YAC5E,gBAAgB;YAChB,2BAA2B,CAAC,mCAAmC,CAC7D,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CACjE,CAAC;YACF,MAAM,MAAM,GAAG,oBAAoB,CACjC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CACzC,CAAC;YACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAC3D,CAAC,uBAAuB,EAAE,EAAE;gBAC1B,MAAM,mBAAmB,GACvB,uBAAuB,CAAC,mBAAmB,CAAC,GAAG,CAC7C,CAAC,kBAAkB,EAAE,EAAE,CACrB,IAAI,aAAa,CAAC;oBAChB,IAAI,eAAe,CACjB,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAC7B,kBAAkB,CAAC,KAAgC;yBACjD,MAAM,CAAC,CAAC,CAAW,CACvB;iBACF,CAAC,CACL,CAAC;gBACJ,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrE,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACzC,QAAQ,CAAC,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5D,QAAQ,CAAC,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;gBACpD,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YAChE,CAAC,CACF,CAAC;YACF,MAAM,KAAK,GACT,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,mCAAmC,CACxF,8BAA8B,CAC5B,0BAA0B,CAAC,KAAK,EAChC,IAAI,CAAC,eAAe,CAAC,eAAe,EACpC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACnC,EACD,mBAAmB,EACnB,0BAA0B,CAAC,OAAO,EAClC,0BAA0B,CAAC,OAAO,EAClC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,EACxC;gBACE,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,eAAe,EAAE,6BAA6B,CAC5C,IAAI,CAAC,eAAe,CAAC,eAAe,EACpC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACnC;aACF,EACD,MAAM,CACP,CAAW,CAAC;YAEf,yEAAyE;YACzE,4EAA4E;YAC5E,gBAAgB;YAChB,2BAA2B,CAAC,oCAAoC,CAC9D,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,EAClD,MAAM,CACP,CAAC;YACF,yCAAyC,CACvC,IAAI,CAAC,cAAc,EACnB,sCAAsC,CAAC,KAAK,CAAC,EAC7C,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CACtD,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CACpD,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7B,CAAC;YACF,IAAI,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC;SACjD;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAC/D,iCAAiC,KAAK,CAAC,OAAO,EAAE,CACjD,CAAC;YACF,IAAI,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC;SACjD;gBAAS;YACR,IAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,CAAC;SACrD;IACH,CAAC;IAED,CAAC,4BAA4B;QAC3B,IAAI;YACF,IAAI,CAAC,mCAAmC,CAAC,UAAU,EAAE,CAAC;YACtD,MAAM,UAAU,GAAG,oBAAoB,CACrC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAC7D,oCAAoC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CACvE,CAAC;YACF,IAAI,UAAU,YAAY,kBAAkB,EAAE;gBAC5C,MAAM,0BAA0B,GAAG,oBAAoB,CACrD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,kBAAkB;qBAC/D,cAAc,CAAC,0BAA0B,CAC7C,CAAC;gBACF,MAAM,UAAU,GAAG,CAAC,0BAA0B,CAAC,KAAK,CAAC,UAAU;oBAC7D,EAAE,CAAa,CAAC;gBAClB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,0BAA0B,EAAE;wBACzD,oBAAoB,EAAE,IAAI;qBAC3B,CAAC,CAAC;oBACH,OAAO;iBACR;qBAAM;oBACL,MAAM,UAAU,CACd,IAAI,CAAC,iDAAiD,CACpD,0BAA0B,CAC3B,CACF,CAAC;iBACH;aACF;iBAAM;gBACL,sDAAsD;gBACtD,yCAAyC,CACvC,IAAI,CAAC,cAAc,EACnB,UAAU,CAAC,wBAAwB,CACjC,IAAI,wCAAwC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC/D,EACD,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CACtD,CAAC;aACH;YACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CACpD,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7B,CAAC;YACF,IAAI,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC;SACjD;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAC/D,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAChE,CAAC;YACF,IAAI,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC;SACjD;gBAAS;YACR,IAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,CAAC;SACrD;IACH,CAAC;IAED,CAAC,oBAAoB;QACnB,IAAI;YACF,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,oBAAoB,CACrC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,EAC7D,oCAAoC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CACvE,CAAC;YACF,IAAI,UAAU,YAAY,kBAAkB,EAAE;gBAC5C,MAAM,0BAA0B,GAAG,oBAAoB,CACrD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,kBAAkB;qBAC/D,cAAc,CAAC,0BAA0B,CAC7C,CAAC;gBACF,UAAU,CACR,0BAA0B,CAAC,OAAO,EAClC,cAAc,EACd,4CAA4C,CAC7C,CAAC;gBACF,MAAM,UAAU,GAAG,CAAC,0BAA0B,CAAC,KAAK,CAAC,UAAU;oBAC7D,EAAE,CAAa,CAAC;gBAClB,IAAI,eAAe,CAAC;gBACpB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAC1C,0BAA0B,CAAC,KAAK,CACjC,CAAC;iBACH;qBAAM;oBACL,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;iBACxD;gBACD,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAChD,0BAA0B,CAAC,KAAK,EAChC,eAAe,EACf,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACnC,CAAC;gBACF,MAAM,wBAAwB,GAC5B,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,gBAAgB,CACrE,eAAe,EACf,0BAA0B,CAAC,OAAO,CAAC,IAAI,EACvC,0BAA0B,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAChE,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CACzC,CAA6B,CAAC;gBACjC,UAAU,CACR,wBAAwB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EACzC,mDAAmD,CACpD,CAAC;gBACF,yCAAyC,CACvC,IAAI,CAAC,cAAc,EACnB,oBAAoB,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACtD,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CACtD,CAAC;gBACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CACpD,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7B,CAAC;aACH;YACD,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;SACtC;QAAC,OAAO,KAAK,EAAE;YACd,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,WAAW,CAC/D,qCAAqC,KAAK,CAAC,OAAO,EAAE,CACrD,CAAC;YACF,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;SACtC;gBAAS;YACR,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC;SAC1C;IACH,CAAC;IAED,qBAAqB,CACnB,SAAoB,EACpB,eAAuC,EACvC,iBAAoC;QAEpC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,MAAM,kBAAkB,GAAG,4BAA4B,CACrD,iBAAiB,CAAC,KAAK,EACvB,eAAe,CAChB,CAAC;YACF,MAAM,SAAS,GAAG,gCAAgC,CAChD,kBAAkB,EAClB,iBAAiB,CAClB,CAAC;YACF,kBAAkB;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAClE,SAAS,CAAC,IAAI,GAAG;oBACf,GAAI,SAAS,CAAC,IAAiB;oBAC/B,GAAI,SAAS,CAAC,IAAiB;iBAChC,CAAC;gBACF,OAAO,SAAS,CAAC;aAClB;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,kBAAkB,CAAC,GAAiB;QAClC,yCAAyC,CACvC,IAAI,CAAC,cAAc,EACnB,GAAG,EACH,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CACtD,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CACpD,IAAI,CAAC,aAAa,CAAC,WAAW,EAC9B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7B,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,EAAU;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CACnB,EAAE,UAAU,CAAC;QACd,IAAI,UAAU,YAAY,iBAAiB,EAAE;YAC3C,OAAO,UAAU,CAAC,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC;SAC/D;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2BAA2B;QACzB,MAAM,OAAO,GACX,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,kBAAkB;aAC/D,OAAO,CAAC;QACb,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,QAAQ,GAAc,EAAE,CAAC;QAC7B,IAAI,SAAS,YAAY,mBAAmB,IAAI,SAAS,CAAC,OAAO,EAAE;YACjE,QAAQ,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAChC;aAAM,IAAI,SAAS,YAAY,kBAAkB,EAAE;YAClD,QAAQ,GAAG,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAChE;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAClE,CAAC;CACF;AAED,MAAM,OAAO,sBAAsB;IACxB,WAAW,CAAc;IACzB,cAAc,CAAuB;IAC9C,SAAS,GAAG,KAAK,CAAC;IAClB,UAAU,CAAmC;IAC7C,gBAAgB,CAAqC;IACrD,WAAW,CAA0B;IAErC,YACE,WAAwB,EACxB,oBAA0C;QAE1C,cAAc,CAAC,IAAI,EAAE;YACnB,SAAS,EAAE,UAAU;YACrB,UAAU,EAAE,UAAU;YACtB,gBAAgB,EAAE,UAAU;YAC5B,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,MAAM;YACjB,mBAAmB,EAAE,MAAM;YAC3B,sBAAsB,EAAE,MAAM;YAC9B,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,QAAQ,CAAC,GAAY;QACnB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IAED,cAAc,CAAC,GAA4B;QACzC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,GAAuC;QACzD,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,OAAO,GACX,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,kBAAkB;aAChE,OAAO,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,kCAAkC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,aAAa,CAAC,GAAqC;QACjD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,sBAAsB,CAAC,GAAyB;QAC9C,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC;QACvC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,EAAE,CACnC,eAAe,CAAC,wBAAwB,CACtC,IAAI,iCAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CACvE,CACF,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,wBAAwB;QACtB,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrE,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACpD,kBAAkB,CAAC,YAAY,GAAG,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,QAAsB,CAAC;QAC3B,IACE,IAAI,CAAC,gBAAgB,EAAE,KAAK,KAAK,gBAAgB,CAAC,YAAY;YAC9D,IAAI,CAAC,WAAW,EAChB;YACA,MAAM,KAAK,GAAG,IAAI,oBAAoB,EAAE,CAAC;YACzC,KAAK,CAAC,WAAW,GAAG,mCAAmC,CAAC,MAAM,CAC5D,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,QAAQ,GAAG,KAAK,CAAC;SAClB;aAAM;YACL,QAAQ,GAAG,kBAAkB,CAC3B,gBAAgB,CAAC,KAAK,EACtB,IAAI,CAAC,cAAc,CAAC,WAAW,CAChC,CAAC;SACH;QACD,kBAAkB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACvC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IACtB,WAAW,CAAc;IACzB,cAAc,CAAwB;IAC/C,QAAQ,CAAW;IACnB,iBAAiB,CAAsC;IACvD,sBAAsB,CAAyB;IAE/C,YAAY,QAAkB,EAAE,cAAqC;QACnE,cAAc,CAAC,IAAI,EAAE;YACnB,oBAAoB,EAAE,MAAM;YAC5B,sBAAsB,EAAE,MAAM;YAC9B,wBAAwB,EAAE,MAAM;YAChC,sBAAsB,EAAE,UAAU;YAClC,iBAAiB,EAAE,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;QAC9C,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC3E,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,CAClD,IAAI,EACJ,cAAc,CACf,CAAC;SACH;QACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,sBAAsB,CACtD,IAAI,CAAC,WAAW,EAChB,IAAI,CACL,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,MAAM,kBAAkB,GACtB,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,EAAE,CAAC;QACzD,6BAA6B,CAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,kBAAkB,EAClB,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,eAAe,CACtD,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,CAClD,IAAI,EACJ,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,GAAwC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,wBAAwB,CAAC,GAAuB;QAC9C,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,iBAAiB,EAAE,cAAc,KAAK,GAAG,EAAE;YAClD,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACtE,IAAI,CAAC,iBAAiB,GAAG,IAAI;gBAC3B,CAAC,CAAC,IAAI,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC;gBACzC,CAAC,CAAC,SAAS,CAAC;SACf;IACH,CAAC;IAED,sBAAsB,CAAC,GAAuB;QAC5C,IAAI,IAAI,CAAC,iBAAiB,EAAE,cAAc,KAAK,GAAG,EAAE;YAClD,IAAI,CAAC,oBAAoB,CAAC,IAAI,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;SACnE;IACH,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-studio",
3
- "version": "28.3.4",
3
+ "version": "28.4.0",
4
4
  "description": "Legend Studio application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -45,21 +45,21 @@
45
45
  "test:watch": "jest --watch"
46
46
  },
47
47
  "dependencies": {
48
- "@finos/legend-application": "15.0.38",
49
- "@finos/legend-art": "7.0.38",
50
- "@finos/legend-graph": "31.1.8",
51
- "@finos/legend-lego": "1.1.24",
52
- "@finos/legend-query-builder": "4.3.8",
53
- "@finos/legend-server-depot": "6.0.28",
54
- "@finos/legend-server-sdlc": "5.1.2",
55
- "@finos/legend-server-showcase": "0.0.8",
56
- "@finos/legend-shared": "10.0.24",
57
- "@finos/legend-storage": "3.0.74",
48
+ "@finos/legend-application": "15.0.39",
49
+ "@finos/legend-art": "7.0.39",
50
+ "@finos/legend-graph": "31.1.10",
51
+ "@finos/legend-lego": "1.1.26",
52
+ "@finos/legend-query-builder": "4.4.0",
53
+ "@finos/legend-server-depot": "6.0.29",
54
+ "@finos/legend-server-sdlc": "5.1.3",
55
+ "@finos/legend-server-showcase": "0.0.9",
56
+ "@finos/legend-shared": "10.0.25",
57
+ "@finos/legend-storage": "3.0.75",
58
58
  "@testing-library/react": "14.0.0",
59
- "@types/react": "18.2.20",
59
+ "@types/react": "18.2.21",
60
60
  "@types/react-dom": "18.2.7",
61
61
  "fast-xml-parser": "4.2.7",
62
- "mobx": "6.10.0",
62
+ "mobx": "6.10.2",
63
63
  "mobx-react-lite": "3.4.3",
64
64
  "mobx-utils": "6.0.8",
65
65
  "monaco-editor": "0.41.0",
@@ -68,18 +68,18 @@
68
68
  "react-dnd": "16.0.1",
69
69
  "react-dom": "18.2.0",
70
70
  "serializr": "3.0.2",
71
- "yaml": "2.3.1"
71
+ "yaml": "2.3.2"
72
72
  },
73
73
  "devDependencies": {
74
- "@finos/legend-dev-utils": "2.0.78",
75
- "@jest/globals": "29.6.3",
74
+ "@finos/legend-dev-utils": "2.0.79",
75
+ "@jest/globals": "29.6.4",
76
76
  "cross-env": "7.0.3",
77
- "eslint": "8.47.0",
78
- "jest": "29.6.3",
77
+ "eslint": "8.48.0",
78
+ "jest": "29.6.4",
79
79
  "npm-run-all": "4.1.5",
80
80
  "rimraf": "5.0.1",
81
81
  "sass": "1.66.1",
82
- "typescript": "5.1.6"
82
+ "typescript": "5.2.2"
83
83
  },
84
84
  "peerDependencies": {
85
85
  "react": "^18.0.0"
@@ -27,12 +27,14 @@ import {
27
27
  assertNonNullable,
28
28
  guaranteeNonEmptyString,
29
29
  SerializationFactory,
30
+ usingModelSchema,
30
31
  } from '@finos/legend-shared';
31
32
  import {
32
33
  LegendApplicationConfig,
33
34
  type LegendApplicationConfigurationInput,
34
35
  type LegendApplicationConfigurationData,
35
36
  } from '@finos/legend-application';
37
+ import { QueryBuilderConfig } from '@finos/legend-query-builder';
36
38
 
37
39
  export class ServiceRegistrationEnvironmentConfig {
38
40
  env!: string;
@@ -99,6 +101,11 @@ class LegendStudioApplicationCoreOptions {
99
101
  TEMPORARY__serviceRegistrationConfig: ServiceRegistrationEnvironmentConfig[] =
100
102
  [];
101
103
 
104
+ /**
105
+ * Config specific to query builder
106
+ */
107
+ queryBuilderConfig: QueryBuilderConfig | undefined;
108
+
102
109
  private static readonly serialization = new SerializationFactory(
103
110
  createModelSchema(LegendStudioApplicationCoreOptions, {
104
111
  enableGraphBuilderStrictMode: optional(primitive()),
@@ -110,6 +117,9 @@ class LegendStudioApplicationCoreOptions {
110
117
  TEMPORARY__serviceRegistrationConfig: list(
111
118
  object(ServiceRegistrationEnvironmentConfig),
112
119
  ),
120
+ queryBuilderConfig: optional(
121
+ usingModelSchema(QueryBuilderConfig.serialization.schema),
122
+ ),
113
123
  }),
114
124
  );
115
125
 
@@ -1083,6 +1083,7 @@ export const FunctionEditor = observer(() => {
1083
1083
  embeddedQueryBuilderState.editorStore.applicationStore,
1084
1084
  embeddedQueryBuilderState.editorStore.graphManagerState,
1085
1085
  functionEditorState.functionElement,
1086
+ editorStore.applicationStore.config.options.queryBuilderConfig,
1086
1087
  );
1087
1088
  functionQueryBuilderState.initializeWithQuery(
1088
1089
  new RawLambda(
@@ -56,7 +56,7 @@ import {
56
56
  } from '../../../../stores/graph-modifier/DSL_Data_GraphModifierHelper.js';
57
57
  import { createMockDataForMappingElementSource } from '../../../../stores/editor/utils/MockDataUtils.js';
58
58
 
59
- interface TableOption {
59
+ export interface TableOption {
60
60
  value: Table;
61
61
  label: string;
62
62
  }
@@ -117,6 +117,7 @@ const MappingTestQueryEditor = observer(
117
117
  embeddedQueryBuilderState.editorStore.applicationStore,
118
118
  embeddedQueryBuilderState.editorStore.graphManagerState,
119
119
  testState.mappingEditorState.mapping,
120
+ editorStore.applicationStore.config.options.queryBuilderConfig,
120
121
  );
121
122
  queryBuilderState.initializeWithQuery(testState.queryState.query);
122
123
  if (openInTextMode) {
@@ -210,6 +210,7 @@ const MappingExecutionQueryEditor = observer(
210
210
  embeddedQueryBuilderState.editorStore.applicationStore,
211
211
  embeddedQueryBuilderState.editorStore.graphManagerState,
212
212
  executionState.mappingEditorState.mapping,
213
+ editorStore.applicationStore.config.options.queryBuilderConfig,
213
214
  );
214
215
  queryBuilderState.initializeWithQuery(
215
216
  executionState.queryState.query,
@@ -594,6 +594,7 @@ const MappingTestSuiteQueryEditor = observer(
594
594
  embeddedQueryBuilderState.editorStore.applicationStore,
595
595
  embeddedQueryBuilderState.editorStore.graphManagerState,
596
596
  mapping,
597
+ editorStore.applicationStore.config.options.queryBuilderConfig,
597
598
  );
598
599
  queryBuilderState.initializeWithQuery(testableQueryState.query);
599
600
  if (openInTextMode) {