mcp: remove optimistic initial resource completions (#250321)

Now that we publish , this is not something we should do in advance.
This commit is contained in:
Connor Peet
2025-06-02 10:30:30 -07:00
committed by GitHub
parent 00e6a9cfee
commit 985f0a5701

View File

@@ -125,12 +125,10 @@ export class McpResourcePickHelper {
quickInput.totalSteps = todo.length;
quickInput.ignoreFocusOut = true;
const initialCompletions = todo.map(variable => rt.complete(variable.name, '', {}, cts.token));
try {
for (let i = 0; i < todo.length; i++) {
const variable = todo[i];
const resolved = await this._promptForTemplateValue(quickInput, variable, initialCompletions[i], vars, rt);
const resolved = await this._promptForTemplateValue(quickInput, variable, vars, rt);
if (resolved === undefined) {
return undefined;
}
@@ -143,9 +141,9 @@ export class McpResourcePickHelper {
}
}
private _promptForTemplateValue(input: IQuickPick<IQuickPickItem>, variable: IUriTemplateVariable, initialCompletions: Promise<string[]>, variablesSoFar: Record<string, string | string[]>, rt: IMcpResourceTemplate): Promise<string | undefined> {
private _promptForTemplateValue(input: IQuickPick<IQuickPickItem>, variable: IUriTemplateVariable, variablesSoFar: Record<string, string | string[]>, rt: IMcpResourceTemplate): Promise<string | undefined> {
const store = new DisposableStore();
const completions = new Map<string, Promise<string[]>>([['', initialCompletions]]);
const completions = new Map<string, Promise<string[]>>([]);
const variablesWithPlaceholders = { ...variablesSoFar };
for (const variable of rt.template.components.flatMap(c => typeof c === 'object' ? c.variables : [])) {