@finos/legend-application-studio 28.21.46 → 28.21.48
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/__lib__/LegendStudioEvent.d.ts +8 -0
- package/lib/__lib__/LegendStudioEvent.d.ts.map +1 -1
- package/lib/__lib__/LegendStudioEvent.js +13 -0
- package/lib/__lib__/LegendStudioEvent.js.map +1 -1
- package/lib/__lib__/LegendStudioTelemetryHelper.d.ts +170 -6
- package/lib/__lib__/LegendStudioTelemetryHelper.d.ts.map +1 -1
- package/lib/__lib__/LegendStudioTelemetryHelper.js +116 -1
- package/lib/__lib__/LegendStudioTelemetryHelper.js.map +1 -1
- package/lib/components/editor/editor-group/LegendAISuggestTelemetryHooks.d.ts +30 -0
- package/lib/components/editor/editor-group/LegendAISuggestTelemetryHooks.d.ts.map +1 -0
- package/lib/components/editor/editor-group/LegendAISuggestTelemetryHooks.js +43 -0
- package/lib/components/editor/editor-group/LegendAISuggestTelemetryHooks.js.map +1 -0
- package/lib/components/editor/editor-group/RuntimeEditor.d.ts +4 -3
- package/lib/components/editor/editor-group/RuntimeEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/RuntimeEditor.js +90 -36
- package/lib/components/editor/editor-group/RuntimeEditor.js.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js +154 -35
- package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductQueryBuilderHelper.d.ts.map +1 -1
- package/lib/components/editor/editor-group/dataProduct/DataProductQueryBuilderHelper.js +4 -6
- package/lib/components/editor/editor-group/dataProduct/DataProductQueryBuilderHelper.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/ServiceEditor.js +31 -7
- package/lib/components/editor/editor-group/service-editor/ServiceEditor.js.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -1
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js +4 -8
- package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/editor/EditorStore.d.ts +2 -0
- package/lib/stores/editor/EditorStore.d.ts.map +1 -1
- package/lib/stores/editor/EditorStore.js +2 -0
- package/lib/stores/editor/EditorStore.js.map +1 -1
- package/lib/stores/editor/GraphEditFormModeState.d.ts.map +1 -1
- package/lib/stores/editor/GraphEditFormModeState.js +21 -10
- package/lib/stores/editor/GraphEditFormModeState.js.map +1 -1
- package/lib/stores/editor/LegendAISuggestTelemetry.d.ts +143 -0
- package/lib/stores/editor/LegendAISuggestTelemetry.d.ts.map +1 -0
- package/lib/stores/editor/LegendAISuggestTelemetry.js +376 -0
- package/lib/stores/editor/LegendAISuggestTelemetry.js.map +1 -0
- package/lib/stores/editor/LegendSQLStudioPlaygroundState.js +3 -3
- package/lib/stores/editor/LegendSQLStudioPlaygroundState.js.map +1 -1
- package/lib/stores/editor/editor-state/GraphGenerationState.d.ts +14 -3
- package/lib/stores/editor/editor-state/GraphGenerationState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/GraphGenerationState.js +33 -21
- package/lib/stores/editor/editor-state/GraphGenerationState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/RuntimeEditorState.d.ts +35 -6
- package/lib/stores/editor/editor-state/element-editor-state/RuntimeEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/RuntimeEditorState.js +74 -29
- package/lib/stores/editor/editor-state/element-editor-state/RuntimeEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts +1 -0
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js +5 -5
- package/lib/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts +12 -0
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js +60 -14
- package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js +2 -2
- package/lib/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.js +34 -15
- package/lib/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -1
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +3 -11
- package/lib/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -1
- package/lib/stores/editor/sidebar-state/BulkServiceRegistrationState.d.ts.map +1 -1
- package/lib/stores/editor/sidebar-state/BulkServiceRegistrationState.js +30 -2
- package/lib/stores/editor/sidebar-state/BulkServiceRegistrationState.js.map +1 -1
- package/lib/stores/editor/sidebar-state/LocalChangesState.d.ts.map +1 -1
- package/lib/stores/editor/sidebar-state/LocalChangesState.js +1 -0
- package/lib/stores/editor/sidebar-state/LocalChangesState.js.map +1 -1
- package/lib/stores/editor/sidebar-state/WorkflowManagerState.d.ts +1 -1
- package/lib/stores/editor/sidebar-state/WorkflowManagerState.d.ts.map +1 -1
- package/lib/stores/editor/sidebar-state/WorkflowManagerState.js +2 -12
- package/lib/stores/editor/sidebar-state/WorkflowManagerState.js.map +1 -1
- package/lib/stores/editor/utils/MockDataUtils.d.ts +12 -2
- package/lib/stores/editor/utils/MockDataUtils.d.ts.map +1 -1
- package/lib/stores/editor/utils/MockDataUtils.js +28 -28
- package/lib/stores/editor/utils/MockDataUtils.js.map +1 -1
- package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.d.ts +2 -0
- package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.js +13 -0
- package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.js.map +1 -1
- package/lib/stores/graph-modifier/DSL_LakehouseRuntime_GraphModifierHelper.d.ts +20 -2
- package/lib/stores/graph-modifier/DSL_LakehouseRuntime_GraphModifierHelper.d.ts.map +1 -1
- package/lib/stores/graph-modifier/DSL_LakehouseRuntime_GraphModifierHelper.js +38 -4
- package/lib/stores/graph-modifier/DSL_LakehouseRuntime_GraphModifierHelper.js.map +1 -1
- package/package.json +17 -17
- package/src/__lib__/LegendStudioEvent.ts +14 -0
- package/src/__lib__/LegendStudioTelemetryHelper.ts +277 -4
- package/src/components/editor/editor-group/LegendAISuggestTelemetryHooks.ts +57 -0
- package/src/components/editor/editor-group/RuntimeEditor.tsx +282 -132
- package/src/components/editor/editor-group/dataProduct/DataProductEditor.tsx +293 -106
- package/src/components/editor/editor-group/dataProduct/DataProductQueryBuilderHelper.ts +3 -13
- package/src/components/editor/editor-group/service-editor/ServiceEditor.tsx +41 -23
- package/src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx +5 -11
- package/src/index.ts +13 -0
- package/src/stores/editor/EditorStore.ts +3 -0
- package/src/stores/editor/GraphEditFormModeState.ts +31 -15
- package/src/stores/editor/LegendAISuggestTelemetry.ts +592 -0
- package/src/stores/editor/LegendSQLStudioPlaygroundState.ts +3 -3
- package/src/stores/editor/editor-state/GraphGenerationState.ts +48 -42
- package/src/stores/editor/editor-state/element-editor-state/RuntimeEditorState.ts +92 -31
- package/src/stores/editor/editor-state/element-editor-state/connection/DatabaseBuilderState.ts +6 -6
- package/src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts +75 -17
- package/src/stores/editor/editor-state/element-editor-state/function-activator/testable/FunctionTestableState.ts +2 -2
- package/src/stores/editor/editor-state/element-editor-state/service/ServiceRegistrationState.ts +41 -23
- package/src/stores/editor/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +12 -21
- package/src/stores/editor/sidebar-state/BulkServiceRegistrationState.ts +49 -6
- package/src/stores/editor/sidebar-state/LocalChangesState.ts +4 -0
- package/src/stores/editor/sidebar-state/WorkflowManagerState.ts +3 -12
- package/src/stores/editor/utils/MockDataUtils.ts +33 -32
- package/src/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.ts +18 -0
- package/src/stores/graph-modifier/DSL_LakehouseRuntime_GraphModifierHelper.ts +62 -7
- package/tsconfig.json +2 -0
|
@@ -0,0 +1,143 @@
|
|
|
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 EntityChange } from '@finos/legend-server-sdlc';
|
|
17
|
+
import { LEGENDAI_SUGGEST_ERROR_KIND, LEGENDAI_SUGGEST_STAGE, type LegendAISuggestDataProductApplyData, type LegendAISuggestIdentity, type LegendAISuggestTarget } from '../../__lib__/LegendStudioTelemetryHelper.js';
|
|
18
|
+
import type { EditorStore } from './EditorStore.js';
|
|
19
|
+
/**
|
|
20
|
+
* Normalized Levenshtein distance between two strings (0 = identical,
|
|
21
|
+
* 1 = completely different). Returns `undefined` when either string is too
|
|
22
|
+
* long to diff cheaply.
|
|
23
|
+
*/
|
|
24
|
+
export declare const computeLegendAISuggestEditRatio: (before: string, after: string) => number | undefined;
|
|
25
|
+
export declare const classifyLegendAISuggestError: (error: Error, stage: LEGENDAI_SUGGEST_STAGE) => {
|
|
26
|
+
errorKind: LEGENDAI_SUGGEST_ERROR_KIND;
|
|
27
|
+
httpStatus?: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Reads the current value of the text an applied suggestion wrote, looking the
|
|
31
|
+
* element up by path in the current graph (element instances do not survive
|
|
32
|
+
* graph rebuilds, so readers must not close over them). Returns
|
|
33
|
+
* `{ found: false }` when the target no longer exists.
|
|
34
|
+
*/
|
|
35
|
+
export type LegendAIAppliedTextReader = (editorStore: EditorStore) => {
|
|
36
|
+
found: false;
|
|
37
|
+
} | {
|
|
38
|
+
found: true;
|
|
39
|
+
text: string | undefined;
|
|
40
|
+
};
|
|
41
|
+
type LegendAIAppliedSuggestion = {
|
|
42
|
+
identity: LegendAISuggestIdentity;
|
|
43
|
+
appliedText: string;
|
|
44
|
+
appliedAt: number;
|
|
45
|
+
readCurrentText: LegendAIAppliedTextReader;
|
|
46
|
+
supersededApplyCount: number;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Remembers suggestions applied in this editor session until the element they
|
|
50
|
+
* touched is pushed, then reports whether the applied text survived
|
|
51
|
+
* (`editor.legendai-suggest.persisted`). Only the latest apply per target is
|
|
52
|
+
* kept; earlier ones are counted in `supersededApplyCount`.
|
|
53
|
+
*
|
|
54
|
+
* NOTE: tracking is keyed by element path, so an element renamed after the
|
|
55
|
+
* apply is not reported.
|
|
56
|
+
*/
|
|
57
|
+
export declare class LegendAIAppliedSuggestionRegistry {
|
|
58
|
+
private readonly appliedSuggestions;
|
|
59
|
+
get size(): number;
|
|
60
|
+
register(suggestion: Omit<LegendAIAppliedSuggestion, 'supersededApplyCount'>): void;
|
|
61
|
+
reportPushedChanges(editorStore: EditorStore, pushedChanges: EntityChange[]): void;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* A single suggestion request, returned by
|
|
65
|
+
* {@link LegendAISuggestTelemetryTracker.launch} and passed back when the
|
|
66
|
+
* request settles so late responses are still attributed correctly.
|
|
67
|
+
*/
|
|
68
|
+
export type LegendAISuggestRequest = {
|
|
69
|
+
readonly suggestionId: string;
|
|
70
|
+
readonly attempt: number;
|
|
71
|
+
readonly launchedAt: number;
|
|
72
|
+
readonly textAtLaunch: string | undefined;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Drives the `editor.legendai-suggest.*` lifecycle for one editor instance
|
|
76
|
+
* (one service editor, one dataspace home tab, one data product access point
|
|
77
|
+
* group) and keeps the legacy per-surface events firing alongside it.
|
|
78
|
+
*
|
|
79
|
+
* Lifecycle: `launch` → `succeed` | `fail` → `apply` | `discard`, with
|
|
80
|
+
* `dispose` reporting an `abandon` when the editor goes away while a request
|
|
81
|
+
* is pending or a suggestion is on screen.
|
|
82
|
+
*/
|
|
83
|
+
export declare class LegendAISuggestTelemetryTracker {
|
|
84
|
+
private readonly editorStore;
|
|
85
|
+
private target;
|
|
86
|
+
private attemptCount;
|
|
87
|
+
private pending;
|
|
88
|
+
private shown;
|
|
89
|
+
constructor(editorStore: EditorStore, target: LegendAISuggestTarget);
|
|
90
|
+
/**
|
|
91
|
+
* Keeps the target fresh (e.g. after an element or group rename) without
|
|
92
|
+
* resetting the attempt count.
|
|
93
|
+
*/
|
|
94
|
+
setTarget(target: LegendAISuggestTarget): void;
|
|
95
|
+
private get telemetryService();
|
|
96
|
+
private get sourceInfo();
|
|
97
|
+
private identity;
|
|
98
|
+
reportExposure(data: {
|
|
99
|
+
available: boolean;
|
|
100
|
+
isReadOnly: boolean;
|
|
101
|
+
}): void;
|
|
102
|
+
launch(data: {
|
|
103
|
+
existingText: string | undefined;
|
|
104
|
+
accessPointCount?: number | undefined;
|
|
105
|
+
}): LegendAISuggestRequest;
|
|
106
|
+
/**
|
|
107
|
+
* Records a LegendAI response. An empty suggestion is reported as a
|
|
108
|
+
* `failure` with `errorKind: empty-response` since nothing is shown.
|
|
109
|
+
*
|
|
110
|
+
* @returns whether the suggestion is non-empty and should be shown
|
|
111
|
+
*/
|
|
112
|
+
succeed(request: LegendAISuggestRequest, data: {
|
|
113
|
+
suggestionText: string | undefined;
|
|
114
|
+
definitionsLength: number;
|
|
115
|
+
currentText: string | undefined;
|
|
116
|
+
confidence?: number | undefined;
|
|
117
|
+
accessPointSuggestionCount?: number | undefined;
|
|
118
|
+
}): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Must be called before the caller decorates `error.message` (e.g. with the
|
|
121
|
+
* entitlement documentation link) so the raw server message is reported.
|
|
122
|
+
*/
|
|
123
|
+
fail(request: LegendAISuggestRequest, error: Error, stage: LEGENDAI_SUGGEST_STAGE): void;
|
|
124
|
+
apply(data: {
|
|
125
|
+
existingText: string | undefined;
|
|
126
|
+
appliedText: string;
|
|
127
|
+
readCurrentText: LegendAIAppliedTextReader;
|
|
128
|
+
dataProduct?: LegendAISuggestDataProductApplyData | undefined;
|
|
129
|
+
}): void;
|
|
130
|
+
discard(): void;
|
|
131
|
+
/**
|
|
132
|
+
* Call when the hosting editor unmounts. A request that settles afterwards
|
|
133
|
+
* still reports its `success` / `failure`, but is no longer shown.
|
|
134
|
+
*/
|
|
135
|
+
dispose(): void;
|
|
136
|
+
/**
|
|
137
|
+
* Per-surface events kept for backward compatibility with existing
|
|
138
|
+
* dashboards (`editor.<surface>.legendai-suggest.*`).
|
|
139
|
+
*/
|
|
140
|
+
private logLegacyEvent;
|
|
141
|
+
}
|
|
142
|
+
export {};
|
|
143
|
+
//# sourceMappingURL=LegendAISuggestTelemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendAISuggestTelemetry.d.ts","sourceRoot":"","sources":["../../../src/stores/editor/LegendAISuggestTelemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,376 @@
|
|
|
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 { NetworkClientError, uuid } from '@finos/legend-shared';
|
|
17
|
+
import { EntityChangeType } from '@finos/legend-server-sdlc';
|
|
18
|
+
import { LEGENDAI_SUGGEST_ABANDON_PHASE, LEGENDAI_SUGGEST_ERROR_KIND, LEGENDAI_SUGGEST_RETENTION, LEGENDAI_SUGGEST_STAGE, LEGENDAI_SUGGEST_SURFACE, LegendStudioTelemetryHelper, } from '../../__lib__/LegendStudioTelemetryHelper.js';
|
|
19
|
+
/**
|
|
20
|
+
* Edit ratios are computed with a full Levenshtein pass; skip it for texts
|
|
21
|
+
* longer than this so a push never pays for a quadratic diff on huge docs.
|
|
22
|
+
*/
|
|
23
|
+
const MAX_EDIT_RATIO_TEXT_LENGTH = 2000;
|
|
24
|
+
const isNonEmptyText = (text) => Boolean(text?.trim());
|
|
25
|
+
/**
|
|
26
|
+
* Normalized Levenshtein distance between two strings (0 = identical,
|
|
27
|
+
* 1 = completely different). Returns `undefined` when either string is too
|
|
28
|
+
* long to diff cheaply.
|
|
29
|
+
*/
|
|
30
|
+
export const computeLegendAISuggestEditRatio = (before, after) => {
|
|
31
|
+
if (before.length > MAX_EDIT_RATIO_TEXT_LENGTH ||
|
|
32
|
+
after.length > MAX_EDIT_RATIO_TEXT_LENGTH) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const maxLength = Math.max(before.length, after.length);
|
|
36
|
+
if (maxLength === 0) {
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
let previousRow = Array.from({ length: after.length + 1 }, (_, i) => i);
|
|
40
|
+
for (let i = 1; i <= before.length; i++) {
|
|
41
|
+
const currentRow = [i];
|
|
42
|
+
for (let j = 1; j <= after.length; j++) {
|
|
43
|
+
const substitutionCost = before[i - 1] === after[j - 1] ? 0 : 1;
|
|
44
|
+
currentRow[j] = Math.min(previousRow[j] + 1, currentRow[j - 1] + 1, previousRow[j - 1] + substitutionCost);
|
|
45
|
+
}
|
|
46
|
+
previousRow = currentRow;
|
|
47
|
+
}
|
|
48
|
+
return previousRow[after.length] / maxLength;
|
|
49
|
+
};
|
|
50
|
+
export const classifyLegendAISuggestError = (error, stage) => {
|
|
51
|
+
if (stage === LEGENDAI_SUGGEST_STAGE.SERIALIZE) {
|
|
52
|
+
return { errorKind: LEGENDAI_SUGGEST_ERROR_KIND.SERIALIZATION };
|
|
53
|
+
}
|
|
54
|
+
if (error instanceof NetworkClientError) {
|
|
55
|
+
const httpStatus = error.response.status;
|
|
56
|
+
if (httpStatus === 401 || httpStatus === 403) {
|
|
57
|
+
return { errorKind: LEGENDAI_SUGGEST_ERROR_KIND.ENTITLEMENT, httpStatus };
|
|
58
|
+
}
|
|
59
|
+
if (httpStatus >= 500) {
|
|
60
|
+
return { errorKind: LEGENDAI_SUGGEST_ERROR_KIND.SERVER, httpStatus };
|
|
61
|
+
}
|
|
62
|
+
if (httpStatus >= 400) {
|
|
63
|
+
return { errorKind: LEGENDAI_SUGGEST_ERROR_KIND.CLIENT, httpStatus };
|
|
64
|
+
}
|
|
65
|
+
return { errorKind: LEGENDAI_SUGGEST_ERROR_KIND.OTHER, httpStatus };
|
|
66
|
+
}
|
|
67
|
+
return { errorKind: LEGENDAI_SUGGEST_ERROR_KIND.OTHER };
|
|
68
|
+
};
|
|
69
|
+
const getTargetKey = (target) => [target.surface, target.elementPath, target.accessPointGroupId ?? ''].join('\u0000');
|
|
70
|
+
/**
|
|
71
|
+
* Remembers suggestions applied in this editor session until the element they
|
|
72
|
+
* touched is pushed, then reports whether the applied text survived
|
|
73
|
+
* (`editor.legendai-suggest.persisted`). Only the latest apply per target is
|
|
74
|
+
* kept; earlier ones are counted in `supersededApplyCount`.
|
|
75
|
+
*
|
|
76
|
+
* NOTE: tracking is keyed by element path, so an element renamed after the
|
|
77
|
+
* apply is not reported.
|
|
78
|
+
*/
|
|
79
|
+
export class LegendAIAppliedSuggestionRegistry {
|
|
80
|
+
appliedSuggestions = new Map();
|
|
81
|
+
get size() {
|
|
82
|
+
return this.appliedSuggestions.size;
|
|
83
|
+
}
|
|
84
|
+
register(suggestion) {
|
|
85
|
+
const key = getTargetKey(suggestion.identity);
|
|
86
|
+
const previous = this.appliedSuggestions.get(key);
|
|
87
|
+
this.appliedSuggestions.set(key, {
|
|
88
|
+
...suggestion,
|
|
89
|
+
supersededApplyCount: previous ? previous.supersededApplyCount + 1 : 0,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
reportPushedChanges(editorStore, pushedChanges) {
|
|
93
|
+
if (!this.appliedSuggestions.size) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const changeTypeByPath = new Map(pushedChanges.map((change) => [change.entityPath, change.type]));
|
|
97
|
+
const now = Date.now();
|
|
98
|
+
Array.from(this.appliedSuggestions.entries()).forEach(([key, suggestion]) => {
|
|
99
|
+
const changeType = changeTypeByPath.get(suggestion.identity.elementPath);
|
|
100
|
+
if (changeType === undefined) {
|
|
101
|
+
// not part of this push, keep waiting
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
this.appliedSuggestions.delete(key);
|
|
105
|
+
let retention;
|
|
106
|
+
let editRatio;
|
|
107
|
+
const current = changeType === EntityChangeType.DELETE
|
|
108
|
+
? { found: false }
|
|
109
|
+
: suggestion.readCurrentText(editorStore);
|
|
110
|
+
if (!current.found) {
|
|
111
|
+
retention = LEGENDAI_SUGGEST_RETENTION.ELEMENT_REMOVED;
|
|
112
|
+
}
|
|
113
|
+
else if (!isNonEmptyText(current.text)) {
|
|
114
|
+
retention = LEGENDAI_SUGGEST_RETENTION.CLEARED;
|
|
115
|
+
}
|
|
116
|
+
else if (current.text === suggestion.appliedText) {
|
|
117
|
+
retention = LEGENDAI_SUGGEST_RETENTION.UNCHANGED;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
retention = LEGENDAI_SUGGEST_RETENTION.EDITED;
|
|
121
|
+
editRatio = computeLegendAISuggestEditRatio(suggestion.appliedText, current.text);
|
|
122
|
+
}
|
|
123
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestPersisted(editorStore.applicationStore.telemetryService, editorStore.editorMode.getSourceInfo(), {
|
|
124
|
+
...suggestion.identity,
|
|
125
|
+
retention,
|
|
126
|
+
editRatio,
|
|
127
|
+
msSinceApply: now - suggestion.appliedAt,
|
|
128
|
+
supersededApplyCount: suggestion.supersededApplyCount,
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Drives the `editor.legendai-suggest.*` lifecycle for one editor instance
|
|
135
|
+
* (one service editor, one dataspace home tab, one data product access point
|
|
136
|
+
* group) and keeps the legacy per-surface events firing alongside it.
|
|
137
|
+
*
|
|
138
|
+
* Lifecycle: `launch` → `succeed` | `fail` → `apply` | `discard`, with
|
|
139
|
+
* `dispose` reporting an `abandon` when the editor goes away while a request
|
|
140
|
+
* is pending or a suggestion is on screen.
|
|
141
|
+
*/
|
|
142
|
+
export class LegendAISuggestTelemetryTracker {
|
|
143
|
+
editorStore;
|
|
144
|
+
target;
|
|
145
|
+
attemptCount = 0;
|
|
146
|
+
pending;
|
|
147
|
+
shown;
|
|
148
|
+
constructor(editorStore, target) {
|
|
149
|
+
this.editorStore = editorStore;
|
|
150
|
+
this.target = target;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Keeps the target fresh (e.g. after an element or group rename) without
|
|
154
|
+
* resetting the attempt count.
|
|
155
|
+
*/
|
|
156
|
+
setTarget(target) {
|
|
157
|
+
this.target = target;
|
|
158
|
+
}
|
|
159
|
+
get telemetryService() {
|
|
160
|
+
return this.editorStore.applicationStore.telemetryService;
|
|
161
|
+
}
|
|
162
|
+
get sourceInfo() {
|
|
163
|
+
return this.editorStore.editorMode.getSourceInfo();
|
|
164
|
+
}
|
|
165
|
+
identity(request) {
|
|
166
|
+
return {
|
|
167
|
+
...this.target,
|
|
168
|
+
suggestionId: request.suggestionId,
|
|
169
|
+
attempt: request.attempt,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
reportExposure(data) {
|
|
173
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestExposure(this.telemetryService, this.sourceInfo, { ...this.target, ...data });
|
|
174
|
+
}
|
|
175
|
+
launch(data) {
|
|
176
|
+
this.attemptCount += 1;
|
|
177
|
+
const request = {
|
|
178
|
+
suggestionId: uuid(),
|
|
179
|
+
attempt: this.attemptCount,
|
|
180
|
+
launchedAt: Date.now(),
|
|
181
|
+
textAtLaunch: data.existingText,
|
|
182
|
+
};
|
|
183
|
+
this.pending = request;
|
|
184
|
+
this.shown = undefined;
|
|
185
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestLaunched(this.telemetryService, this.sourceInfo, {
|
|
186
|
+
...this.identity(request),
|
|
187
|
+
hadExistingText: isNonEmptyText(data.existingText),
|
|
188
|
+
existingLength: data.existingText?.length ?? 0,
|
|
189
|
+
accessPointCount: data.accessPointCount,
|
|
190
|
+
});
|
|
191
|
+
this.logLegacyEvent('launch');
|
|
192
|
+
return request;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Records a LegendAI response. An empty suggestion is reported as a
|
|
196
|
+
* `failure` with `errorKind: empty-response` since nothing is shown.
|
|
197
|
+
*
|
|
198
|
+
* @returns whether the suggestion is non-empty and should be shown
|
|
199
|
+
*/
|
|
200
|
+
succeed(request, data) {
|
|
201
|
+
const isCurrent = this.pending === request;
|
|
202
|
+
if (isCurrent) {
|
|
203
|
+
this.pending = undefined;
|
|
204
|
+
}
|
|
205
|
+
const durationMs = Date.now() - request.launchedAt;
|
|
206
|
+
if (!isNonEmptyText(data.suggestionText)) {
|
|
207
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestFailure(this.telemetryService, this.sourceInfo, {
|
|
208
|
+
...this.identity(request),
|
|
209
|
+
durationMs,
|
|
210
|
+
stage: LEGENDAI_SUGGEST_STAGE.REQUEST,
|
|
211
|
+
errorKind: LEGENDAI_SUGGEST_ERROR_KIND.EMPTY_RESPONSE,
|
|
212
|
+
errorMessage: 'LegendAI returned an empty suggestion',
|
|
213
|
+
});
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestSucceeded(this.telemetryService, this.sourceInfo, {
|
|
217
|
+
...this.identity(request),
|
|
218
|
+
durationMs,
|
|
219
|
+
definitionsLength: data.definitionsLength,
|
|
220
|
+
suggestionLength: data.suggestionText.length,
|
|
221
|
+
confidence: data.confidence,
|
|
222
|
+
editedWhilePending: data.currentText !== request.textAtLaunch,
|
|
223
|
+
accessPointSuggestionCount: data.accessPointSuggestionCount,
|
|
224
|
+
});
|
|
225
|
+
if (isCurrent) {
|
|
226
|
+
this.shown = { request, shownAt: Date.now() };
|
|
227
|
+
}
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Must be called before the caller decorates `error.message` (e.g. with the
|
|
232
|
+
* entitlement documentation link) so the raw server message is reported.
|
|
233
|
+
*/
|
|
234
|
+
fail(request, error, stage) {
|
|
235
|
+
if (this.pending === request) {
|
|
236
|
+
this.pending = undefined;
|
|
237
|
+
}
|
|
238
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestFailure(this.telemetryService, this.sourceInfo, {
|
|
239
|
+
...this.identity(request),
|
|
240
|
+
durationMs: Date.now() - request.launchedAt,
|
|
241
|
+
stage,
|
|
242
|
+
...classifyLegendAISuggestError(error, stage),
|
|
243
|
+
errorMessage: error.message,
|
|
244
|
+
});
|
|
245
|
+
this.logLegacyEvent('failure', error.message);
|
|
246
|
+
}
|
|
247
|
+
apply(data) {
|
|
248
|
+
const shown = this.shown;
|
|
249
|
+
this.shown = undefined;
|
|
250
|
+
this.logLegacyEvent('apply');
|
|
251
|
+
if (!shown) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
const identity = this.identity(shown.request);
|
|
255
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestApplied(this.telemetryService, this.sourceInfo, {
|
|
256
|
+
...identity,
|
|
257
|
+
...data.dataProduct,
|
|
258
|
+
timeToDecisionMs: Date.now() - shown.shownAt,
|
|
259
|
+
hadExistingText: isNonEmptyText(data.existingText),
|
|
260
|
+
existingLength: data.existingText?.length ?? 0,
|
|
261
|
+
suggestionLength: data.appliedText.length,
|
|
262
|
+
});
|
|
263
|
+
if (!data.appliedText) {
|
|
264
|
+
// nothing was actually written, so there is nothing to follow to push
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
this.editorStore.legendAIAppliedSuggestionRegistry.register({
|
|
268
|
+
identity,
|
|
269
|
+
appliedText: data.appliedText,
|
|
270
|
+
appliedAt: Date.now(),
|
|
271
|
+
readCurrentText: data.readCurrentText,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
discard() {
|
|
275
|
+
const shown = this.shown;
|
|
276
|
+
this.shown = undefined;
|
|
277
|
+
this.logLegacyEvent('discard');
|
|
278
|
+
if (!shown) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestDiscarded(this.telemetryService, this.sourceInfo, {
|
|
282
|
+
...this.identity(shown.request),
|
|
283
|
+
timeToDecisionMs: Date.now() - shown.shownAt,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Call when the hosting editor unmounts. A request that settles afterwards
|
|
288
|
+
* still reports its `success` / `failure`, but is no longer shown.
|
|
289
|
+
*/
|
|
290
|
+
dispose() {
|
|
291
|
+
const now = Date.now();
|
|
292
|
+
if (this.pending) {
|
|
293
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestAbandoned(this.telemetryService, this.sourceInfo, {
|
|
294
|
+
...this.identity(this.pending),
|
|
295
|
+
phase: LEGENDAI_SUGGEST_ABANDON_PHASE.PENDING,
|
|
296
|
+
elapsedMs: now - this.pending.launchedAt,
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
else if (this.shown) {
|
|
300
|
+
LegendStudioTelemetryHelper.logEvent_LegendAISuggestAbandoned(this.telemetryService, this.sourceInfo, {
|
|
301
|
+
...this.identity(this.shown.request),
|
|
302
|
+
phase: LEGENDAI_SUGGEST_ABANDON_PHASE.SHOWN,
|
|
303
|
+
elapsedMs: now - this.shown.shownAt,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
this.pending = undefined;
|
|
307
|
+
this.shown = undefined;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Per-surface events kept for backward compatibility with existing
|
|
311
|
+
* dashboards (`editor.<surface>.legendai-suggest.*`).
|
|
312
|
+
*/
|
|
313
|
+
logLegacyEvent(action, errorMessage) {
|
|
314
|
+
const { telemetryService, sourceInfo } = this;
|
|
315
|
+
const path = this.target.elementPath;
|
|
316
|
+
switch (this.target.surface) {
|
|
317
|
+
case LEGENDAI_SUGGEST_SURFACE.SERVICE: {
|
|
318
|
+
switch (action) {
|
|
319
|
+
case 'launch':
|
|
320
|
+
LegendStudioTelemetryHelper.logEvent_ServiceLegendAISuggestLaunched(telemetryService, path, sourceInfo);
|
|
321
|
+
return;
|
|
322
|
+
case 'apply':
|
|
323
|
+
LegendStudioTelemetryHelper.logEvent_ServiceLegendAISuggestApplied(telemetryService, path, sourceInfo);
|
|
324
|
+
return;
|
|
325
|
+
case 'discard':
|
|
326
|
+
LegendStudioTelemetryHelper.logEvent_ServiceLegendAISuggestDiscarded(telemetryService, path, sourceInfo);
|
|
327
|
+
return;
|
|
328
|
+
case 'failure':
|
|
329
|
+
LegendStudioTelemetryHelper.logEvent_ServiceLegendAISuggestFailure(telemetryService, path, errorMessage ?? '', sourceInfo);
|
|
330
|
+
return;
|
|
331
|
+
default:
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
case LEGENDAI_SUGGEST_SURFACE.DATASPACE: {
|
|
336
|
+
switch (action) {
|
|
337
|
+
case 'launch':
|
|
338
|
+
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestLaunched(telemetryService, path, sourceInfo);
|
|
339
|
+
return;
|
|
340
|
+
case 'apply':
|
|
341
|
+
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestApplied(telemetryService, path, sourceInfo);
|
|
342
|
+
return;
|
|
343
|
+
case 'discard':
|
|
344
|
+
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestDiscarded(telemetryService, path, sourceInfo);
|
|
345
|
+
return;
|
|
346
|
+
case 'failure':
|
|
347
|
+
LegendStudioTelemetryHelper.logEvent_DataSpaceLegendAISuggestFailure(telemetryService, path, errorMessage ?? '', sourceInfo);
|
|
348
|
+
return;
|
|
349
|
+
default:
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
case LEGENDAI_SUGGEST_SURFACE.DATA_PRODUCT: {
|
|
354
|
+
switch (action) {
|
|
355
|
+
case 'launch':
|
|
356
|
+
LegendStudioTelemetryHelper.logEvent_DataProductLegendAISuggestLaunched(telemetryService, path, sourceInfo);
|
|
357
|
+
return;
|
|
358
|
+
case 'apply':
|
|
359
|
+
LegendStudioTelemetryHelper.logEvent_DataProductLegendAISuggestApplied(telemetryService, path, sourceInfo);
|
|
360
|
+
return;
|
|
361
|
+
case 'discard':
|
|
362
|
+
LegendStudioTelemetryHelper.logEvent_DataProductLegendAISuggestDiscarded(telemetryService, path, sourceInfo);
|
|
363
|
+
return;
|
|
364
|
+
case 'failure':
|
|
365
|
+
LegendStudioTelemetryHelper.logEvent_DataProductLegendAISuggestFailure(telemetryService, path, errorMessage ?? '', sourceInfo);
|
|
366
|
+
return;
|
|
367
|
+
default:
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
default:
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
//# sourceMappingURL=LegendAISuggestTelemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendAISuggestTelemetry.js","sourceRoot":"","sources":["../../../src/stores/editor/LegendAISuggestTelemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { assertErrorThrown, LogEvent, } from '@finos/legend-shared';
|
|
17
17
|
import { observable, makeObservable, flow, flowResult } from 'mobx';
|
|
18
|
-
import { V1_DataProductArtifact, DataProduct, IngestDefinition, TDSExecutionResult,
|
|
18
|
+
import { V1_DataProductArtifact, DataProduct, IngestDefinition, TDSExecutionResult, LakehouseBaseRuntime, GRAPH_MANAGER_EVENT, } from '@finos/legend-graph';
|
|
19
19
|
import { LegendSQLPlaygroundState, DEFAULT_SQL_TEXT, buildDefaultDataProductQuery, buildDefaultIngestQuery, QueryExecutionResult, } from '@finos/legend-query-builder';
|
|
20
20
|
const DATA_PRODUCT_ARTIFACT_EXTENSION = 'dataProduct';
|
|
21
21
|
export class LegendSQLStudioPlaygroundState extends LegendSQLPlaygroundState {
|
|
@@ -106,8 +106,8 @@ export class LegendSQLStudioPlaygroundState extends LegendSQLPlaygroundState {
|
|
|
106
106
|
this.editorStore.applicationStore.notificationService.notifyError(new Error('No runtime found in the graph'));
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
|
-
if (!(packageableRuntime.runtimeValue instanceof
|
|
110
|
-
this.editorStore.applicationStore.notificationService.notifyError(new Error('Runtime must be a
|
|
109
|
+
if (!(packageableRuntime.runtimeValue instanceof LakehouseBaseRuntime)) {
|
|
110
|
+
this.editorStore.applicationStore.notificationService.notifyError(new Error('Runtime must be a Lakehouse runtime'));
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
113
|
const runtime = packageableRuntime.runtimeValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendSQLStudioPlaygroundState.js","sourceRoot":"","sources":["../../../src/stores/editor/LegendSQLStudioPlaygroundState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,iBAAiB,EACjB,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAEL,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAGhB,kBAAkB,EAGlB,
|
|
1
|
+
{"version":3,"file":"LegendSQLStudioPlaygroundState.js","sourceRoot":"","sources":["../../../src/stores/editor/LegendSQLStudioPlaygroundState.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,8 +36,12 @@ export declare class DEPREACTED_GlobalFileGenerationState {
|
|
|
36
36
|
/**
|
|
37
37
|
* Generated file generations in the graph.
|
|
38
38
|
* NOTE: This method does not update graph and application only the files are generated.
|
|
39
|
+
*
|
|
40
|
+
* Errors are handled (logged + notified) here and returned rather than
|
|
41
|
+
* re-thrown so the caller can keep generating; the caller owns the
|
|
42
|
+
* `editor.generation.*` telemetry outcome.
|
|
39
43
|
*/
|
|
40
|
-
DEPREACTED_generateFiles(generationOutputIndex: Map<string, GenerationOutput[]>): GeneratorFn<
|
|
44
|
+
DEPREACTED_generateFiles(generationOutputIndex: Map<string, GenerationOutput[]>): GeneratorFn<Error | undefined>;
|
|
41
45
|
setFileGenerationConfigurations(fileGenerationConfigurations: GenerationConfigurationDescription[]): void;
|
|
42
46
|
getFileGenerationConfiguration(type: string): GenerationConfigurationDescription;
|
|
43
47
|
fetchAvailableFileGenerationDescriptions(): GeneratorFn<void>;
|
|
@@ -61,12 +65,19 @@ export declare class GraphGenerationState {
|
|
|
61
65
|
* is added, they will be added to the generation specification
|
|
62
66
|
*/
|
|
63
67
|
globalGenerate(): GeneratorFn<void>;
|
|
64
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Errors are handled (logged + notified) here and returned rather than
|
|
70
|
+
* re-thrown; see {@link GraphGenerationState.globalGenerate}.
|
|
71
|
+
*/
|
|
72
|
+
generateModels(): GeneratorFn<Error | undefined>;
|
|
65
73
|
/**
|
|
66
74
|
* Generated artifacts generations in graph
|
|
67
75
|
* NOTE: This method does not update graph and application only the files are generated.
|
|
76
|
+
*
|
|
77
|
+
* Errors are handled (logged + notified) here and returned rather than
|
|
78
|
+
* re-thrown; see {@link GraphGenerationState.globalGenerate}.
|
|
68
79
|
*/
|
|
69
|
-
generateArtifacts(): GeneratorFn<
|
|
80
|
+
generateArtifacts(): GeneratorFn<Error | undefined>;
|
|
70
81
|
processGenerationResult(artifacts: ArtifactGenerationExtensionResult, generationOutputIndex: Map<string, GenerationOutput[]>): void;
|
|
71
82
|
reprocessGenerationFileState(editorState: EditorState): EditorState | undefined;
|
|
72
83
|
reprocessNodeTree(generationResult: FileResult[], treeData: TreeData<FileSystemTreeNodeData>, openedNodeIds: string[]): TreeData<FileSystemTreeNodeData>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphGenerationState.d.ts","sourceRoot":"","sources":["../../../../src/stores/editor/editor-state/GraphGenerationState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EACL,KAAK,WAAW,EAMhB,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,gBAAgB,EAGrB,iCAAiC,EAKlC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAQ/D,OAAO,EACL,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,eAAe,EAKf,KAAK,UAAU,EAGhB,MAAM,iCAAiC,CAAC;AAOzC,eAAO,MAAM,qCAAqC,8BACrB,CAAC;AAE9B,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,oCAAoC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAGlC,4BAA4B,EAAE,kCAAkC,EAAE,CAAM;gBAGtE,oBAAoB,EAAE,oBAAoB,EAC1C,WAAW,EAAE,WAAW;IAc1B,IAAI,kCAAkC,IAAI,oBAAoB,EAAE,CAO/D;IAED,IAAI,sDAAsD,IAAI,kCAAkC,EAAE,CAkCjG;IAED
|
|
1
|
+
{"version":3,"file":"GraphGenerationState.d.ts","sourceRoot":"","sources":["../../../../src/stores/editor/editor-state/GraphGenerationState.ts"],"names":[],"mappings":"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"}
|