1824
}
1825
}
1827
>
let result: string | undefined;
1828
>
const disposables = new DisposableStore();
1829
>
try {
1830
>
await new Promise<void>(resolve => {
1831
>
const inputBox = disposables.add(this._quickInputService.createInputBox());
1832
>
inputBox.title = localize('configureLanguageModelGroup', "Group Name");
1833
>
inputBox.placeholder = localize('languageModelGroupName', "Enter a name for the group");
1834
>
inputBox.value = providerGroupName;
1835
>
inputBox.ignoreFocusOut = true;
1836
>
1837
>
disposables.add(inputBox.onDidChangeValue(value => {
1838
>
if (!value) {
1839
inputBox.validationMessage = localize('enterName', "Please enter a name");
1840
inputBox.severity = Severity.Error;
1841
return;
1842
}
1843
>
if (languageModelProviderGroups.some(group => group !== existing && group.vendor === vendor.vendor && group.name === value)) {
languageModels.ts
1844
inputBox.validationMessage = localize('nameExists', "A language models group with this name already exists");
1845
inputBox.severity = Severity.Error;
1846
return;
1847
}
1849
>
inputBox.severity = Severity.Ignore;
1850
>
}));
1851
>
disposables.add(inputBox.onDidAccept(async () => {
1852
>
result = inputBox.value;
1853
>
inputBox.hide();
1854
>
}));
1855
>
disposables.add(inputBox.onDidHide(() => resolve()));
1856
>
inputBox.show();
1857
>
});
1858
>
} finally {
1859
>
disposables.dispose();
1860
>
}
1861
>
return result;
1862
>
}
1863
1864
private async promptForConfiguration(groupName: string, configuration: IJSONSchema, existing: IStringDictionary<unknown> | undefined): Promise<IStringDictionary<unknown> | undefined> {