128
129
async reconcileMcpServerEnablement(desired: ReadonlyMap<string, boolean>): Promise<boolean> {
131
>
const observed = new Map((await query.mcpServerStatus()).map(server => [server.name, server.status !== 'disabled']));
132
>
for (const [serverName, enabled] of desired) {
133
>
if (observed.get(serverName) === enabled) {
134
>
continue;
135
>
}
136
>
if (!await this._applyMcpServerEnablement(query, serverName, enabled)) {
137
return false;
138
}
140
>
return true;
141
>
}
142
143
private async _applyMcpServerEnablement(query: Query, serverName: string, enabled: boolean): Promise<boolean> {
145
return false;
146
}
148
>
if (enabled) {
149
>
await query.reconnectMcpServer!(serverName);
150
>
}
151
>
return true;
152
>
}
153
154
/**