@finos/legend-application-studio 28.21.40 → 28.21.42
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.
- package/lib/components/ElementIconUtils.d.ts.map +1 -1
- package/lib/components/ElementIconUtils.js +3 -1
- package/lib/components/ElementIconUtils.js.map +1 -1
- package/lib/components/editor/editor-group/EditorGroup.d.ts.map +1 -1
- package/lib/components/editor/editor-group/EditorGroup.js +5 -0
- package/lib/components/editor/editor-group/EditorGroup.js.map +1 -1
- package/lib/components/editor/editor-group/compute-editor/ComputeEditor.d.ts +19 -0
- package/lib/components/editor/editor-group/compute-editor/ComputeEditor.d.ts.map +1 -0
- package/lib/components/editor/editor-group/compute-editor/ComputeEditor.js +111 -0
- package/lib/components/editor/editor-group/compute-editor/ComputeEditor.js.map +1 -0
- package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
- package/lib/components/editor/side-bar/CreateNewElementModal.js +2 -0
- package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/EditorStore.d.ts.map +1 -1
- package/lib/stores/editor/EditorStore.js +1 -0
- package/lib/stores/editor/EditorStore.js.map +1 -1
- package/lib/stores/editor/EditorTabManagerState.d.ts.map +1 -1
- package/lib/stores/editor/EditorTabManagerState.js +5 -1
- package/lib/stores/editor/EditorTabManagerState.js.map +1 -1
- package/lib/stores/editor/NewElementState.d.ts +5 -1
- package/lib/stores/editor/NewElementState.d.ts.map +1 -1
- package/lib/stores/editor/NewElementState.js +21 -1
- package/lib/stores/editor/NewElementState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeEditorState.d.ts +28 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeEditorState.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeEditorState.js +63 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeEditorState.js.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.d.ts +75 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.js +54 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.js.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/SnowflakeComputeFormDescriptor.d.ts +18 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/SnowflakeComputeFormDescriptor.d.ts.map +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/SnowflakeComputeFormDescriptor.js +211 -0
- package/lib/stores/editor/editor-state/element-editor-state/compute/SnowflakeComputeFormDescriptor.js.map +1 -0
- package/lib/stores/graph-modifier/DSL_Compute_GraphModifierHelper.d.ts +2 -3
- package/lib/stores/graph-modifier/DSL_Compute_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/graph-modifier/DSL_Compute_GraphModifierHelper.js +3 -7
- package/lib/stores/graph-modifier/DSL_Compute_GraphModifierHelper.js.map +1 -1
- package/package.json +16 -16
- package/src/components/ElementIconUtils.tsx +3 -0
- package/src/components/editor/editor-group/EditorGroup.tsx +4 -0
- package/src/components/editor/editor-group/compute-editor/ComputeEditor.tsx +337 -0
- package/src/components/editor/side-bar/CreateNewElementModal.tsx +2 -0
- package/src/index.ts +1 -0
- package/src/stores/editor/EditorStore.ts +1 -0
- package/src/stores/editor/EditorTabManagerState.ts +4 -0
- package/src/stores/editor/NewElementState.ts +26 -0
- package/src/stores/editor/editor-state/element-editor-state/compute/ComputeEditorState.ts +84 -0
- package/src/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.ts +122 -0
- package/src/stores/editor/editor-state/element-editor-state/compute/SnowflakeComputeFormDescriptor.ts +270 -0
- package/src/stores/graph-modifier/DSL_Compute_GraphModifierHelper.ts +7 -13
- package/tsconfig.json +4 -0
package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.d.ts
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* The renderer and the reconcile pass read the same `visible` predicates, so
|
|
18
|
+
* what the user sees and what the model may hold cannot drift apart. The engine
|
|
19
|
+
* rejects properties that are illegal for the selected warehouse type.
|
|
20
|
+
*
|
|
21
|
+
* Bound to `SnowflakeComputeSpecification` rather than generic over a vendor
|
|
22
|
+
* spec: Snowflake is the only vendor whose form is conditional.
|
|
23
|
+
*
|
|
24
|
+
* Numeric limits are not modelled. The engine's are tunable server-side, so a
|
|
25
|
+
* copy here would reject values the backend accepts.
|
|
26
|
+
*/
|
|
27
|
+
import type { SnowflakeComputeSpecification } from '@finos/legend-graph';
|
|
28
|
+
/** Every enum option is a string except `generation`, which is numeric. */
|
|
29
|
+
export type ComputeEnumOptionValue = string | number;
|
|
30
|
+
export interface ComputeEnumOption {
|
|
31
|
+
label: string;
|
|
32
|
+
value: ComputeEnumOptionValue;
|
|
33
|
+
}
|
|
34
|
+
interface ComputeFormFieldBase<TValue> {
|
|
35
|
+
key: string;
|
|
36
|
+
label: string;
|
|
37
|
+
/** When false, the reconcile pass clears the field rather than hiding it. */
|
|
38
|
+
visible: (spec: SnowflakeComputeSpecification) => boolean;
|
|
39
|
+
/** Set on the fields that must always hold a value while visible. */
|
|
40
|
+
defaultValue?: TValue | undefined;
|
|
41
|
+
get: (spec: SnowflakeComputeSpecification) => TValue | undefined;
|
|
42
|
+
set(spec: SnowflakeComputeSpecification, value: TValue | undefined): void;
|
|
43
|
+
}
|
|
44
|
+
export type ComputeFormField = ({
|
|
45
|
+
widget: 'text';
|
|
46
|
+
} & ComputeFormFieldBase<string>) | ({
|
|
47
|
+
widget: 'number';
|
|
48
|
+
} & ComputeFormFieldBase<number>) | ({
|
|
49
|
+
widget: 'boolean';
|
|
50
|
+
} & ComputeFormFieldBase<boolean>) | ({
|
|
51
|
+
widget: 'enum';
|
|
52
|
+
options: ComputeEnumOption[];
|
|
53
|
+
} & ComputeFormFieldBase<ComputeEnumOptionValue>);
|
|
54
|
+
type ComputeEnumFormField = Extract<ComputeFormField, {
|
|
55
|
+
widget: 'enum';
|
|
56
|
+
}>;
|
|
57
|
+
export interface ComputeFormSection {
|
|
58
|
+
title: string;
|
|
59
|
+
fields: ComputeFormField[];
|
|
60
|
+
}
|
|
61
|
+
export interface ComputeFormDescriptor {
|
|
62
|
+
label: string;
|
|
63
|
+
/** The field the others' `visible` predicates key off. */
|
|
64
|
+
leadField: ComputeEnumFormField;
|
|
65
|
+
sections: ComputeFormSection[];
|
|
66
|
+
}
|
|
67
|
+
export declare const getComputeFormFields: (descriptor: ComputeFormDescriptor) => ComputeFormField[];
|
|
68
|
+
export declare const getVisibleComputeFormSections: (descriptor: ComputeFormDescriptor, spec: SnowflakeComputeSpecification) => ComputeFormSection[];
|
|
69
|
+
/**
|
|
70
|
+
* Bring `spec` back in line with the descriptor after a mutation. Defaults
|
|
71
|
+
* apply only while a field is visible, and cleared values are not restored.
|
|
72
|
+
*/
|
|
73
|
+
export declare const reconcileComputeSpec: (descriptor: ComputeFormDescriptor, spec: SnowflakeComputeSpecification) => void;
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=ComputeFormDescriptor.d.ts.map
|
package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComputeFormDescriptor.d.ts","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEzE,2EAA2E;AAC3E,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,UAAU,oBAAoB,CAAC,MAAM;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,OAAO,EAAE,CAAC,IAAI,EAAE,6BAA6B,KAAK,OAAO,CAAC;IAC1D,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,GAAG,EAAE,CAAC,IAAI,EAAE,6BAA6B,KAAK,MAAM,GAAG,SAAS,CAAC;IACjE,GAAG,CAAC,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC3E;AAED,MAAM,MAAM,gBAAgB,GACxB,CAAC;IACC,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GACjC,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GACrD,CAAC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,GACvD,CAAC;IACC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAEtD,KAAK,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,GAC/B,YAAY,qBAAqB,KAChC,gBAAgB,EAGlB,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,YAAY,qBAAqB,EACjC,MAAM,6BAA6B,KAClC,kBAAkB,EAM8B,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,qBAAqB,EACjC,MAAM,6BAA6B,KAClC,IAsBF,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export const getComputeFormFields = (descriptor) => [
|
|
17
|
+
descriptor.leadField,
|
|
18
|
+
...descriptor.sections.flatMap((section) => section.fields),
|
|
19
|
+
];
|
|
20
|
+
export const getVisibleComputeFormSections = (descriptor, spec) => descriptor.sections
|
|
21
|
+
.map((section) => ({
|
|
22
|
+
title: section.title,
|
|
23
|
+
fields: section.fields.filter((field) => field.visible(spec)),
|
|
24
|
+
}))
|
|
25
|
+
.filter((section) => section.fields.length > 0);
|
|
26
|
+
/**
|
|
27
|
+
* Bring `spec` back in line with the descriptor after a mutation. Defaults
|
|
28
|
+
* apply only while a field is visible, and cleared values are not restored.
|
|
29
|
+
*/
|
|
30
|
+
export const reconcileComputeSpec = (descriptor, spec) => {
|
|
31
|
+
const fields = getComputeFormFields(descriptor);
|
|
32
|
+
// the bound is only to stop a descriptor whose predicates form a cycle
|
|
33
|
+
const maxPasses = fields.length + 1;
|
|
34
|
+
for (let pass = 0; pass < maxPasses; pass++) {
|
|
35
|
+
let changed = false;
|
|
36
|
+
for (const field of fields) {
|
|
37
|
+
const current = field.get(spec);
|
|
38
|
+
if (!field.visible(spec)) {
|
|
39
|
+
if (current !== undefined) {
|
|
40
|
+
field.set(spec, undefined);
|
|
41
|
+
changed = true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else if (current === undefined && field.defaultValue !== undefined) {
|
|
45
|
+
field.set(spec, field.defaultValue);
|
|
46
|
+
changed = true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (!changed) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=ComputeFormDescriptor.js.map
|
package/lib/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComputeFormDescriptor.js","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/compute/ComputeFormDescriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA4DH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,UAAiC,EACb,EAAE,CAAC;IACvB,UAAU,CAAC,SAAS;IACpB,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,UAAiC,EACjC,IAAmC,EACb,EAAE,CACxB,UAAU,CAAC,QAAQ;KAChB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D,CAAC,CAAC;KACF,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,UAAiC,EACjC,IAAmC,EAC7B,EAAE;IACR,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAChD,uEAAuE;IACvE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC3B,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACrE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,YAAqB,CAAC,CAAC;gBAC7C,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { type ComputeFormDescriptor } from './ComputeFormDescriptor.js';
|
|
17
|
+
export declare const SNOWFLAKE_COMPUTE_FORM_DESCRIPTOR: ComputeFormDescriptor;
|
|
18
|
+
//# sourceMappingURL=SnowflakeComputeFormDescriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnowflakeComputeFormDescriptor.d.ts","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/compute/SnowflakeComputeFormDescriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAoEpC,eAAO,MAAM,iCAAiC,EAAE,qBA8K/C,CAAC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { SnowflakeResourceConstraint, SnowflakeScalingPolicy, SnowflakeWarehouseSize, SnowflakeWarehouseType, } from '@finos/legend-graph';
|
|
17
|
+
import {} from './ComputeFormDescriptor.js';
|
|
18
|
+
import { snowflakeSpec_setAutoSuspend, snowflakeSpec_setComment, snowflakeSpec_setEnableQueryAcceleration, snowflakeSpec_setGeneration, snowflakeSpec_setMaxClusterCount, snowflakeSpec_setMaxConcurrencyLevel, snowflakeSpec_setMaxQueryPerformanceLevel, snowflakeSpec_setMinClusterCount, snowflakeSpec_setQueryAccelerationMaxScaleFactor, snowflakeSpec_setQueryThroughputMultiplier, snowflakeSpec_setResourceConstraint, snowflakeSpec_setScalingPolicy, snowflakeSpec_setStatementQueuedTimeoutInSeconds, snowflakeSpec_setStatementTimeoutInSeconds, snowflakeSpec_setWarehouseSize, snowflakeSpec_setWarehouseType, } from '../../../../graph-modifier/DSL_Compute_GraphModifierHelper.js';
|
|
19
|
+
const toEnumOptions = (values) => values.map((value) => ({ label: value, value }));
|
|
20
|
+
const WAREHOUSE_TYPE_OPTIONS = toEnumOptions(Object.values(SnowflakeWarehouseType));
|
|
21
|
+
const WAREHOUSE_SIZE_OPTIONS = toEnumOptions(Object.values(SnowflakeWarehouseSize));
|
|
22
|
+
const RESOURCE_CONSTRAINT_OPTIONS = toEnumOptions(Object.values(SnowflakeResourceConstraint));
|
|
23
|
+
const SCALING_POLICY_OPTIONS = toEnumOptions(Object.values(SnowflakeScalingPolicy));
|
|
24
|
+
const GENERATION_OPTIONS = [
|
|
25
|
+
{ label: '1', value: 1 },
|
|
26
|
+
{ label: '2', value: 2 },
|
|
27
|
+
];
|
|
28
|
+
/** Typed as a warehouse size; the engine rejects the two above `X4LARGE`. */
|
|
29
|
+
const MAX_QUERY_PERFORMANCE_LEVEL_OPTIONS = [
|
|
30
|
+
{ label: 'XSMALL', value: SnowflakeWarehouseSize.XSMALL },
|
|
31
|
+
{ label: 'SMALL', value: SnowflakeWarehouseSize.SMALL },
|
|
32
|
+
{ label: 'MEDIUM', value: SnowflakeWarehouseSize.MEDIUM },
|
|
33
|
+
{ label: 'LARGE', value: SnowflakeWarehouseSize.LARGE },
|
|
34
|
+
{ label: 'XLARGE', value: SnowflakeWarehouseSize.XLARGE },
|
|
35
|
+
{ label: 'XXLARGE', value: SnowflakeWarehouseSize.XXLARGE },
|
|
36
|
+
{ label: 'XXXLARGE', value: SnowflakeWarehouseSize.XXXLARGE },
|
|
37
|
+
{ label: 'X4LARGE', value: SnowflakeWarehouseSize.X4LARGE },
|
|
38
|
+
];
|
|
39
|
+
/** Safe because a field's options are drawn from that enum's members. */
|
|
40
|
+
const asEnumSetter = (setter) => (spec, value) => setter(spec, value);
|
|
41
|
+
const isAdaptive = (spec) => spec.warehouseType === SnowflakeWarehouseType.ADAPTIVE;
|
|
42
|
+
const isNotAdaptive = (spec) => !isAdaptive(spec);
|
|
43
|
+
export const SNOWFLAKE_COMPUTE_FORM_DESCRIPTOR = {
|
|
44
|
+
label: 'snowflake compute',
|
|
45
|
+
leadField: {
|
|
46
|
+
key: 'warehouseType',
|
|
47
|
+
label: 'Warehouse Type',
|
|
48
|
+
widget: 'enum',
|
|
49
|
+
options: WAREHOUSE_TYPE_OPTIONS,
|
|
50
|
+
// never absent: it decides which other properties are legal
|
|
51
|
+
defaultValue: SnowflakeWarehouseType.STANDARD,
|
|
52
|
+
visible: () => true,
|
|
53
|
+
get: (spec) => spec.warehouseType,
|
|
54
|
+
set: asEnumSetter(snowflakeSpec_setWarehouseType),
|
|
55
|
+
},
|
|
56
|
+
sections: [
|
|
57
|
+
{
|
|
58
|
+
title: 'Warehouse',
|
|
59
|
+
fields: [
|
|
60
|
+
{
|
|
61
|
+
key: 'warehouseSize',
|
|
62
|
+
label: 'Warehouse Size',
|
|
63
|
+
widget: 'enum',
|
|
64
|
+
options: WAREHOUSE_SIZE_OPTIONS,
|
|
65
|
+
visible: isNotAdaptive,
|
|
66
|
+
get: (spec) => spec.warehouseSize,
|
|
67
|
+
set: asEnumSetter(snowflakeSpec_setWarehouseSize),
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: 'generation',
|
|
71
|
+
label: 'Generation',
|
|
72
|
+
widget: 'enum',
|
|
73
|
+
options: GENERATION_OPTIONS,
|
|
74
|
+
visible: (spec) => spec.warehouseType === SnowflakeWarehouseType.STANDARD,
|
|
75
|
+
get: (spec) => spec.generation,
|
|
76
|
+
set: (spec, value) => snowflakeSpec_setGeneration(spec, value === undefined ? undefined : Number(value)),
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: 'resourceConstraint',
|
|
80
|
+
label: 'Resource Constraint',
|
|
81
|
+
widget: 'enum',
|
|
82
|
+
options: RESOURCE_CONSTRAINT_OPTIONS,
|
|
83
|
+
visible: (spec) => spec.warehouseType === SnowflakeWarehouseType.SNOWPARK_OPTIMIZED,
|
|
84
|
+
get: (spec) => spec.resourceConstraint,
|
|
85
|
+
set: asEnumSetter(snowflakeSpec_setResourceConstraint),
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
title: 'Cluster',
|
|
91
|
+
fields: [
|
|
92
|
+
{
|
|
93
|
+
key: 'minClusterCount',
|
|
94
|
+
label: 'Min Cluster Count',
|
|
95
|
+
widget: 'number',
|
|
96
|
+
visible: isNotAdaptive,
|
|
97
|
+
get: (spec) => spec.minClusterCount,
|
|
98
|
+
set: snowflakeSpec_setMinClusterCount,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
key: 'maxClusterCount',
|
|
102
|
+
label: 'Max Cluster Count',
|
|
103
|
+
widget: 'number',
|
|
104
|
+
visible: isNotAdaptive,
|
|
105
|
+
get: (spec) => spec.maxClusterCount,
|
|
106
|
+
set: snowflakeSpec_setMaxClusterCount,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
key: 'scalingPolicy',
|
|
110
|
+
label: 'Scaling Policy',
|
|
111
|
+
widget: 'enum',
|
|
112
|
+
options: SCALING_POLICY_OPTIONS,
|
|
113
|
+
visible: isNotAdaptive,
|
|
114
|
+
get: (spec) => spec.scalingPolicy,
|
|
115
|
+
set: asEnumSetter(snowflakeSpec_setScalingPolicy),
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
title: 'Adaptive Sizing',
|
|
121
|
+
fields: [
|
|
122
|
+
{
|
|
123
|
+
key: 'maxQueryPerformanceLevel',
|
|
124
|
+
label: 'Max Query Performance Level',
|
|
125
|
+
widget: 'enum',
|
|
126
|
+
options: MAX_QUERY_PERFORMANCE_LEVEL_OPTIONS,
|
|
127
|
+
visible: isAdaptive,
|
|
128
|
+
get: (spec) => spec.maxQueryPerformanceLevel,
|
|
129
|
+
set: asEnumSetter(snowflakeSpec_setMaxQueryPerformanceLevel),
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
key: 'queryThroughputMultiplier',
|
|
133
|
+
label: 'Query Throughput Multiplier',
|
|
134
|
+
widget: 'number',
|
|
135
|
+
visible: isAdaptive,
|
|
136
|
+
get: (spec) => spec.queryThroughputMultiplier,
|
|
137
|
+
set: snowflakeSpec_setQueryThroughputMultiplier,
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
title: 'Concurrency & Timeouts',
|
|
143
|
+
fields: [
|
|
144
|
+
{
|
|
145
|
+
key: 'maxConcurrencyLevel',
|
|
146
|
+
label: 'Max Concurrency Level',
|
|
147
|
+
widget: 'number',
|
|
148
|
+
visible: isNotAdaptive,
|
|
149
|
+
get: (spec) => spec.maxConcurrencyLevel,
|
|
150
|
+
set: snowflakeSpec_setMaxConcurrencyLevel,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
key: 'statementQueuedTimeoutInSeconds',
|
|
154
|
+
label: 'Statement Queued Timeout (seconds)',
|
|
155
|
+
widget: 'number',
|
|
156
|
+
visible: () => true,
|
|
157
|
+
get: (spec) => spec.statementQueuedTimeoutInSeconds,
|
|
158
|
+
set: snowflakeSpec_setStatementQueuedTimeoutInSeconds,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
key: 'statementTimeoutInSeconds',
|
|
162
|
+
label: 'Statement Timeout (seconds)',
|
|
163
|
+
widget: 'number',
|
|
164
|
+
visible: () => true,
|
|
165
|
+
get: (spec) => spec.statementTimeoutInSeconds,
|
|
166
|
+
set: snowflakeSpec_setStatementTimeoutInSeconds,
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
title: 'Advanced',
|
|
172
|
+
fields: [
|
|
173
|
+
{
|
|
174
|
+
key: 'autoSuspend',
|
|
175
|
+
label: 'Auto Suspend (seconds)',
|
|
176
|
+
widget: 'number',
|
|
177
|
+
visible: isNotAdaptive,
|
|
178
|
+
get: (spec) => spec.autoSuspend,
|
|
179
|
+
set: snowflakeSpec_setAutoSuspend,
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
key: 'comment',
|
|
183
|
+
label: 'Comment',
|
|
184
|
+
widget: 'text',
|
|
185
|
+
visible: () => true,
|
|
186
|
+
get: (spec) => spec.comment,
|
|
187
|
+
set: snowflakeSpec_setComment,
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
key: 'enableQueryAcceleration',
|
|
191
|
+
label: 'Query Acceleration',
|
|
192
|
+
widget: 'boolean',
|
|
193
|
+
// a checkbox is two-state: unchecked means `false`, never absent
|
|
194
|
+
defaultValue: false,
|
|
195
|
+
visible: isNotAdaptive,
|
|
196
|
+
get: (spec) => spec.enableQueryAcceleration,
|
|
197
|
+
set: snowflakeSpec_setEnableQueryAcceleration,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
key: 'queryAccelerationMaxScaleFactor',
|
|
201
|
+
label: 'Query Acceleration Max Scale Factor',
|
|
202
|
+
widget: 'number',
|
|
203
|
+
visible: (spec) => isNotAdaptive(spec) && spec.enableQueryAcceleration === true,
|
|
204
|
+
get: (spec) => spec.queryAccelerationMaxScaleFactor,
|
|
205
|
+
set: snowflakeSpec_setQueryAccelerationMaxScaleFactor,
|
|
206
|
+
},
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
};
|
|
211
|
+
//# sourceMappingURL=SnowflakeComputeFormDescriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnowflakeComputeFormDescriptor.js","sourceRoot":"","sources":["../../../../../../src/stores/editor/editor-state/element-editor-state/compute/SnowflakeComputeFormDescriptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
export declare const appDirComputeOwner_setProdParallel: (owner: AppDirComputeOwner, node: AppDirNode | undefined) => void;
|
|
16
|
+
export { appDirNode_setAppDirId, appDirOwner_setProdParallel, appDirOwner_setProduction, } from './DSL_DataProduct_GraphModifierHelper.js';
|
|
17
|
+
export * from './DSL_Compute_Snowflake_GraphModifierHelper.js';
|
|
19
18
|
//# sourceMappingURL=DSL_Compute_GraphModifierHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSL_Compute_GraphModifierHelper.d.ts","sourceRoot":"","sources":["../../../src/stores/graph-modifier/DSL_Compute_GraphModifierHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"DSL_Compute_GraphModifierHelper.d.ts","sourceRoot":"","sources":["../../../src/stores/graph-modifier/DSL_Compute_GraphModifierHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAElD,cAAc,gDAAgD,CAAC"}
|
|
@@ -13,11 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
});
|
|
20
|
-
export const appDirComputeOwner_setProdParallel = action((owner, node) => {
|
|
21
|
-
owner.prodParallel = node;
|
|
22
|
-
});
|
|
16
|
+
// Compute's owner is the same `AppDirOwner` DataProduct uses
|
|
17
|
+
export { appDirNode_setAppDirId, appDirOwner_setProdParallel, appDirOwner_setProduction, } from './DSL_DataProduct_GraphModifierHelper.js';
|
|
18
|
+
export * from './DSL_Compute_Snowflake_GraphModifierHelper.js';
|
|
23
19
|
//# sourceMappingURL=DSL_Compute_GraphModifierHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSL_Compute_GraphModifierHelper.js","sourceRoot":"","sources":["../../../src/stores/graph-modifier/DSL_Compute_GraphModifierHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"DSL_Compute_GraphModifierHelper.js","sourceRoot":"","sources":["../../../src/stores/graph-modifier/DSL_Compute_GraphModifierHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,6DAA6D;AAC7D,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAElD,cAAc,gDAAgD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-studio",
|
|
3
|
-
"version": "28.21.
|
|
3
|
+
"version": "28.21.42",
|
|
4
4
|
"description": "Legend Studio application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -47,21 +47,21 @@
|
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@dagrejs/dagre": "1.1.4",
|
|
50
|
-
"@finos/legend-application": "16.0.
|
|
51
|
-
"@finos/legend-art": "7.1.
|
|
52
|
-
"@finos/legend-code-editor": "2.0.
|
|
53
|
-
"@finos/legend-data-cube": "0.3.
|
|
54
|
-
"@finos/legend-extension-dsl-data-product": "0.0.
|
|
55
|
-
"@finos/legend-extension-dsl-diagram": "8.1.
|
|
56
|
-
"@finos/legend-graph": "32.6.
|
|
57
|
-
"@finos/legend-lego": "2.0.
|
|
58
|
-
"@finos/legend-query-builder": "4.19.
|
|
59
|
-
"@finos/legend-server-depot": "6.1.
|
|
60
|
-
"@finos/legend-server-lakehouse": "0.3.
|
|
61
|
-
"@finos/legend-server-sdlc": "5.4.
|
|
62
|
-
"@finos/legend-server-showcase": "0.2.
|
|
63
|
-
"@finos/legend-shared": "11.0.
|
|
64
|
-
"@finos/legend-storage": "3.0.
|
|
50
|
+
"@finos/legend-application": "16.0.123",
|
|
51
|
+
"@finos/legend-art": "7.1.163",
|
|
52
|
+
"@finos/legend-code-editor": "2.0.203",
|
|
53
|
+
"@finos/legend-data-cube": "0.3.121",
|
|
54
|
+
"@finos/legend-extension-dsl-data-product": "0.0.116",
|
|
55
|
+
"@finos/legend-extension-dsl-diagram": "8.1.267",
|
|
56
|
+
"@finos/legend-graph": "32.6.34",
|
|
57
|
+
"@finos/legend-lego": "2.0.223",
|
|
58
|
+
"@finos/legend-query-builder": "4.19.12",
|
|
59
|
+
"@finos/legend-server-depot": "6.1.20",
|
|
60
|
+
"@finos/legend-server-lakehouse": "0.3.83",
|
|
61
|
+
"@finos/legend-server-sdlc": "5.4.8",
|
|
62
|
+
"@finos/legend-server-showcase": "0.2.69",
|
|
63
|
+
"@finos/legend-shared": "11.0.28",
|
|
64
|
+
"@finos/legend-storage": "3.0.150",
|
|
65
65
|
"@testing-library/dom": "10.4.0",
|
|
66
66
|
"@testing-library/react": "16.2.0",
|
|
67
67
|
"@types/react": "19.0.10",
|
|
@@ -48,6 +48,7 @@ import {
|
|
|
48
48
|
LinkIcon,
|
|
49
49
|
PURE_DataProductIcon,
|
|
50
50
|
PURE_IngestIcon,
|
|
51
|
+
PURE_ComputeIcon,
|
|
51
52
|
} from '@finos/legend-art';
|
|
52
53
|
import { PACKAGEABLE_ELEMENT_TYPE } from '../stores/editor/utils/ModelClassifierUtils.js';
|
|
53
54
|
|
|
@@ -96,6 +97,8 @@ export const getElementTypeIcon = (
|
|
|
96
97
|
return <PURE_ConnectionIcon />;
|
|
97
98
|
case PACKAGEABLE_ELEMENT_TYPE._DATA_PRODUCT:
|
|
98
99
|
return <PURE_DataProductIcon />;
|
|
100
|
+
case PACKAGEABLE_ELEMENT_TYPE._COMPUTE:
|
|
101
|
+
return <PURE_ComputeIcon />;
|
|
99
102
|
case PACKAGEABLE_ELEMENT_TYPE.TEMPORARY__LOCAL_CONNECTION:
|
|
100
103
|
return <LinkIcon />;
|
|
101
104
|
case PACKAGEABLE_ELEMENT_TYPE.RUNTIME:
|
|
@@ -98,6 +98,8 @@ import { IngestDefinitionEditorState } from '../../../stores/editor/editor-state
|
|
|
98
98
|
import { IngestDefinitionEditor } from './ingest-editor/IngestDefinitionEditor.js';
|
|
99
99
|
import { AvailabilityEditorState } from '../../../stores/editor/editor-state/element-editor-state/availability/AvailabilityEditorState.js';
|
|
100
100
|
import { AvailabilityEditor } from './availability/AvailabilityEditor.js';
|
|
101
|
+
import { ComputeEditorState } from '../../../stores/editor/editor-state/element-editor-state/compute/ComputeEditorState.js';
|
|
102
|
+
import { ComputeEditor } from './compute-editor/ComputeEditor.js';
|
|
101
103
|
import {
|
|
102
104
|
MemSQLFunctionActivatorEditor,
|
|
103
105
|
MemSQLFunctionActivatorEdtiorState,
|
|
@@ -295,6 +297,8 @@ export const EditorGroup = observer(() => {
|
|
|
295
297
|
return <DataProductEditor key={currentTabState.uuid} />;
|
|
296
298
|
} else if (currentTabState instanceof AvailabilityEditorState) {
|
|
297
299
|
return <AvailabilityEditor key={currentTabState.uuid} />;
|
|
300
|
+
} else if (currentTabState instanceof ComputeEditorState) {
|
|
301
|
+
return <ComputeEditor key={currentTabState.uuid} />;
|
|
298
302
|
} else if (currentTabState instanceof PackageableRuntimeEditorState) {
|
|
299
303
|
return <PackageableRuntimeEditor key={currentTabState.uuid} />;
|
|
300
304
|
} else if (
|