Skip to content

Commit 2525ae8

Browse files
Merge pull request #2591 from github/robertbrignull/data-llm-section
Use AI to model just a single section
2 parents 8423c73 + 48ffca3 commit 2525ae8

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
</>
@@ -286,6 +300,7 @@ export function DataExtensionsEditor({
286300
mode={viewState?.mode ?? Mode.Application}
287301
onChange={onChange}
288302
onSaveModelClick={onSaveModelClick}
303+
onGenerateFromLlmClick={onGenerateFromLlmClick}
289304
/>
290305
</EditorContainer>
291306
</>

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

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ type Props = {
8383
externalApiUsages: ExternalApiUsage[],
8484
modeledMethods: Record<string, ModeledMethod>,
8585
) => void;
86+
onGenerateFromLlmClick: (
87+
externalApiUsages: ExternalApiUsage[],
88+
modeledMethods: Record<string, ModeledMethod>,
89+
) => void;
8690
};
8791

8892
export const LibraryRow = ({
@@ -94,6 +98,7 @@ export const LibraryRow = ({
9498
hasUnsavedChanges,
9599
onChange,
96100
onSaveModelClick,
101+
onGenerateFromLlmClick,
97102
}: Props) => {
98103
const modeledPercentage = useMemo(() => {
99104
return calculateModeledPercentage(externalApiUsages);
@@ -105,10 +110,14 @@ export const LibraryRow = ({
105110
setExpanded((oldIsExpanded) => !oldIsExpanded);
106111
}, []);
107112

108-
const handleModelWithAI = useCallback(async (e: React.MouseEvent) => {
109-
e.stopPropagation();
110-
e.preventDefault();
111-
}, []);
113+
const handleModelWithAI = useCallback(
114+
async (e: React.MouseEvent) => {
115+
onGenerateFromLlmClick(externalApiUsages, modeledMethods);
116+
e.stopPropagation();
117+
e.preventDefault();
118+
},
119+
[externalApiUsages, modeledMethods, onGenerateFromLlmClick],
120+
);
112121

113122
const handleModelFromSource = useCallback(async (e: React.MouseEvent) => {
114123
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
@@ -26,6 +26,10 @@ type Props = {
2626
externalApiUsages: ExternalApiUsage[],
2727
modeledMethods: Record<string, ModeledMethod>,
2828
) => void;
29+
onGenerateFromLlmClick: (
30+
externalApiUsages: ExternalApiUsage[],
31+
modeledMethods: Record<string, ModeledMethod>,
32+
) => void;
2933
};
3034

3135
export const ModeledMethodsList = ({
@@ -36,6 +40,7 @@ export const ModeledMethodsList = ({
3640
mode,
3741
onChange,
3842
onSaveModelClick,
43+
onGenerateFromLlmClick,
3944
}: Props) => {
4045
const grouped = useMemo(
4146
() => groupMethods(externalApiUsages, mode),
@@ -57,6 +62,7 @@ export const ModeledMethodsList = ({
5762
mode={mode}
5863
onChange={onChange}
5964
onSaveModelClick={onSaveModelClick}
65+
onGenerateFromLlmClick={onGenerateFromLlmClick}
6066
/>
6167
))}
6268
</>

0 commit comments

Comments
 (0)