Skip to content

Commit 48ffca3

Browse files
Use AI to model just a single section
1 parent dae74e8 commit 48ffca3

File tree

3 files changed

+36
-6
lines changed

3 files changed

+36
-6
lines changed

extensions/ql-vscode/src/view/data-extensions-editor/DataExtensionsEditor.tsx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,14 +185,28 @@ export function DataExtensionsEditor({
185185
});
186186
}, []);
187187

188-
const onGenerateFromLlmClick = useCallback(() => {
188+
const onGenerateAllFromLlmClick = useCallback(() => {
189189
vscode.postMessage({
190190
t: "generateExternalApiFromLlm",
191191
externalApiUsages,
192192
modeledMethods,
193193
});
194194
}, [externalApiUsages, modeledMethods]);
195195

196+
const onGenerateFromLlmClick = useCallback(
197+
(
198+
externalApiUsages: ExternalApiUsage[],
199+
modeledMethods: Record<string, ModeledMethod>,
200+
) => {
201+
vscode.postMessage({
202+
t: "generateExternalApiFromLlm",
203+
externalApiUsages,
204+
modeledMethods,
205+
});
206+
},
207+
[],
208+
);
209+
196210
const onOpenExtensionPackClick = useCallback(() => {
197211
vscode.postMessage({
198212
t: "openExtensionPack",
@@ -272,7 +286,7 @@ export function DataExtensionsEditor({
272286
</VSCodeButton>
273287
{viewState?.showLlmButton && (
274288
<>
275-
<VSCodeButton onClick={onGenerateFromLlmClick}>
289+
<VSCodeButton onClick={onGenerateAllFromLlmClick}>
276290
Generate using LLM
277291
</VSCodeButton>
278292
</>
@@ -285,6 +299,7 @@ export function DataExtensionsEditor({
285299
mode={viewState?.mode ?? Mode.Application}
286300
onChange={onChange}
287301
onSaveModelClick={onSaveModelClick}
302+
onGenerateFromLlmClick={onGenerateFromLlmClick}
288303
/>
289304
</EditorContainer>
290305
</>

extensions/ql-vscode/src/view/data-extensions-editor/LibraryRow.tsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ type Props = {
8181
externalApiUsages: ExternalApiUsage[],
8282
modeledMethods: Record<string, ModeledMethod>,
8383
) => void;
84+
onGenerateFromLlmClick: (
85+
externalApiUsages: ExternalApiUsage[],
86+
modeledMethods: Record<string, ModeledMethod>,
87+
) => void;
8488
};
8589

8690
export const LibraryRow = ({
@@ -91,6 +95,7 @@ export const LibraryRow = ({
9195
hasUnsavedChanges,
9296
onChange,
9397
onSaveModelClick,
98+
onGenerateFromLlmClick,
9499
}: Props) => {
95100
const modeledPercentage = useMemo(() => {
96101
return calculateModeledPercentage(externalApiUsages);
@@ -102,10 +107,14 @@ export const LibraryRow = ({
102107
setExpanded((oldIsExpanded) => !oldIsExpanded);
103108
}, []);
104109

105-
const handleModelWithAI = useCallback(async (e: React.MouseEvent) => {
106-
e.stopPropagation();
107-
e.preventDefault();
108-
}, []);
110+
const handleModelWithAI = useCallback(
111+
async (e: React.MouseEvent) => {
112+
onGenerateFromLlmClick(externalApiUsages, modeledMethods);
113+
e.stopPropagation();
114+
e.preventDefault();
115+
},
116+
[externalApiUsages, modeledMethods, onGenerateFromLlmClick],
117+
);
109118

110119
const handleModelFromSource = useCallback(async (e: React.MouseEvent) => {
111120
e.stopPropagation();

extensions/ql-vscode/src/view/data-extensions-editor/ModeledMethodsList.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ type Props = {
2424
externalApiUsages: ExternalApiUsage[],
2525
modeledMethods: Record<string, ModeledMethod>,
2626
) => void;
27+
onGenerateFromLlmClick: (
28+
externalApiUsages: ExternalApiUsage[],
29+
modeledMethods: Record<string, ModeledMethod>,
30+
) => void;
2731
};
2832

2933
export const ModeledMethodsList = ({
@@ -33,6 +37,7 @@ export const ModeledMethodsList = ({
3337
mode,
3438
onChange,
3539
onSaveModelClick,
40+
onGenerateFromLlmClick,
3641
}: Props) => {
3742
const grouped = useMemo(
3843
() => groupMethods(externalApiUsages, mode),
@@ -53,6 +58,7 @@ export const ModeledMethodsList = ({
5358
mode={mode}
5459
onChange={onChange}
5560
onSaveModelClick={onSaveModelClick}
61+
onGenerateFromLlmClick={onGenerateFromLlmClick}
5662
/>
5763
))}
5864
</>

0 commit comments

Comments
 (0)