292
293
getOrCreateActiveClient(session: URI, client: { readonly clientId: string; readonly displayName?: string }): IActiveClient {
295
>
let tools: readonly ToolDefinition[] = [];
296
>
let customizations: readonly ClientPluginCustomization[] = [];
297
>
return {
298
>
clientId: client.clientId,
299
>
displayName: client.displayName,
300
>
get tools() { return tools; },
301
>
set tools(value: readonly ToolDefinition[]) {
302
>
tools = value;
303
>
self.setClientToolsCalls.push({ clientId: client.clientId, tools: value });
304
>
},
305
>
get customizations() { return customizations; },
306
>
set customizations(value: readonly ClientPluginCustomization[]) {
307
>
customizations = value;
308
>
self.syncClientCustomizations(session, client.clientId, [...value]);
309
>
},
310
>
};
311
>
}
312
313
removeActiveClient(_session: URI, clientId: string): void {